Random Forest 회귀 또는 분류자를 선택해야합니까?


11

임의 포리스트에 의해 이진 대상 클래스가있는 데이터 집합을 맞습니다. 파이썬에서는 randomforestclassifier 또는 randomforestregressor로 할 수 있습니다.

randomforestclassifier에서 직접 분류를 가져 오거나 randomforestregressor를 먼저 실행하고 예상 점수 세트 (연속 값)를 다시 가져올 수 있습니다. 그런 다음 점수 세트에서 예측 된 클래스를 도출하기위한 컷오프 값을 찾을 수 있습니다. 두 방법 모두 동일한 목표를 달성 할 수 있습니다 (예 : 테스트 데이터의 클래스를 예측).

또한 나는

randomforestclassifier.predict_proba(X_test)[:,1]) 

~와 다르다

randomforestregressor.predict(X_test)

그래서 두 방법이 모두 유효한지 확인한 다음 임의 포리스트 응용 프로그램에서 더 나은 방법을 확인하고 싶습니까?


1
내 즉각적인 반응은 분류기를 사용해야한다는 것입니다. 왜냐하면 이것이 분류기의 정확한 것이기 때문이지만 100 % 확실하지는 않습니다. 회귀를 사용하는 것은 로지스틱 회귀 대신 선형 회귀를 사용하는 것과 같습니다. 많은 상황에서 효과적이지 않습니다. 나는 적절한 대답을 할 수는 있지만 하루 정도는 아닙니다.
피터 엘리스

답변:


7

분류기를 사용하십시오. 아니요, 둘 다 유효하지 않습니다.

먼저 회귀와 분류에 관한 주제를 읽어 보시기 바랍니다. ML을 알지 못하고 ML을 사용하면 알지 못하는 잘못된 결과를 얻을 수 있습니다. 그리고 그것은 매우 위험합니다 ... ( 총을 잡을 것인지 또는 중요하지 않은지를 주변에서 어떤 방법으로 물어 보는 것과 조금 비슷합니다 )

분류 자 또는 회귀자를 사용할지 여부 는 해결하려는 문제의 종류 에만 달려 있습니다. 이진 분류 문제가 있으므로 분류기를 사용하십시오.

randomforestregressor를 먼저 실행하고 예상 확률 세트를 다시 얻을 수 있습니다.

아니. 회귀에서 확률을 얻지 못합니다. 주어진 값을 "외삽"하려고 시도합니다 (이 경우 0과 1 만). 즉, 1보다 크거나 0보다 작은 값은 두 개의 이산 값만 출력 (예 : 분류 !) 으로 기대하지 않고 연속적인 값으로 예상되므로 회귀 출력으로 완벽하게 유효 합니다.

특정 지점에 대해 특정 지점에 대해 "확률"을 원한다면 ( 이들은 잘 보정 된 확률 일 필요는 없음 ) 분류기를 훈련시키고 (따라서 데이터 분류 방법을 배운다 ) .predict_proba () : 확률을 예측합니다.

.predict vs .predict_proba (분류기의 경우)
.predict는 .predict_proba 출력을 가져 와서 특정 임계 값 아래의 0 (보통 0.5)을 각각 해당 임계 값 위의 1로 각각 변경합니다.

비고 : 내부적으로는 "마지막 레이어"등을 제외하고는 동일합니다! 그럼에도 불구하고 그것들을 완전히 다른 것으로 보아라 (또는 그들이 해결하고있는 문제를 개선시키는 것)!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.