小编max*_*moo的帖子

高斯过程(scikit-learn)预测置信区间奇数

我正在做一些粒子物理分析,希望有人可以给我一些关于高斯过程拟合的见解,我试图用来推断一些数据.

我有不确定性的数据,我正在参与scikit-learn GaussianProcess算法.我通过"nugget"参数包含了uncertanties(我的实现匹配一个标准示例,其中我的"corr"是指数的平方,"nugget"值设置为(dy/y)**2).主要关注点是:我在分布的边缘处具有较低的绝对不确定性(但是高分数不确定性),这产生了比该区域中预期的更大的预测置信区间(参见下图).

数据点和GP回归

不确定性以这种方式表现的原因是我正在处理粒子物理数据,这是用不同特征(x)值观察到的粒子计数的直方图.这些计数遵循泊松分布,因此具有sqrt(N)的不确定性(标准偏差).因此,分布的较高计数区域具有较高的绝对值,但较低的分数不确定性,反之亦然,对于低计数区域.

我理解,正如我所提到的,当使用平方指数内核时,此函数中的"nugget"参数应具有(分数不确定性)**2的值.所以有意义的是,如果预测的不确定性是基于输入的分数不确定性,那么它在边缘上可能很大.但是我并不完全理解这在数学中如何发挥作用,并且预测不确定性的大小比边缘的数据点不确定性大得多,这对我来说似乎是错误的.

谁能评论这里发生了什么?这是否符合预期?如果是这样,为什么?任何有关该主题的进一步阅读的想法或参考将不胜感激!

我会给你留下几个重要的警告:

1)在分布的边缘有几个数据点,零计数.这引发了"金块"的分数不确定性的扭结,因为(sqrt(0)/ 0)**2不是一个非常幸福的值.我在这里做了一个调整,只是将这些点的金块值设置为1.0,这相当于你得到的值,如果这是1的数量.我相信这是一个常见的近似值确实影响了手头的问题,但我不知道我认为它从根本上改变了这个问题.

2)我正在使用的数据实际上是2d直方图(即,一个独立变量(比如x),另一个(y)和计数作为因变量(z)).所示的图是2d数据和预测的1d切片(即z与x在小范围的y上积分).我不认为这真的会影响到手头的问题,但我想我会提到它.

python uncertainty confidence-interval scikit-learn

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

具有scikit-image local_binary_pattern函数的统一LBP

我正在使用skimage.feature的local_binary_pattern和统一模式,如下所示:

>>> from skimage.feature import local_binary_pattern
>>> lbp_image=local_binary_pattern(some_grayscale_image,8,2,method='uniform')
>>> histogram=scipy.stats.itemfreq(lbp_image)
>>> print histogram
[[  0.00000000e+00   1.57210000e+04]
 [  1.00000000e+00   1.86520000e+04]
 [  2.00000000e+00   2.38530000e+04]
 [  3.00000000e+00   3.23200000e+04]
 [  4.00000000e+00   3.93960000e+04]
 [  5.00000000e+00   3.13570000e+04]
 [  6.00000000e+00   2.19800000e+04]
 [  7.00000000e+00   2.46530000e+04]
 [  8.00000000e+00   2.76230000e+04]
 [  9.00000000e+00   4.88030000e+04]]
Run Code Online (Sandbox Code Playgroud)

当我在附近拍摄8个像素时,预计会获得59个不同的LBP码(因为统一的方法),但它只给了我9个不同的LBP码.更一般地,总是返回P + 1个标签(其中P是邻居的数量).

这是另一种统一的方法,还是我误解了什么?

python feature-extraction scikit-image

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

在两个不同形状的DataFrame中查找相同的数据

我有两个Pandas DataFrames,我想比较一下.例如

    a    b    c
A   na   na  na
B   na   1    1
C   na   1    na
Run Code Online (Sandbox Code Playgroud)

    a    b    c
A   1    na   1
B   na   na   na
C   na   1    na
D   na   1    na
Run Code Online (Sandbox Code Playgroud)

我希望在这种情况下找到共享的任何值的索引列坐标

    b
C   1
Run Code Online (Sandbox Code Playgroud)

这可能吗?

python pandas

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

检索pandas数据帧中的NaN值索引

我尝试为包含NaN值的每一行检索相应列的所有索引.

d=[[11.4,1.3,2.0, NaN],[11.4,1.3,NaN, NaN],[11.4,1.3,2.8, 0.7],[NaN,NaN,2.8, 0.7]]
df = pd.DataFrame(data=d, columns=['A','B','C','D'])
print df

      A    B    C    D
0  11.4  1.3  2.0  NaN
1  11.4  1.3  NaN  NaN
2  11.4  1.3  2.8  0.7
3  NaN   NaN  2.8  0.7
Run Code Online (Sandbox Code Playgroud)

我已经做了以下事情:

  • 添加每行的NaN计数列
  • 获取包含NaN值的每一行的索引

我想要的(理想情况下,列的名称)是这样的列表:

[ ['D'],['C','D'],['A','B'] ]
Run Code Online (Sandbox Code Playgroud)

希望我能找到一种方法,而不是为每一行测试每一行

if df.ix[i][column] == NaN:
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种能够处理我庞大数据集的熊猫方式.

提前致谢.

python machine-learning pandas

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

使用sklearn计算两个不同列的单独tfidf分数

我正在尝试计算一组查询和每个查询的结果之间的相似度。我想使用tfidf分数和余弦相似度进行此操作。我遇到的问题是我无法弄清楚如何使用两列(在pandas数据框中)生成tfidf矩阵。我已经将两列连接起来,并且工作正常,但是使用起来很尴尬,因为它需要跟踪哪个查询属于哪个结果。我将如何一次计算两列的tfidf矩阵?我正在使用熊猫和sklearn。

以下是相关代码:

tf = TfidfVectorizer(analyzer='word', min_df = 0)
tfidf_matrix = tf.fit_transform(df_all['search_term'] + df_all['product_title']) # This line is the issue
feature_names = tf.get_feature_names() 
Run Code Online (Sandbox Code Playgroud)

我正在尝试将df_all ['search_term']和df_all ['product_title']作为参数传递给tf.fit_transform。这显然不起作用,因为它只是将字符串连接在一起,这使我无法将search_term与product_title进行比较。另外,也许有更好的方法来解决这个问题?

python tf-idf pandas scikit-learn

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

如何将cross_val_score与random_state一起使用

我在不同的运行中获得了不同的值...在这里我做错了什么:

X=np.random.random((100,5))
y=np.random.randint(0,2,(100,))
clf=RandomForestClassifier()
cv = StratifiedKFold(y, random_state=1)
s = cross_val_score(clf, X,y,scoring='roc_auc', cv=cv)
print(s)
# [ 0.42321429  0.44360902  0.34398496]
s = cross_val_score(clf, X,y,scoring='roc_auc', cv=cv)
print(s)
# [ 0.42678571  0.46804511  0.36090226]
Run Code Online (Sandbox Code Playgroud)

python machine-learning scikit-learn

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

您可以“缓存”matplotlib 图并动态显示它们吗?

我想批量创建一些 matplotlib 图,然后以交互方式显示它们,例如这样的东西?(当前代码不显示图)

import matplotlib.pyplot as plt
from ipywidgets import interact
plots = {'a': plt.plot([1,1],[1,2]), 'b': plt.plot([2,2],[1,2])}

def f(x):
    return plots[x]

interact(f, x=['a','b'])  
Run Code Online (Sandbox Code Playgroud)

python matplotlib

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

如何在 Hive 中使用数据类型为 array<map<string, string>> 的列创建表

我正在尝试创建一个具有复杂数据类型的表。下面列出了数据类型。

  1. 大批

  2. 地图

  3. 数组<映射<字符串,字符串>>

我正在尝试创建 3 类型的数据结构。是否有可能在 Hive 中创建?我的表 DDL 如下所示。

create table complexTest(names array<String>,infoMap map<String,String>, deatils array<map<String,String>>)           
row format delimited                                                                                       
fields terminated by '/'                                                                                   
collection items terminated by '|'                                                                         
map keys terminated by '='                                                                                 
lines terminated by '\n';
Run Code Online (Sandbox Code Playgroud)

我的示例数据如下所示。

Abhieet|Test|Complex/Name=abhi|age=31|Sex=male/Name=Test,age=30,Sex=male|Name=Complex,age=30,Sex=female
Run Code Online (Sandbox Code Playgroud)

无论我从表中查询数据,我都会得到以下值

["Abhieet"," Test"," Complex"]  {"Name":"abhi","age":"31","Sex":"male"} [{"Name":null,"Test,age":null,"31,Sex":null,"male":null},{"Name":null,"Complex,age":null,"30,Sex":null,"female":null}]
Run Code Online (Sandbox Code Playgroud)

这不是我所期待的。如果数据类型可能,请帮我找出应该是什么 DDLarray< map < String,String>>

arrays dictionary hive

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

如何使s3distcp与换行符合并

我有成千上万的小号s3小文件,我希望将它们合并在一起。我使用了s3distcp语法,但是发现合并文件后,合并集中不包含换行符。

我想知道s3distcp是否包含任何强制插入换行符的选项,或者是否存在另一种方法来完成此操作而无需直接修改源文件(或复制并执行相同操作)

hadoop amazon-s3 amazon-emr hadoop-streaming

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

如何在Scikit-learn凝聚聚类中使用Pearson Correlation作为距离度量

我有以下数据:

State   Murder  Assault UrbanPop    Rape
Alabama 13.200  236 58  21.200
Alaska  10.000  263 48  44.500
Arizona 8.100   294 80  31.000
Arkansas    8.800   190 50  19.500
California  9.000   276 91  40.600
Colorado    7.900   204 78  38.700
Connecticut 3.300   110 77  11.100
Delaware    5.900   238 72  15.800
Florida 15.400  335 80  31.900
Georgia 17.400  211 60  25.800
Hawaii  5.300   46  83  20.200
Idaho   2.600   120 54  14.200
Illinois    10.400  249 83  24.000
Indiana 7.200   113 65  21.000
Iowa    2.200 …
Run Code Online (Sandbox Code Playgroud)

python r pandas scikit-learn

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