在scikit中调用DecisionTreeClassifier来混淆错误消息

时间:2016-10-03 17:40:30

标签: machine-learning scikit-learn

下面是我的代码的后半部分,我在scikit中调用DecisionTreeClassifier,但是我收到此错误:Y_pred = DecisionTreeClassifier.predict(x_test) TypeError:predict()缺少1个必需的位置参数:'X'。无法理解为什么我会收到此错误消息,因为我显然是在调用x。

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)

1 个答案:

答案 0 :(得分:2)

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

Y_pred = model.predict(x_test)