小编Joe*_*e B的帖子

如何仅从直方图值创建KDE?

我有一组要绘制高斯核密度估计值的值,但是我遇到两个问题:

  1. 我只有条形图的值而不是值本身
  2. 我正在绘制分类轴

这是我到目前为止生成的图: 直方图 y轴的顺序实际上是相关的,因为它代表每种细菌物种的系统发育。

我想为每种颜色添加一个高斯kde叠加层,但是到目前为止,我还无法利用seaborn或scipy做到这一点。

这是上面使用python和matplotlib分组的条形图的代码:

enterN = len(color1_plotting_values)
fig, ax = plt.subplots(figsize=(20,30))
ind = np.arange(N)    # the x locations for the groups
width = .5         # the width of the bars
p1 = ax.barh(Species_Ordering.Species.values, color1_plotting_values, width, label='Color1', log=True)
p2 = ax.barh(Species_Ordering.Species.values, color2_plotting_values, width, label='Color2', log=True)
for b in p2:
    b.xy = (b.xy[0], b.xy[1]+width)
Run Code Online (Sandbox Code Playgroud)

谢谢!

python numpy matplotlib scipy kernel-density

6
推荐指数
1
解决办法
729
查看次数

如何加快 6,100,000 个特征的递归特征消除速度?

我试图从 sklearn 中相当大的一组特征(~6,100,000)中获取特征的排名。这是我迄今为止的代码:

train, test = train_test_split(rows, test_size=0.2, random_state=310)
train, val = train_test_split(train, test_size=0.25, random_state=310)
train_target = [i[-1] for i in train]

svc = SVC(verbose=5, random_state=310, kernel='linear')
svc.fit([i[1:-1] for i in train], train_target)

model=svc
rfe = RFE(model, verbose=5, step=1, n_features_to_select=1)
rfe.fit([i[1:-1] for i in train], train_target)
rank = rfe.ranking_
Run Code Online (Sandbox Code Playgroud)

模型的每次训练大约需要 10 分钟。对于 6,100,000 个特征,这意味着数十年的计算时间。实际上115.9岁。有更好的方法来做到这一点吗?我知道 rfe 需要最后一次淘汰的结果,但是有什么方法可以通过并行化或以不同的方式获得排名来加快速度吗?我可以使用数千个节点(感谢我工作的公司!),所以任何类型的并行性都很棒!

我确实有线性 SVM 超平面的列表系数。排序这些很容易,但是正在这样做的论文将由斯坦福大学数据科学教授审阅,他对使用非排名算法进行排名持强烈保留态度......以及非斯坦福大学校友,例如我。:P

我可以采用更大的值step,但这会消除对所有功能进行实际排名的能力。相反,我会对 100,000 或 10,000 个功能的组进行排名,但这并不是很有帮助。

编辑:nSV 可能有用,所以我将其包含在下面:

obj = -163.983323, rho = -0.999801
nSV = 182, nBSV …
Run Code Online (Sandbox Code Playgroud)

machine-learning svm scikit-learn rfe

6
推荐指数
1
解决办法
4450
查看次数

多变量梯度下降

我正在学习gradient descent计算系数。以下是我在做什么:

#!/usr/bin/Python

 import numpy as np


   # m denotes the number of examples here, not the number of features
 def gradientDescent(x, y, theta, alpha, m, numIterations):
     xTrans = x.transpose()
     for i in range(0, numIterations):
        hypothesis = np.dot(x, theta)
        loss = hypothesis - y
        # avg cost per example (the 2 in 2*m doesn't really matter here.
        # But to be consistent with the gradient, I include it)
        cost = np.sum(loss ** 2) / (2 * m)
        #print("Iteration …
Run Code Online (Sandbox Code Playgroud)

python machine-learning linear-regression gradient-descent

5
推荐指数
1
解决办法
3444
查看次数

如何在 PIL 中选择与图像边缘相邻的所有黑色像素?

我有一组培养皿图像,不幸的是,它们的质量不是最高的(下面的示例,轴不是图像的一部分)。 菜1 我正在尝试选择背景并使用以下命令计算其面积(以像素为单位):

image = Image.open(path)
black_image = 1 * (np.asarray(image.convert('L')) < 12)
black_region = black_image.sum()
Run Code Online (Sandbox Code Playgroud)

这会产生以下结果:

在此输入图像描述

如果我对黑色像素的选择更严格,我会错过其他图像中的像素,如果我更宽松,我最终会选择太多的培养皿本身。有没有办法只能选择亮度值小于 12 并且与边缘相邻的像素?我也对 openCV 解决方案持开放态度。

python opencv image-processing computer-vision python-imaging-library

5
推荐指数
1
解决办法
3683
查看次数

如何从不等长列表的字典中创建虚拟数据框?

我有一个字典,其中每个键都是一个行索引,每个值都是一个虚拟值列表。例如:

my_dict = {'row1': ['a', 'b'], 'row2': ['a'], 'row3': ['b', 'c']}
Run Code Online (Sandbox Code Playgroud)

我可以用上述方法有效地创建一个虚拟数据框吗?

>>> df
      a      b      c
row1  True   True   False
row2  True   False  False
row3  False  True   True
Run Code Online (Sandbox Code Playgroud)

python pandas dummy-variable

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

如何将matplotlib图形导出为带有可编辑文本字段的矢量图形?

我试图导出多个图以在Adobe Illustrator中进行编辑,并且试图将标题,轴标签和条形图标签设置为单独的文本字段。即,如果我在Illustrator(或您选择的编辑器)中单击标题,则整个标题都是其自己的字段。

这是我不带文本字段的矢量图形导出方式:

plt.bar(x_data, y_data)
plt.title('Fancy Title')
plt.xlabel('Informative X label')
plt.ylabel('Felicitous Y label')
plt.draw()
fig.savefig(savepath, bbox_inches='tight', format='svg')
plt.show()
Run Code Online (Sandbox Code Playgroud)

这样会输出漂亮的矢量图形,但是我无法将文本编辑为字段。我可以通过文本转换软件来运行它,但是这样可以稍微移动文本,使所有内容都消失,而字体检测只能由软件来完成。

python matplotlib

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

如何从链接获取文件大小而不用在 python 中下载它?

我有一个链接列表,我试图获取其大小以确定每个文件需要多少计算资源。是否可以通过 get 请求或类似的东西来获取文件大小?

以下是其中一个链接的示例:https : //sra-download.ncbi.nlm.nih.gov/traces/sra46/SRR/005150/SRR5273887

谢谢

python get

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

如何在seaborn的条形图中的误差条上绘制标准误差?

我有一个很好的图形,它用通用代码绘制如下:

import seaborn as sns
sns.barplot(data=df, x='X', y='y', hue='HUE', capsize=.1)
Run Code Online (Sandbox Code Playgroud)

默认情况下,误差条显示 95% 置信区间(我认为)。有没有办法可以轻松地将它们更改为标准错误?

在此处输入图片说明

python plot matplotlib seaborn

0
推荐指数
2
解决办法
3306
查看次数