本文主要是介绍python提取特征、键值对关系到关联矩阵,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
首先是待处理数据
test = pd.read_csv('../test_pairs.csv')
test.head(10)
输出:
pairId FirstId SecondId
0 0 1427 8053
1 1 17044 7681
2 2 19237 20966
3 3 8005 20765
4 4 16837 599
5 5 3657 12504
6 6 2836 7582
7 7 6136 6111
8 8 23295 9817
9 9 6621 7672
可以看到有FirstId和SecondId, 如果我们想把这两列id的对应关系映射到稀疏矩阵,我们可以用矩阵的行列i,j表示id值,而(i,j)==1表示存在对应关系
1、非对称稀疏关联矩阵,即有方向的映射关系,代码如下:
import scipyinc_mat = scipy.sparse.coo_matrix((np.ones_like(test.FirstId), (test.FirstId, test.SecondId))).power(0)
scipy.sparse.coo_matrix的参数(np.ones_like(test.FirstId), (test.FirstId, test.SecondId))分为两部分
第一部分是要在稀疏矩阵对应位置插入的值,这里生成一个全1串,使矩阵只有0和1。
第二部分第一部分值所在的位置,即(i[:], j[:])
至于最后的power(0),是对矩阵做了一个element-wise的0次方处理
这篇关于python提取特征、键值对关系到关联矩阵的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!