【发布时间】:2014-06-12 14:58:11
【问题描述】:
我正在使用 RandomForestClassifier 解决分类问题。在代码中,我将数据集拆分为训练数据和测试数据以进行预测。
代码如下:
from sklearn.ensemble import RandomForestClassifier
from sklearn.cross_validation import train_test_split
import numpy as np
from numpy import genfromtxt, savetxt
a = (np.genfromtxt(open('filepath.csv','r'), delimiter=',', dtype='int')[1:])
a_train, a_test = train_test_split(a, test_size=0.33, random_state=0)
def main():
target = [x[0] for x in a_train]
train = [x[1:] for x in a_train]
rf = RandomForestClassifier(n_estimators=100)
rf.fit(train, target)
predicted_probs = [[index + 1, x[1]] for index, x in enumerate(rf.predict_proba(a_test))]
savetxt('filepath.csv', predicted_probs, delimiter=',', fmt='%d,%f',
header='Id,PredictedProbability', comments = '')
if __name__=="__main__":
main()
然而,在执行时,我收到以下错误:
ValueError:模型的特征数量必须与输入匹配。 模型 n_features 为 1434,输入 n_features 为 1435
关于我应该如何进行的任何建议?谢谢。
【问题讨论】:
标签: python python-2.7 numpy scikit-learn