2016-03-28 17 views
0
Bir Kaggle yarışma için LSA gerçekleştirmek için sklearn.decomposition.TruncatedSVD kullanmayı planlıyor

Scikit-öğrenme, dolayısıyla ben emin değilim, ben SVD ve LSA arkasında matematik biliyorum ama scikit-öğrenme kullanım kılavuzuna olarak anlamadım Aslında TruncatedSVD'u uygulamak için.TruncatedSVD belgelerine

Bu işlemden sonra

,

enter image description here

U_k * transpose(S_k) (API n_components adlandırılır) k özelliklerle belirlenen dönüştürülmüş eğitimdir: the doc yılında

, bu belirtmektedir

Neden? SVD, X'dan sonra X_k'un U_k * S_k * transpose(V_k) olması gerektiğini düşündüm?

Ve sonra diyor

da bir test X ayarlamak dönüştürmek için, V_k ile çarpın

: X' = X * V_k

bu ne anlama geliyor?

cevap

0

Belgeyi Here biraz daha iyi seviyorum. Sklearn neredeyse her zaman aşağıdaki kod kombinasyonu çeşit kullandığını oldukça tutarlıdır: Benzer şekilde, sadece bunu uydurma yerine bu verileri dönüştürmek istiyorsanız

#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 

eğer ...

yardımcı

predictions = model.predict(testData) 

Hope: veri dönüştürme, ancak bunun yerine bir tahmin yapmak edilmedi, bunu gibi bir şey kullanmak istiyorsunuz

İlgili konular