Python sklearn.linear_模型:LinearRegression()值.predict()时发生错误

Python sklearn.linear_模型:LinearRegression()值.predict()时发生错误,python,machine-learning,nlp,scikit-learn,linear-regression,Python,Machine Learning,Nlp,Scikit Learn,Linear Regression,我的训练矩阵X具有形状(518219231),y是长度为5182的1和0的列表。我的测试矩阵有形状(4965477)。我把它们存储在不同的pickle文件中。这是我的密码: def read(pklFile1): f=open(pklFile1, 'rb') Y = cPickle.load(f) f.close() return Y if __name__ == '__main__': X=read("results/train_feature.pkl"

我的训练矩阵X具有形状(518219231),y是长度为5182的1和0的列表。我的测试矩阵有形状(4965477)。我把它们存储在不同的pickle文件中。这是我的密码:

def read(pklFile1):
    f=open(pklFile1, 'rb')
    Y = cPickle.load(f)
    f.close()
    return Y
if __name__ == '__main__':
    X=read("results/train_feature.pkl")
    y=read("results/train_label.pkl")
    test=read("results/test_feature.pkl")
    target=read("test_label.pkl")
    clf=LogisticRegression()
    clf=clf.fit(X, y)
    predicted= clf.predict(test)
    accuracy=np.mean(predicted == target)
    print accuracy
运行代码时,运行时出现以下消息
predicted=clf.predicted(test)

ValueError:X每个样本有5477个特征;预计19231


如何修复它?

您在19231个特征上训练了一个linar模型,但希望预测只有5477个特征的新样本线性模型(或大多数分类器)不是这样工作的。。功能的数量必须相同


由19231个变量的线性组合组成的线性模型应该如何仅对5477个变量起作用?如果预测过程中某些变量未知,您可以对其进行插补(例如设置为零或平均值),但即使是这种方法也需要知道变量的精确映射。序列中的哪个变量对应于预测中的哪个。

您在19231个特征上训练了一个linar模型,但希望预测一些只有5477个特征的新样本线性模型(或大多数分类器)不是这样工作的。。功能的数量必须相同


由19231个变量的线性组合组成的线性模型应该如何仅对5477个变量起作用?如果预测过程中某些变量未知,您可以对其进行插补(例如设置为零或平均值),但即使是这种方法也需要知道变量的精确映射。序列中的哪个变量对应于预测中的哪个。

训练和预测阶段之间的特征数量不匹配,您不能要求模型使用少于或多于训练阶段中使用的特征数量进行预测。训练和预测阶段之间的特征数量不匹配,您不能要求模型使用少于或多于培训阶段中使用的特征数量的特征进行预测。