Scikit-learn TruncatedSVD文档

时间:2016-03-28 00:28:12

标签: scikit-learn nlp svd kaggle lsa

我计划使用sklearn.decomposition.TruncatedSVD为Kaggle执行LSA 比赛,我知道SVD和LSA背后的数学,但我很困惑 scikit-learn的用户指南,因此我不确定如何实际应用 TruncatedSVD

the doc中,它声明:

  

此操作后,

enter image description here

  

U_k * transpose(S_k)是具有k功能的转换后的训练集(在API中称为n_components

这是为什么?我想在SVD之后X,此时X_k应该是U_k * S_k * transpose(V_k)

然后它说,

  

要同时转换测试集X,我们将其与V_k相乘:X' = X * V_k

这是什么意思?

1 个答案:

答案 0 :(得分:1)

我更喜欢文档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)

希望有帮助...