R을 사용하여 의사 결정 트리를 작성할 때 데이터를 정규화해야합니까?


10

따라서 이번 주 데이터 세트에는 14 개의 속성이 있으며 각 열의 값은 매우 다릅니다. 한 열의 값은 1 미만이고 다른 열의 값은 3 자리에서 4 자리 숫자입니다.

지난 주에 정규화를 배웠으며 값이 매우 다른 경우 데이터를 정규화해야하는 것으로 보입니다. 의사 결정 트리의 경우도 마찬가지입니까?

확실하지 않지만 정규화가 동일한 데이터 세트의 결과 의사 결정 트리에 영향을 줍니까? 그럴 것 같지는 않지만 ...

답변:


13

가장 일반적인 유형의 의사 결정 트리는 단조로운 변환의 영향을받지 않습니다. 따라서 orde를 유지하는 한 의사 결정 트리는 동일합니다 (여기서는 동일한 트리로 트리의 각 노드에서 각 테스트에 대해 동일한 값이 아니라 동일한 의사 결정 구조를 이해합니다).

이것이 발생하는 이유는 일반적인 불순물 기능의 작동 방식 때문입니다. 최상의 분할을 찾기 위해 각 차원 (속성)에서 분할 점을 검색합니다.이 분할 점은 기본적으로 if 값으로, 테스트 값이 분할 값보다 작은 인스턴스에 해당하는 대상 값을 그룹화하고 오른쪽에서 동일한 값보다 큰 값을 그룹화합니다. 이것은 수치 속성 (공칭 속성을 정규화하는 방법을 모르기 때문에 귀하의 경우라고 생각합니다)에 대해 발생합니다. 이제 기준이보다 작거나 큽니다. 이는 분할 (및 전체 트리)을 찾기 위해 속성의 실제 정보가 값의 순서 일뿐임을 의미합니다. 즉, 원래 순서가 예약 된 방식으로 속성을 변환하는 한 동일한 트리를 얻게됩니다.

모든 모델이 이러한 종류의 변형에 민감하지는 않습니다. 예를 들어, 선형 회귀 모델은 속성에 0과 다른 것을 곱하면 동일한 결과를 제공합니다. 다른 회귀 계수를 얻을 수 있지만 예측 값은 동일합니다. 해당 변환에 대한 로그를 작성할 때는 그렇지 않습니다. 예를 들어 선형 회귀의 경우 정규화는 동일한 결과를 제공하므로 쓸모가 없습니다.

그러나 이는 능선 회귀와 같이 불이익을받은 선형 회귀의 경우에는 해당되지 않습니다. 페널티 선형 회귀 분석에서는 계수에 구속 조건이 적용됩니다. 아이디어는 계수 함수의 합에 구속 조건이 적용된다는 것입니다. 이제 속성을 부 풀리면 계수가 수축되어 결국 해당 계수에 대한 불이익이 인위적으로 수정됩니다. 이러한 상황에서는 각 계수가 '공정하게'구속되도록 속성을 정규화합니다.

그것이 도움이되기를 바랍니다.

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