sklearn SVD fit_transform函数的输入数据类型



我已经处理了CSV文件中的文档数据,我在pandas DataFrame中读取:

+----------+------+------------+
| document | term | count      |
+----------+------+------------+
| 1        | 126  | 1          |
| 1        | 80   | 1          |
| 1        | 1221 | 2          |
| 2        | 2332 | 1          |

由document_id, term和term frequency组成。

我没有原始文档,但只是这个处理过的数据,我想用sklearn应用SVD,但我不知道如何为SVD fit_transform()准备这个DataFrame,它期望:

X:{类数组,稀疏矩阵},形状(n_samples, n_features)

您可以将此CSV转换为libsvm格式:

<label> <index1>:<value1> <index2>:<value2> ...
.
.
.
因此,您的示例数据看起来像:
0 80:1 126:1 1221:2
0 2332:1

然后使用sklearn.datasets.load_svmlight_file

读取该文件
from sklearn.datasets import load_svmlight_file
X, y = load_svmlight_file('your_libsvm_format_file.libsvm')

,

from sklearn.decomposition import SVD
svd = SVD()
X_transformed = svd.fit_transform(X)

相关内容

  • 没有找到相关文章

最新更新