2016-10-03 90 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