减少属性稀疏矩阵的数量

时间:2019-06-26 13:03:35

标签: python scipy sparse-matrix

我有2个(训练和测试)非常大的稀疏矩阵,我想用于预测。

对于我想做的实验,我只想取一部分数据。 我编写了一个脚本,该脚本使用火车LibSVM文件的前k行创建了一个文件。

有关测试的问题是: 1)鉴于这是一项监督学习,我需要参加相同的课程 2)如果我没有从训练中获取所有行,则有时训练的属性数量可能会比测试少。

关于如何使我的测试数据集与我的培训数据兼容的任何建议?

这是用于创建我的火车文件的功能的代码。

def k_train_data(k):
    with open("../Data/LSHTC/LSHTC1/train_corrected.txt", 'r') as file1:
        with open("../Data/LSHTC/LSHTC1/train_"+str(k)+".txt", 'a+') as file2:
            s = ""
            for i in range(k):
                line = file1.readline()
                s += line
                if i % 100 == 0:
                    file2.write(s)
                    s = ""
            file2.write(s)

这是读取文件的代码:

X_train, y_train = load_svmlight_file("../Data/LSHTC/LSHTC1/train_500.txt")
X_test, y_test = load_svmlight_file("../Data/LSHTC/LSHTC1/test_corrected.txt", n_features=shape(X_train)[1])

对于这个尺寸,我得到以下形状:

火车:(500,1199727)

测试:(34800,1199855)

(我知道训练样本太小,但这只是一个实验)

0 个答案:

没有答案