python建立变化的参数矩阵_如何在Python中手动创建稀疏矩阵

我有一个文本文件,其中包含表示稀疏矩阵的数据,格式如下:

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

问题是

>在这里使用什么合适的稀疏矩阵类型?

>我使用正确的代码朝正确的方向前进吗?

任何帮助是极大的赞赏.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值