小编eic*_*erg的帖子

如何在scikit-learn的"管道"中使用自定义功能选择功能

假设我想通过交叉验证和使用pipeline类比较特定(监督)数据集的不同降维方法,该数据集包含n> 2个特征.

例如,如果我想尝试使用PCA和LDA,我可以做类似的事情:

from sklearn.cross_validation import cross_val_score, KFold
from sklearn.pipeline import Pipeline
from sklearn.naive_bayes import GaussianNB
from sklearn.preprocessing import StandardScaler
from sklearn.lda import LDA
from sklearn.decomposition import PCA

clf_all = Pipeline(steps=[
    ('scaler', StandardScaler()),           
    ('classification', GaussianNB())   
    ])

clf_pca = Pipeline(steps=[
    ('scaler', StandardScaler()),    
    ('reduce_dim', PCA(n_components=2)),
    ('classification', GaussianNB())   
    ])

clf_lda = Pipeline(steps=[
    ('scaler', StandardScaler()), 
    ('reduce_dim', LDA(n_components=2)),
    ('classification', GaussianNB())   
    ])

# Constructing the k-fold cross validation iterator (k=10)  

cv = KFold(n=X_train.shape[0],  # total number of samples
           n_folds=10,           # number of folds the …
Run Code Online (Sandbox Code Playgroud)

python scikit-learn

10
推荐指数
3
解决办法
6721
查看次数

如何比较使用scikit-learn库load_svmlight_file存储的2个稀疏矩阵?

我试图比较测试和训练数据集中存在的特征向量.这些特征向量使用scikitlearn库load_svmlight_file以稀疏格式存储.两个数据集的特征向量的维度是相同的.但是,我得到这个错误:"具有多个元素的数组的真值是不明确的.使用a.any()或a.all()."

为什么我收到此错误?我该如何解决?

提前致谢!

from sklearn.datasets import load_svmlight_file
pathToTrainData="../train.txt"
pathToTestData="../test.txt"
X_train,Y_train= load_svmlight_file(pathToTrainData);
X_test,Y_test= load_svmlight_file(pathToTestData);

for ele1 in X_train:
    for ele2 in X_test:
        if(ele1==ele2):
           print "same vector"


---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-3-c1f145f984a6> in <module>()
      7 for ele1 in X_train:
      8     for ele2 in X_test:
----> 9         if(ele1==ele2):
     10            print "same vector"

/Users/rkasat/anaconda/lib/python2.7/site-packages/scipy/sparse/base.pyc in __bool__(self)
    181             return True if self.nnz == 1 else False
    182         else:
--> 183             raise ValueError("The truth value of an array with more than one " …
Run Code Online (Sandbox Code Playgroud)

numpy scipy python-2.7 scikit-learn

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

Python keras神经网络(Theano)包返回有关数据维度的错误

我有这个代码:

import numpy as np
from keras.models import Sequential
from keras.layers.core import Dense, Dropout, Activation
from keras.optimizers import SGD
from sklearn import datasets
import theano

iris = datasets.load_iris()
X = iris.data[:,0:3]  # we only take the first two features.
Y = iris.target

X = X.astype(theano.config.floatX)
Y = Y.astype(theano.config.floatX)


model = Sequential()
model.add(Dense(150, 1, init='uniform'))
model.add(Activation('tanh'))
model.add(Dropout(0.5))
model.add(Dense(150, 1, init='uniform'))
model.add(Activation('tanh'))
model.add(Dropout(0.5))
model.add(Dense(150, 1, init='uniform'))
model.add(Activation('softmax'))

sgd = SGD(lr=0.1, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='mean_squared_error', optimizer=sgd)

model.fit(X, Y, nb_epoch=20, batch_size=150)


score = model.evaluate(X_train, …
Run Code Online (Sandbox Code Playgroud)

python numpy theano canopy keras

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

标签 统计

numpy ×2

python ×2

scikit-learn ×2

canopy ×1

keras ×1

python-2.7 ×1

scipy ×1

theano ×1