2016-07-18 2 views
0

http://scikit-learn.org/stable/auto_examples/model_selection/plot_roc.html에서 예제를 재현하려고하지만 RandomForestClassifer를 사용하고 있습니다.OnevsrestClassifier 및 임의의 포리스트

나는

# Learn to predict each class against the other 
classifier = OneVsRestClassifier(RandomForestClassifier()) 
y_score = classifier.fit(X_train, y_train).decision_function(X_test) 

는하지만

AttributeError: Base estimator doesn't have a decision_function attribute. 

해결 방법이 있습니까

을 얻을 시도

# Learn to predict each class against the other 
classifier = OneVsRestClassifier(svm.SVC(kernel='linear', probability=True, 
           random_state=random_state)) 
y_score = classifier.fit(X_train, y_train).decision_function(X_test) 

코드의이 부분을 변환하는 방법을 볼 수없는 이유는 무엇입니까?

+0

왜 downvote -

그러니처럼 라인을 교체? – eleanora

답변

3

글쎄 decision_function이 무엇인지 알아야합니다. SVM 분류자를 사용하는 이유는 데이터를 분리하는 초평면으로부터 데이터 포인트의 거리를 제공하는 반면, RandomForestClassifier을 사용하면 데이터를 분리하는 것은 의미가 없습니다. RFC에서 지원하는 다른 방법을 사용할 수 있습니다. 분류 된 데이터 포인트의 확률을 얻으려면 predict_proba을 사용할 수 있습니다. 여기

그냥 훈련 세트에 가방 추정의 알아 인, oob_decision_function을 지원 할 RFC를 언급 지원 functions

에 대한 참조입니다.

y_score = classifier.fit(X_train, y_train).predict_proba(X_test) 

또는

y_score = classifier.fit(X_train, y_train).predict(X_test) 
+0

대단히 감사합니다. – eleanora

관련 문제