0
こんにちは、私は次のように私のコードが見え、その後、サポートベクトルマシンを使用するために私の列車のマトリックスの寸法を小さくしたいと思います:pcaの行列結果を使ってモデルを訓練する方法は?
from sklearn.decomposition import PCA
まず私は、PCAをperformin試してみました:
その後pca = PCA(n_components=100)
#pca.fit(train_matrix)
train_matrix = np.concatenate([cities,state_matrix,work_type,company_matrix,seg,ag,rep], axis=1)
私は次のように私のモデルを訓練するためにそれを変数に割り当てられた:
train_matrix = pca.fit_transform(train_matrix)
from sklearn.ensemble import RandomForestClassifier
from sklearn import preprocessing
X_train, X_test, y_train, y_test = train_test_split(
pca, labels_list, test_size=0.1, random_state=47)
は、しかし、私は私が得た間違っているのかわからないですので、私はSUPを受け取るしたいと思います
state shape: (282521, 572)
work type shape: (282521, 164)
train matrix shape (5000, 100)
Traceback (most recent call last):
File "build_model.py", line 61, in <module>
pca, labels_list, test_size=0.1, random_state=47)
File "/usr/local/lib/python3.5/dist-packages/sklearn/cross_validation.py", line 2039, in train_test_split
arrays = indexable(*arrays)
File "/usr/local/lib/python3.5/dist-packages/sklearn/utils/validation.py", line 206, in indexable
check_consistent_length(*result)
File "/usr/local/lib/python3.5/dist-packages/sklearn/utils/validation.py", line 177, in check_consistent_length
lengths = [_num_samples(X) for X in arrays if X is not None]
File "/usr/local/lib/python3.5/dist-packages/sklearn/utils/validation.py", line 177, in <listcomp>
lengths = [_num_samples(X) for X in arrays if X is not None]
File "/usr/local/lib/python3.5/dist-packages/sklearn/utils/validation.py", line 126, in _num_samples
" a valid collection." % x)
TypeError: Singleton array array(PCA(copy=True, iterated_power='auto', n_components=100, random_state=None,
svd_solver='auto', tol=0.0, whiten=False), dtype=object) cannot be considered a valid collection.
おかげで、私は最終的にこのような状況を克服多くは、これは非常に有用でした – neo33