【发布时间】:2015-05-01 00:14:57
【问题描述】:
我正在做特征选择,首先使用 L1 惩罚训练 LogisticRegression,然后使用减少的特征集使用 L2 惩罚重新训练模型。现在,当我尝试预测测试数据时,对其执行的 transform() 会产生一个不同的维度数组。我对如何重新调整测试数据的大小以便能够预测感到困惑。
感谢任何帮助。谢谢。
vectorizer = CountVectorizer()
output = vectorizer.fit_transform(train_data)
output_test = vectorizer.transform(test_data)
logistic = LogisticRegression(penalty = "l1")
logistic.fit(output, train_labels)
predictions = logistic.predict(output_test)
logistic = LogisticRegression(penalty = "l2", C = i + 1)
output = logistic.fit_transform(output, train_labels)
predictions = logistic.predict(output_test)
最后一个预测行显示了以下错误消息。原始特征数为 26879:
ValueError: X has 26879 features per sample; expecting 7087
【问题讨论】:
标签: python scikit-learn