회귀 문제의 차원 감소 기술에는 어떤 것이 있습니까? 필자는 PCA와 Kernel PCA (scikit learn library를 사용하여) 만 알고있는 감독되지 않은 기술들을 시도해 보았지만, 이것들을 사용하여 개선 된 것을 보지 못했습니다. 아마도 이것은 분류 문제에만 적합할까요? 시도 할 수있는 다른 기술은 무엇입니까? 바람직하게는 sklearn으로 구현되는 것들.회귀 문제에 대한 치수/잡음 감소 기술
답변
이것은 매우 일반적인 질문이며 기술 (또는 그 조합)의 적합성은 실제로 문제의 특성에 달려 있습니다. 일반적으로
, 차원 감소의 몇 가지 범주 (당신이 언급 한 것과 잡담이있다.
아마도 차원 감소의 가장 단순한 형태는 단지 일부 기능을 사용하는 것입니다,이 경우 우리가 정말 기능 선택에 대해 이야기 (sklearn's module 참조).
또 다른 방법은 (sklearn's를) 클러스터 및 해당 구성 요소의 집합체로 각 클러스터를 대체하는 것입니다.
마지막으로 일부 회귀 분석은 l1 형벌 및 볼록 최적화 특성을 사용하여 피쳐의 하위 집합을 동시에 선택합니다. sklearn에서는 the lasso and elastic net을 참조하십시오.
다시 한번 이것은 매우 광범위한 문제입니다. 차원 축소의 하위 집합 인 전체 책과 경연 대회도 기능 선택이 있습니다.
필자는 기능 선택보다는 기능 선택/변형의 라인을 더 많이 생각하고있었습니다 (데이터 세트는 약 20 개의 기능 만 있지만 데이터는 매우 시끄 럽습니다). –
@SimonZhu 그 경우 마음에 떠오르는 유일한 다른 것 sklearn은 [임의의 투영법]입니다 (http://scikit-learn.org/stable/modules/random_projection.html). –
@SimonZhu 또 다른 것은 - 필자가 쓴 것처럼 피쳐 선택은 치수 감소의 특별한 경우입니다. 20이 절대적으로 크거나 작은 수는 중요하지 않습니다. 기능의 하위 집합이 예측 변수에 가장 적합한 가능성이 언제나 있습니다. –
@AmiTavory의 답변에 더하기 : PCA
주성분 분석을 사용할 수 있습니다. dimensionality reduction
을 수행하지 않으려면 PCA
의 고유 벡터 수를 입력 행렬의 크기와 동일하게 유지하십시오. 귀하의 경우 20
결과 출력은 직교 고유 벡터가됩니다. 당신이 추구하는 "변형"은 다음과 같습니다. 벡터는 입력 값을 나타내는 각각의 분산 값에 의해 순위가 매겨집니다.
- 1. 해밀턴 경로 문제에 대한 리프 제한 MST 문제의 감소
- 2. 이 특정 문제에 대한 최선의 접근법 또는 기술 (y/ies)?
- 3. Gnuplot을 사용한 시계열에 대한 선형 회귀
- 4. UICollectionView에 대한 지연로드 기술
- 5. 안드로이드에 대한 JPanel 기술
- 6. 하나의 클래스가 우세한 분류 문제에 대한 트릭?
- 7. 주사위 문제에 대한 알고리즘
- 8. JDBC 문제에 대한 도움말
- 9. 벡터 문제에 대한 알고리즘
- 10. 포인터 문제에 대한 참조
- 11. 포인터 문제에 대한 포인터
- 12. 정규식 이름 문제에 대한
- 13. VB 제네릭이 문제에 대한
- 14. memorystream 문제에 대한 잉크
- 15. 나는 다음과 같은 기술 스택에 아주 이상한 문제에 붙어
- 16. AbcPdf - 문서 이것은 기술 지원 문제에 더있을 수 있습니다 CSS
- 17. 회귀
- 18. 루프 오류에 대한 OpenMP 감소?
- 19. 이동/감소 경고에 대한 들소
- 20. C# LOESS/LOWESS 회귀
- 21. 여러 열에 대한 롤링 회귀
- 22. R의 Rate 변수에 대한 회귀
- 23. 여러 데이터 프레임에 대한 회귀
- 24. 회귀
- 25. 메모리 감소
- 26. 기술 단어에 대한 정규식 - C#
- 27. 문의 양식에 대한 적절한 기술?
- 28. 여러 장치에 대한 프레젠테이션 기술
- 29. 센서 네트워크의 SVM에 대한 치수 감소
- 30. Mahout에서 회귀 회귀 사용
dimensonality 감소는 결과를 향상시키는 것이 아닙니다. 다음 모델 (회귀 변수)이 상관 관계가있는 입력 등에 의해 산만 해지기에 충분히 약한 경우에만 그렇게 할 것입니다. 결과적으로이 모델은 모델을 만들 때 사용해야하는 것이 아닙니다. 치수가 너무 많습니다 (모델을 변경하지 않으려는 경우). 일반적으로 독립적 인 정보 손실, 차원 감소를 수행하는 대신 강력한 회귀 분석기를 구축해야합니다. – lejlot
데이터 자체가 매우 시끄 럽다면 어떻게해야합니까? –
더 강력한 회귀 분석기를 사용하는 것이 좋습니다. 노이즈를 제거하고 모델을 빌드 **하는 것입니다. 치수 정밀도 감소는 문제를 두 개의 독립적 인 부분으로 분리하므로 더 약합니다. – lejlot