小编Bry*_*yan的帖子

auto.arima不并行化

我试图auto.arima通过在带有4个双核CPU的计算机上运行来加速缓慢的功能(我使用的是Ubuntu 13.04和R 2.15.2).该函数拟合了350,000个数据点和大约50个外生变量的时间序列.我正在使用以下代码

fit<-auto.arima(orders,xreg=exogen, stepwise=FALSE, parallel=TRUE, num.cores=4)
Run Code Online (Sandbox Code Playgroud)

但是,我有多个CPU(每个都有多个内核),而不只是一个具有多个内核的CPU.如果R足够智能以解决这个核心/ CPU的差异,我看了看我的资源监视器并看到了这个:

在此输入图像描述

这表明只有CPU3最大化.

有关如何解决的任何想法?forecast包是否适用DoSNOW

r forecasting

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

R中的fourier()vs fourierf()函数

我使用的是fourier()fourierf()功能罗恩海德门的出色forecast包河展望验证的相同条款是否被选中,并在使用fourier()fourierf(),我策划了几个输出项.

以下是使用的原始数据ts.plot(data).在时间序列中,频率为364,仅供参考. 数据

以下是使用术语的图表fourier(data,3).基本上,它看起来像现有数据的镜像.

傅立叶

再看看输出的sin1项,我们得到一些变化,显示类似的364天季节性与上述数据一致.

fourier2

但是,当我使用fourierf(data,3, 410)以下数据绘制傅里叶预测的结果时.它似乎比原始fourier函数提供的术语更加平滑. fourierf

所以,我想知道的结果fourier()fourierf()有关.是否可以只看到一个合并的傅立叶结果,以便您可以看到通过现有数据然后通过预测期间的罪或余弦结果?如果没有,我如何确认通过fourierf()拟合样本数据创建的术语?

我想在与其他外部回归量的函数auto.arimaglm函数中使用它,如下所示:

 trainFourier<-fourier(data,3)

 trainFourier<-as.data.frame(trainFourier)
 trainFourier$exogenous<-exogenousData
 arima.object<-auto.arima(data, xreg=trainFourier)

 futureFourier<-fourierf(data,3, 410)

 fourierForecast<-forecast(arima.object, xreg=futureFourier, h=410)
Run Code Online (Sandbox Code Playgroud)

并且想要完全确定auto.arima具有适当的拟合(使用术语from fourier())到我将在xreg下放入的内容forecast(其中包含来自不同函数的术语,即ffourier()).

r decomposition forecasting

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

将概率与 scikit-learn 中的标签连接起来

我正在训练scikit-learnneighbors.KNeighborsClassifier模型对象来预测多类分类问题。我已经预测了最可能的类,但现在我想提取使用该predict_proba函数预测的第二个最可能的类。然而,该函数的输出只是给出了一个原始的 numpy 数组,它应该是按字典顺序排序的。但是,当我观察数据以查看概率是否按字母顺序排列时,但似乎并非如此。

from sklearn import neighbors
knn_classifier  = neighbors.KNeighborsClassifier(n_neighbors = NUM_NEIGHBORS, weights = 'distance', metric ='haversine' )
knn_classifier.fit(knn_data, response)

unique_levels =  response.unique()
unique_levels.sort()
print unique_levels
    ['Canada' 'DCarea' 'NYarea' 'bostonArea' 'caribbean' 'eastAsia' 'florida'
     'hawaii' 'italy' 'midwest' 'nevada' 'newEngland' 'northernEurope'
     'northern_california' 'northern_france' 'notFound' 'otherSouthernEurope'
     'pacificNW' 'pennArea' 'south' 'southAmerica' 'southeastAsiaAus'
     'southern_california' 'spain' 'texas' 'unitedKingdom' 'west']

knn_preds = knn_classifier.predict(knn_data)
knn_probs = knn_classifier.predict_proba(knn_data)

knn_preds[0:10]
    array(['DCarea', 'NYarea', 'DCarea', 'Canada', 'midwest', 'unitedKingdom',
           'midwest', 'NYarea', 'NYarea', 'south'], dtype=object)

knn_probs[0]
    array([ 0. …
Run Code Online (Sandbox Code Playgroud)

python numpy scikit-learn

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

在 Pandas 中按值计数重新分配字符串

我在pandas数据框中有许多基于字符串的列,我希望在scikitlearn分类模型上使用它们。我知道我必须使用oneHotEncoder正确编码变量,但首先,我想减少列中的变化,取出列中出现时间少于 x% 或不在前 x 中的字符串字符串按列中的计数。

下面是一个例子:

df1 = pd.DataFrame({'a':range(22), 'b':list('aaaaaaaabbbbbbbcccdefg'), 'c':range(22)})
df1
     a  b   c
0    0  a   0
1    1  a   1
2    2  a   2
3    3  a   3
4    4  a   4
5    5  a   5
6    6  a   6
7    7  a   7
8    8  b   8
9    9  b   9
10  10  b  10
11  11  b  11
12  12  b  12
13  13  b  13
14  14  b …
Run Code Online (Sandbox Code Playgroud)

python pandas scikit-learn

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

操作两个列表最简洁的方法,返回python中的列表列表

我有一个正则表达式列表和一个目标短语列表.我希望将每个正则表达式与每个短语匹配,返回列表列表,其中行是术语和列是正则表达式,数据是匹配对象,或None尽可能简洁.我当前的方法做了这个匹配,但不幸的是给了我一个长列表,而不是我描述的列表列表.

这就是我所拥有的:

import re
regexLines=['[^/]*/b/[^/]*', 'a/[^/]*/[^/]*', '[^/]*/[^/]*/c', 'foo/bar/baz', 'w/x/[^/]*/[^/]*', '[^/]*/x/y/z']
targetLines=['/w/x/y/z/', 'a/b/c', 'foo/', 'foo/bar/', 'foo/bar/baz/']

###compiling the regex lines
matchLines=[re.compile(i) for i in regexLines]

matchMatrix=[i.match(j) for i in matchLines for j in targetLines]

matchMatrix
[None, <_sre.SRE_Match object at 0x04095368>, None, None, None, None, <_sre.SRE_Match     object at 0x0411A3D8>, None, None, None, None, <_sre.SRE_Match object at 0x0411A410>, None, None, None, None, None, None, None, <_sre.SRE_Match object at 0x0411A448>, None, None, None, None, None, None, None, None, None, None]
Run Code Online (Sandbox Code Playgroud)

我想要一些看起来像这样的东西,每行代表一个短语的匹配:

[[None, …
Run Code Online (Sandbox Code Playgroud)

python regex iterator list

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

在Python列表中查找并返回重复值的名称和计数

我有一个值列表,表示一段正则表达式在字符串中匹配的次数.从这里,我想找到不止一次出现的数字及其数量.例如,因为[2, 2, 2, 0, 2, 1, 3, 3]我想要{2:4,3:2}输出,如果它在一个字典中,或者[[2,4],[3,2]]它在列表列表中.我正在寻找最快,最简洁的方法来做到这一点.现在,我通过以下代码完成,但认为这是详细的最佳方式.

numWinners=[2, 2, 2, 0, 2, 1]
tieCount={x:numWinners.count(x) for x in numWinners}
ties=dict()
for key, value in tieCount.items():
    if value>1:
        ties[key]=value

print ties
{2: 4, 3: 2}
Run Code Online (Sandbox Code Playgroud)

列表或字典输出对我来说不是一个问题 - 再次,无论什么是最快和最简洁的.

python dictionary

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

Corrplot在x轴上只有一个变量

我有一个大约200个变量的数据集.我想了解其中一个变量如何与其他变量相关联.然而,当我使用corrplot()它时,它给了我完整的相关矩阵,它是200x200单元格的大小 - 以及大到可以很好地可视化的方式.

我将使用iris数据集作为可重现的示例.说,在这里,我只想sepal.length在x轴上看到,而sepal.length在y轴上看到所有其他变量.

library(corrplot) 
corrplot(cor(iris[,1:4]))
Run Code Online (Sandbox Code Playgroud)

创建这个:

在此输入图像描述

但相反,我想要这样:

在此输入图像描述

r heatmap correlation r-corrplot

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