2016-10-03 89 views
0

下面是我的代码的第二部分,我在scikit中调用DecisionTreeClassifier学习,但是出现此错误:Y_pred = DecisionTreeClassifier.predict(x_test) TypeError:predict()missing 1需要位置参数:'X'。无法理解为什么我会得到这个错误消息,因为我清楚地调用x。在scikit中调用DecisionTreeClassifier的错误消息学习

model = DecisionTreeClassifier(min_samples_leaf=100) 

model.fit(x_train,y_train) 

scores = cross_val_score(model, x_train,y_train, cv=10) 
print('mean: {:.3f} (std: {:.3f})'.format(scores.mean(), scores.std()), end='\n\n') 

#make prediction 
Y_pred = DecisionTreeClassifier.predict(x_test) 

acc_train = accuracy_score(train[y_train],Y_pred) 
print ('Train Accuracy: %f'%acc_train) 

回答

2

DecisionTreeClassifier是一类。要使用它,你需要实例化一个类实例。您在代码的第一行执行了此操作:model = DecisionTreeClassifier(min_samples_leaf=100)。现在,你需要使用这个实例(即model),你训练的它的训练数据,进行预测:

Y_pred = model.predict(x_test) 
+0

事实上,非常感谢 – Bolajio

+1

这将是宝贵的解释什么OP没有和它为什么没有提出解析错误,使其更加清晰(因为他显然不是有经验的Python开发人员),因此人们将来会避免这些错误。 – lejlot