小编rho*_*ron的帖子

堆叠泛型

这是不好的做法吗?

ArrayList<ArrayList<ArrayList<Double>>> list = new ArrayList<ArrayList<ArrayList<Double>>>();
Run Code Online (Sandbox Code Playgroud)

java generics

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

使用混合数据保存numpy数组

我有一个numpy数组,其中每个值都是一个浮点后跟一个整数,例如:

my_array = numpy.array([0.4324321, 0, 0.9437212, 1, 0.4738721, 0, 0.49327321, 0])
Run Code Online (Sandbox Code Playgroud)

我想像这样保存它:

0.4324321 0 0.9437212 1 0.4738721 0 0.49327321 0
Run Code Online (Sandbox Code Playgroud)

但如果我打电话:

numpy.savetxt('output.dat',my_array,fmt='%f %i')
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

AttributeError: fmt has wrong number of % formats.  %f %i
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

python io numpy

8
推荐指数
1
解决办法
8974
查看次数

将不同列的大数据文件合并为一个大文件

我有 N 个制表符分隔的文件。每个文件都有一个标题行,说明列的名称。某些列对于所有文件是通用的,但有些列是唯一的。

我想将所有文件合并成一个包含所有相关标题的大文件。

例子:

> cat file1.dat
a b c
5 7 2
3 9 1

> cat file2.dat
a b e f
2 9 8 3
2 8 3 3
1 0 3 2

> cat file3.dat
a c d g
1 1 5 2

> merge file*.dat
a b c d e f g
5 7 2 - - - -
3 9 1 - - - -
2 9 - - 8 3 -
2 8 …
Run Code Online (Sandbox Code Playgroud)

bash awk r dataframe

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

实现自定义scikit-learn估算器的完整规范是什么?

我正在使用我自己的预测器,并希望像使用任何scikit例程(例如RandomForestRegressor)一样使用它.我有一个类fit和包含predict似乎工作正常的方法.但是,当我尝试使用某些scikit方法时,例如交叉验证,我会收到如下错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python27\lib\site-packages\sklearn\cross_validation.py", line 1152, in cross_val_
score
    for train, test in cv)
  File "C:\Python27\lib\site-packages\sklearn\externals\joblib\parallel.py", line 516, in __
call__
    for function, args, kwargs in iterable:
  File "C:\Python27\lib\site-packages\sklearn\cross_validation.py", line 1152, in <genexpr>
    for train, test in cv)
  File "C:\Python27\lib\site-packages\sklearn\base.py", line 43, in clone
    % (repr(estimator), type(estimator)))
TypeError: Cannot clone object '<__main__.Custom instance at 0x033A6990>' (type <type 'inst
ance'>): it does not seem to be a …
Run Code Online (Sandbox Code Playgroud)

python scikit-learn

7
推荐指数
1
解决办法
6044
查看次数

当输入大小不同时,如何进行机器学习?

在标准的食谱机器学习中,我们在矩形矩阵上操作; 也就是说,我们所有的数据点都具有相同数量的功能.我们如何应对所有数据点具有不同数量的特征的情况?例如,如果我们想要进行视觉分类,但我们所有的图片都有不同的维度,或者我们想要进行情感分析,但我们所有的句子都有不同的单词数量,或者我们想要进行恒星分类但是已观察到恒星的次数不同等.

我认为通常的方法是从这些不规则大小的数据中提取常规大小的特征.但是我最近参加了一个关于深度学习的演讲,演讲者强调说,深度学习者不是手工制作数据中的特征,而是能够自己学习相应的特征.但是,如果输入层不是固定大小,我们如何使用例如神经网络?

machine-learning neural-network deep-learning

7
推荐指数
1
解决办法
3604
查看次数

java中的高效排列算法

我正在尝试编写一种方法来计算订单重要的电源组的所有排列.我相信这些被称为"安排".我的意思是:

{a} -> {{a}, {}}
{a,b} -> {{a,b}, {b,a}, {a}, {b}, {}}
{a,b,c} -> {{a,b,c}, {a,c,b}, {b,a,c}, {b,c,a}, {c,a,b}, {c,b,a}, {a,b}, {a,c}, {b,a}, {b,c}, {c,a}, {c,b}, {a}, {b}, {c}, {}}
Run Code Online (Sandbox Code Playgroud)

我的印象是,给定一个集合S,我应该生成S的powerset的每个子集的每个排列.所以首先生成powerset,然后将置换函数映射到每个集合上.

问题是这非常复杂 - 类似O(Σn!/ k!),k = 0..n.

我想知道是否有任何现有算法可以非常有效地执行此类操作(可能是并行实现).或者即使存在并行powerset算法并且存在并行置换算法,我也可以将两者结合起来.

思考?

java permutation set combinatorics powerset

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

Matplotlib 在保存许多绘图后崩溃

我正在循环绘制并保存数千个文件以供以后的动画使用,如下所示:

import matplotlib.pyplot as plt
for result in results:
    plt.figure()
    plt.plot(result)                     # this changes
    plt.xlabel('xlabel')                 # this doesn't change
    plt.ylabel('ylabel')                 # this doesn't change
    plt.title('title')                   # this changes
    plt.ylim([0,1])                      # this doesn't change
    plt.grid(True)                       # this doesn't change
    plt.savefig(location, bbox_inches=0) # this changes
Run Code Online (Sandbox Code Playgroud)

当我运行它并获得大量结果时,它会在保存数千个图后崩溃。我想我想做的是重用我的轴,就像这个答案一样: https: //stackoverflow.com/a/11688881/354979,但我不明白如何。我该如何优化它?

python matplotlib

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

扩展RColorBrewer以支持更多颜色?

RColorBrewer允许您获得少量视觉上令人愉悦的颜色,如下所示:

> library(RColorBrewer)
> brewer.pal(11, "Spectral")
 [1] "#9E0142" "#D53E4F" "#F46D43" "#FDAE61" "#FEE08B" "#FFFFBF" "#E6F598"
 [8] "#ABDDA4" "#66C2A5" "#3288BD" "#5E4FA2"
Run Code Online (Sandbox Code Playgroud)

但是如果你要求超过这个金额,他们只会给你相同的最大金额:

> brewer.pal(12, "Spectral")
 [1] "#9E0142" "#D53E4F" "#F46D43" "#FDAE61" "#FEE08B" "#FFFFBF" "#E6F598"
 [8] "#ABDDA4" "#66C2A5" "#3288BD" "#5E4FA2"
Warning message:
In brewer.pal(12, "Spectral") :
  n too large, allowed maximum for palette Spectral is 11
Returning the palette you asked for with that many colors
Run Code Online (Sandbox Code Playgroud)

如果提供更大的数字,是否可以获得更多的颜色(可能通过在最远的颜色之间插值)?

r colors

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

如何从 sklearn GridSearchCV 获取 MSE 和 R2?

我可以在管道上使用 GridSearchCV 并将评分指定为'MSE''R2'。然后我可以访问gridsearchcv._best_score以恢复我指定的那个。如何获得 GridSearchCV 找到的解决方案的其他分数?

如果我使用另一个评分参数再次运行 GridSearchCV,它可能找不到相同的解决方案,因此它报告的分数可能与我们拥有第一个值的模型不对应。

也许我可以提取参数并将它们提供给新管道,然后cross_val_score使用新管道运行?有没有更好的办法?谢谢。

python statistics machine-learning scikit-learn

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

从 matplotlib 调色板中删除白色或浅色

matplotlib调色板通常采用白色或非常浅的颜色,这些颜色在散点图或线图上显示效果不佳。

我正在制作一个我使用的情节

norm = mpl.colors.Normalize(vmin=0, vmax=1)
cmap = mpl.cm.ScalarMappable(norm=norm, cmap=mpl.cm.Blues)
plt.plot(x, y, c=cmap.to_rgba(z))
cbar = plt.colorbar(cmap)
Run Code Online (Sandbox Code Playgroud)

绘制许多线条。我想修改调色板以删除前 30% 的颜色。如何才能实现这一目标?


我的解决方案相当糟糕,是将其中两行修改如下:

norm = mpl.colors.Normalize(vmin=-0.4, vmax=1)
cbar = plt.colorbar(cmap, boundaries=[0,0.2,0.4,0.6,0.8,1])
Run Code Online (Sandbox Code Playgroud)

python matplotlib

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