데이터 전처리안녕하세요
데이터 세트에 의사결정 트리, Random Forest, Naive Bayes, SVM, 신경망, Boosted Tree 등의 비모수적 방법을 적용하고 싶습니다. 이러한 모델을 적용하기 전에 어떤 전처리 단계를 수행해야 합니까?
기본 데이터 분석 및 모델링예측 모델링 및 기계 학습Re: 데이터 전처리안녕하세요 @maryam_nourmand 님 ,
K-폴드 교차 검증 방법과 함께 검증 열 만들기 에 대해 말하는 경우 계층화 열 패널에서 모든 예측 변수(X 변수)를 사용할 수 있습니다(접기가 X 분포와 관련하여 동질적인지 확인). 변수) 및 Y 패널의 응답: JMP는 응답 값을 기준으로 접기 사이의 행을 정렬하고 배포하여 접기가 응답과 관련하여 동질성을 갖도록 하여 교차 검증 중 편향된 학습 및 평가를 방지합니다. : Make Validation Column 플랫폼(jmp.com) 출시
동일한 ID/그룹에 해당하는 행이 여러 개인 경우 '열 그룹화' 패널에서 이 ID/그룹 열을 사용하여 이 데이터 구조를 유지하세요.
이것이 귀하의 질문에 대한 답변이 되기를 바랍니다.
Re: 데이터 전처리안녕하세요
답변해주셔서 감사합니다
내가 사용 (K-폴드 교차 검증)을 원하고 내 응답 유형이 범주형인 경우
y에 대한 열을 선택하려면 모든 예측 변수와 응답 변수를 여기에 넣어야 할까요, 아니면 응답 변수만 넣어야 할까요?
Re: 데이터 전처리안녕하세요 @maryam_nourmand 님 ,
전처리에 관해 이야기할 때 일반적으로 분석용 데이터를 준비하는 몇 가지 단계가 있습니다.
0. 데이터 분할 : 데이터를 교육, 검증 및 테스트 세트로 분할하거나 검증(K-fold 교차 검증, Leave-One-Out 등) 및 테스트 전략을 계획합니다. 이는 이후에 수행할 수 있는 모든 데이터 변환이 데이터 유출로 이어지지 않도록 하기 위해 먼저 수행되어야 합니다. 즉, 전처리 단계의 검증 및 테스트 세트에서 얻은 정보의 일부가 모델 교육(데이터 범위, 분포, 대치 기술, ...). 이 단계에서는 Make Validation Column(jmp.com)을 사용할 수 있습니다.
- 데이터 클리닝 : 데이터 세트의 오류나 불일치를 식별하고 수정하여 데이터의 품질이 높고 분석이나 모델 교육에 적합한지 확인합니다.
- 누락된 값 : 행을 제외하거나, 데이터 대치를 수행하거나, 아무것도 수행하지 않을 수 있습니다. 누락된 값 탐색(jmp.com) 플랫폼을 사용하여 누락된 값을 주의 깊게 분석하여 해당 값이 MAR(Missing At Random), MCAR(Missing Completely At Random) 또는 MNAR(Missing Not At Random)인지 확인하십시오. 보유한 결측값 유형/패턴에 따라 일부 옵션이 다른 옵션보다 선호될 수 있습니다.
- 트리 기반 모델은 언급한 다른 알고리즘에 비해 결측값에 훨씬 더 유연하며 결측값을 정보로 처리할 수 있습니다. Informative Missing(jmp.com) .
- 신경망 플랫폼의 경우 플랫폼을 시작할 때 "정보 누락" 옵션을 선택하면 누락된 값 대치 및 코딩을 활성화할 수 있습니다. 이 옵션을 체크하지 않으면 해당 행은 분석에서 제외됩니다.
- Naive Bayes는 결측값이 거의 없는 경우 결측 데이터 문제가 없습니다.
- SVM은 기본적으로 누락된 값이 하나 이상 있는 행을 제외합니다.
- 이상값 : 이를 제외하거나, 균형을 맞추거나(빈도 또는 변환을 통해) 가중치를 부여하거나, 아무 작업도 수행하지 않을 수 있습니다. Explore Outliers(jmp.com) 플랫폼을 통해 다양한 방법을 사용하여 이를 탐지할 수 있습니다.
- 중복 : 제외하거나, 빈도를 줄이거나, 아무것도 하지 않을 수 있습니다. Explore Patterns(jmp.com) 플랫폼을 사용하여 이러한 패턴(및 기타 패턴)을 감지할 수 있습니다.
- 중복은 다른 포인트와 비교하여 중복 포인트에서 발견된 특정 패턴을 선호하거나 적용함으로써 수행되는 학습에 영향을 미치기 때문에 모든 알고리즘에 영향을 미칠 수 있습니다. 또한 데이터를 학습, 검증 및 테스트 세트로 분할하는 동안 모델 성능을 고려하지 않으면 모델 성능에 대한 과적합 및 잘못된 평가가 발생할 수도 있습니다. 기계 학습 방법론은 분산과 불확실성을 평가하기 위해 중복을 사용하는 통계 모델링과 매우 다릅니다.
- 변수 스케일링/정규화 : 값 범위의 차이를 왜곡하지 않고 모든 특성/변수 값을 유사한 범위로 가져와 범위가 큰 특성이 범위/변이가 작은 특성을 지배하지 않도록 합니다.
이는 SVM, KNN, 신경망, (선형 및 로지스틱) 회귀와 같이 거리나 유사성을 기반으로 하는 알고리즘에 유용하며 기본적으로 JMP에서 이미 수행됩니다(KNN의 예: https://community.jmp.com/t5/ ). India-JMP-Users-Group-Library/JMP-K-Nearest/ta-p/720639에서 기계 학습을 통한 예측 모델링 )
Naive Bayes와 같은 트리 기반 모델 및 확률 기반 알고리즘에는 확장이 필요하지 않을 수 있습니다.
- 범주형 데이터 처리 : 코딩할 때 레이블 인코딩, 원-핫 인코딩, 더미 인코딩 등을 사용하여 범주형 데이터를 인코딩해야 합니다. 다행히 JMP에서는 이 작업이 이미 완료되어 준비되어 있으므로 직접 수행할 필요가 없습니다(회귀 모델의 예). ) :
명목효과 코딩에 대한 통계적 세부정보(jmp.com)
순서형 요인(jmp.com)
Stackexchange의 유사한 질문과 답변은 다음과 같습니다.
기계 학습 - SVM 외에 기능 확장이 필요한 알고리즘은 무엇입니까? - 교차 검증됨(stackexchange.com)
이상값과 결측값은 이러한 분류자에 어떤 영향을 미치나요? - 데이터 과학 스택 교환
따라서 제가 이미 다른 주제(그리고 LinkedIn에서)에 쓴 것처럼, ML 알고리즘에 대한 첫 번째 빠른 테스트를 원한다면 Random Forest를 사용해 보십시오.
- 이상치에 강함
- 소음에 대한 낮은 민감도(배깅은 분산을 줄이는 데 도움이 됨)
- 부트스트래핑 및 사용 가능한 "Out-Of-Bag"(각 부트스트랩 샘플에 사용되지 않은 샘플) 성능 검증 덕분에 과적합 가능성이 적습니다.
- 일반화 성능이 좋음
- "if-else" 규칙을 사용하여 비선형 경계를 처리할 수 있는 의사결정 트리의 앙상블 덕분에 비선형 상황을 쉽게 처리합니다.
- 각 노드에서 무작위 특징 하위 집합 선택을 통해 변수 간의 다중 공선성을 제어합니다.
- 낮은 조정 가능성: 성능은 하이퍼파라미터 튜닝에 그다지 민감하지 않습니다(DoE를 사용한 Random Forest 하이퍼파라미터 튜닝에 대한 최신 게시물 참조).
- 희소 데이터 처리 능력
- 다른 알고리즘에 비해 더 쉬운 해석 가능성("내장된" 기능 중요도 사용)
- 상대적으로 빠르고 효율적인 계산(사용된 트리 수와 깊이에 따라 다름): 개별 트리는 서로 독립적이므로 훈련 프로세스를 병렬화할 수 있습니다.
따라서 데이터 세트 분석을 위해 과적합 경향이 낮고 정확하고 강력하며 다목적이며 확장 가능한 알고리즘을 찾고 있다면 Random Forest가 좋은 출발점이자 벤치마크가 될 수 있습니다. 여러 검증 계층(구축 및 미세 조정을 위해)이 필요할 수 있는 신경망과 같은 복잡한 알고리즘으로 이동하기 전에 항상 간단한 알고리즘부터 모델을 평가하고 비교할 수 있는 좋은 검증 전략부터 시작하십시오.
긴 답변이 도움이 되길 바라며,