2016-10-03 18 views
2

編集:私は見ているはTypeError:*のためのサポートされていないオペランドのタイプ(S): 'PCA' と 'フロート'

Fresh Milk Grocery Frozen Detergents_Paper Delicatessen 
0 12669 9656 7561 214 2674 1338 
1 7057 9810 9568 1762 3293 1776 
2 6353 8808 7684 2405 3516 7844 
3 13265 1196 4221 6404 507 1788 
4 22615 5410 7198 3915 1777 5185 

エラー:ここ

は、データのcsvのヘッドである

TypeError: unsupported operand type(s) for *: 'PCA' and 'float' 

コード:それは文句を言っています

from sklearn.decomposition import PCA 

log_data = np.log(data) 

# TODO: Apply PCA to the good data with the same number of dimensions as features 
pca = PCA(n_components=4) 

# TODO: Apply a PCA transformation to the sample log-data 
pca_samples = pca.fit(log_data) 

# Generate PCA results plot 
pca_results = rs.pca_results(good_data, pca) 

display(pd.DataFrame(np.round(pca_samples, 4), columns = pca_results.index.values)) 

最後の行

データは正常に動作することが示されているcsvからです。

+0

は、CSVの代表的な部分を追加しますスクリプトの先頭に 'StringIO'オブジェクトとしてファイルを作成し、それをあなたの例の一部としてロードします。 –

+1

問題がどこにあるかわかるようにスタックトレースを含めてください。 – tdelaney

+0

'rs'とは何ですか?そして、エラーを起こす 'np.log'行は表示されません。このスクリプトにはさらに何かがありますか? – tdelaney

答えて

0

PCA.fit() tansはモデルのインプレースを作成し、selfを返します。これにより、他のモデル操作を連鎖させることができます。だから、後

pca_samples = pca.fit(log_data) 

pca_samplespcaにちょうど別の参照です。

2

pca.fit(X[, y])ちょうどXでモデルに適合し、self、つまりpca自体を返します。

あなたがそう

pd.DataFrame(np.round(pca_samples, 4), columns = pca_results.index.values)) 

で形質転換されたデータを取得したいことは、あなたがdocs of pcaを参照してくださいpca.fit_transform()

fit_transform(X[, y]) Fit the model with X and apply the dimensionality reduction on X.

を呼び出す必要がありますので、とfit_transform

関連する問題