我有一个文本文件,其中包含表示稀疏矩阵的数据,格式如下:
0 234 345
0 236
0 345 365 465
0 12 35 379
数据用于分类任务,每一行都可以视为特征向量.每行中的第一个值代表一个标签,其后的值代表各个要素的存在.
我正在尝试使用这些值创建一个稀疏矩阵(用于scikit learning的机器学习任务中).我已经找到并阅读了scipy.sparse documentation,但是我无法理解如何使用这样的源数据来逐步建立一个稀疏矩阵.
到目前为止,我发现的示例显示了如何获取密集矩阵并将其转换,或者如何使用人为数据创建本地稀疏矩阵,但是这里没有任何示例对我有帮助.我确实找到了这个相关的SO问题(Building and updating a sparse matrix in python using scipy),但是该示例假定您知道最大COL,ROW大小,但我不知道,因此数据类型似乎不合适.
到目前为止,我拥有以下代码来阅读文档并将值解析为看似合理的内容:
def get_sparse_matrix():
matrix = []
with open("data.dat", 'r') as f:
for i, line in enumerate(f):
row = line.strip().split()
label = row[0]
features = entry[1:]
matrix.append([(i, col) for col in features])
sparse_matrix = #magic happens here
return sparse_matrix
问题是
>在这里使用什么合适的稀疏矩阵类型?
>我使用正确的代码朝正确的方向前进吗?
任何帮助是极大的赞赏.