여러 속성을 기반으로 가격을 예측하기 위해 Random Forests를 사용하여 회귀를 수행하고 있습니다. 코드는 Scikit-learn을 사용하여 Python으로 작성됩니다.
회귀 모형에 맞도록 변수를 사용 하기 전에 exp
/ log
를 사용하여 변수를 변환해야하는지 어떻게 결정 합니까? Random Forest와 같은 Ensemble 방식을 사용할 때 필요합니까?
답변
랜덤 포레스트가 만들어지는 방식은 독립 변수의 단조로운 변형에 변하지 않습니다. 스플릿은 완전히 유사합니다. 정확성을 목표로 삼고 있다면 개선이 이루어지지 않을 것입니다. 실제로 랜덤 포레스트는 복잡한 비선형 (이 선형 회귀를 호출하는 이유는 무엇입니까?) 관계와 변수 상호 작용을 즉석에서 찾을 수 있기 때문에 독립 변수를 변환하면이 알고리즘이 수행 할 수있는 정보를 매끄럽게 할 수 있습니다 이 제대로.
때때로 랜덤 포레스트는 블랙 박스로 취급되지 않고 추론에 사용됩니다. 예를 들어, 변수 중요도 측정법이 제공하는 변수 중요도 측정 값을 해석하거나 종속 변수에 대한 독립 변수의 한계 효과를 계산할 수 있습니다. 이것은 일반적으로 부분 의존도로 표시됩니다. 나는 이것이 마지막 변수가 변수의 규모에 크게 영향을받는다고 확신합니다. 이는 랜덤 포레스트에서 더 설명적인 성격의 정보를 얻으려고 할 때 문제가됩니다. 이 경우 변수를 변환 (표준화)하여 부분적 의존도를 비교할 수 있습니다. 이것에 대해 완전히 확신하지 못하면 그것에 대해 생각해야합니다.
얼마 전 랜덤 포레스트를 사용하여 카운트 데이터를 예측하려고 시도했는데, 제곱근에서 회귀하고 종속 변수의 자연 로그가 모델을 유지하는 데 도움이되지 못했습니다.
추론을 위해 임의의 포리스트를 사용할 수있는 일부 패키지 :
https://cran.r-project.org/web/packages/randomForestExplainer/index.html
https://pbiecek.github.io/DALEX_docs/2-2-useCaseApartmetns.html
답변
@JEquihua를 에코하면 랜덤 포레스트 예측 정확도는 향상되지 않습니다.
또한 선형 예측 회귀 분석 에서처럼 원래 예측 변수와 변환 된 예측 변수를 모두 유지하면 문제가 발생할 수 있습니다. RF는 각 트리를 확장하기 위해 변수의 하위 집합을 무작위로 선택하기 때문에 변환 된 변수를 기본적으로 두 번 넣었 기 때문입니다. 강력한 예측 변수 인 경우 사용되며 임의의 포리스트는 이전과 상관 관계가 없어서 분산이 높아집니다.