2016-03-28 4 views
0
私はKaggle 競争のためにLSAを実行するために sklearn.decomposition.TruncatedSVDを使用する予定

をScikit-学び、それゆえ私は方法がわからないんだけど、私はSVDとLSAの背後にある数学を知っているが、私は scikit学習者のユーザーガイドで混乱しています実際に適用するには TruncatedSVDこの操作の後TruncatedSVDドキュメント

enter image description here

U_k * transpose(S_k)k機能(APIにn_componentsと呼ばれる)で変換されたトレーニングセットです:

the doc

、それはと述べています

これはなぜですか?私はSVDの後に、X、今度はX_kU_k * S_k * transpose(V_k)になると思った?また、テストを変換する

そして、それは言う、

Xを設定し、我々はV_kでそれを掛け:X' = X * V_k

これは何を意味するのでしょうか?

答えて

0

私は文書Hereを少し気に入っています。 Sklearnはあなたがほとんど常に次のコードの組み合わせのいくつかの種類を使用することでかなり一貫している:、同様に、あなたはそれを当てはめるのではなく、そのデータを変換したい場合は

#import desired sklearn class 
from sklearn.decomposition import TruncatedSVD 

trainData= #someArray 
testData = #someArray 

model = TruncatedSVD(n_components=5, random_state=42) 
model.fit(trainData) #you fit your model on the underlying data 

model.fit_transform(trainData) #fit and transform underlying data 

あなたの場合...

役立ちます

predictions = model.predict(testData) 

希望:データを変換するが、代わりに予測を行っていなかった、あなたのようなものを使用します

関連する問題