小编Daw*_*wid的帖子

是否可以使用字符串元素作为sklearn中的输入?

我正在尝试使用 sklearn 分析我的数据,看看元素之间是否存在某种相关性。我的数据集是一个短的蛋白质基序,其序列非常多样化。我的输入如下所示:

  1p 2p 3p 4p 5p               genus
0  T  V  H  F  K  Enterobacteriaceae
1  T  V  M  F  M         Escherichia
2  E  I  H  V  K  Enterobacteriaceae
3  K  L  M  F  K  Enterobacteriaceae
Run Code Online (Sandbox Code Playgroud)

位置 1-5 有 20 个不同的字母可能性。

我想使用与 sklearn Iris 集所示类似的方法来检查不同位置的氨基酸和细菌属之间的依赖性。换句话说,我想看看字母序列是否特定于属,以及单个位置的字母是否与其他位置的字母有某种关系。

问题是,据我所知,只有数字可以用作 sklearn 的输入。我尝试用数字代替字母:每个字母从 1e-10 到 1e10,但后来我在数据可视化方面遇到了问题。我希望有其他更有效的方法来使用此类输入数据。我将非常感谢一些提示。谢谢!

python import data-visualization bioinformatics scikit-learn

3
推荐指数
1
解决办法
3000
查看次数

使用scikit-image搜索所有模板

我正在尝试遵循scikit-image中有关模板匹配的教程(在此处检查)。模板匹配

仅使用此示例,我想找到图像中所有匹配的硬币(最大值),而不仅仅是得分最高的硬币。我在考虑使用:

maxima = argrelextrema(result, np.greater)
Run Code Online (Sandbox Code Playgroud)

但是问题在于它还发现了很小的局部最大值,这只是一种噪声。有什么办法可以筛选numpy数组并找到最强的最大值?谢谢!

python numpy image image-processing scikit-image

2
推荐指数
1
解决办法
982
查看次数

用python计算图像径向平均值的最佳方法是什么?

我有一个方形图像,例如这个:

Scipy 硬币演示图像

我想从位置(0,0)计算每个半径的图像的一维平均值。我已经编写了一些代码来做到这一点,但首先它即使对于小图像也很慢,其次我看到它背后的想法也存在一些问题。代码在这里:

import matplotlib.pyplot as plt
import numpy as np
import collections
from skimage import data

image = data.coins()
image = image[:,0:303]
print(image.shape)

projection = {}
total_count = {}

for x_i,x in enumerate(image):
    for y_i,y in enumerate(x):
        if round(np.sqrt(x_i**2+y_i**2),1) not in projection:
            projection[round(np.sqrt(x_i**2+y_i**2),1)] = y
            total_count[round(np.sqrt(x_i**2+y_i**2),1)] = 1
        elif np.sqrt(round(np.sqrt(x_i**2+y_i**2),1)) in projection:
            projection[round(np.sqrt(x_i**2+y_i**2),1)] += y
            total_count[round(np.sqrt(x_i ** 2 + y_i ** 2), 1)] += 1

od = collections.OrderedDict(sorted(projection.items()))
x, y = [],[]

for k, v in od.items():
    x.append(k)
    y.append(v/total_count[k])

plt.plot(x,y) …
Run Code Online (Sandbox Code Playgroud)

python algorithm average image matplotlib

2
推荐指数
1
解决办法
4679
查看次数