python pca 예제

예제를 실행하면 먼저 원래 행렬을 인쇄한 다음 중심 공분산 행렬의 고유 벡터 및 고유 값값을 인쇄한 다음 마지막으로 원래 행렬의 투영이 수행됩니다. 이 자습서에서는 차원 감소를 위한 주요 구성 요소 분석 기계 학습 방법과 Python에서 처음부터 구현하는 방법을 알아보십시오. 내 마지막 튜토리얼은 파이썬을 사용하여 물류 회귀를 통해 갔다. 배운 것 중 하나는 최적화 알고리즘을 변경하여 기계 학습 알고리즘의 피팅 속도를 높일 수 있다는 것입니다. 기계 학습 알고리즘의 속도를 높이는 보다 일반적인 방법은 PCA(주성분 분석)를 사용하는 것입니다. 입력 차원이 너무 높기 때문에 학습 알고리즘이 너무 느리면 PCA를 사용하여 속도를 높이는 것이 합리적 선택일 수 있습니다. 이것은 아마도 PCA의 가장 일반적인 응용 프로그램입니다. PCA의 또 다른 일반적인 응용 프로그램은 데이터 시각화입니다. 이 문서에서는 주요 구성 요소 분석을 Python의 Scikit-Learn 라이브러리를 사용하여 구현할 수 있는 방법을 살펴보겠습니다.

감사합니다 존. 나는 요즘 파이썬의 열렬한 팬입니다. 이 데이터의 차원을 줄이는 한 가지 방법은 이러한 기본 벡터 중 몇 개를 제외한 모든 것을 0으로 줄이는 것입니다. 예를 들어 처음 8픽셀만 사용하면 데이터의 8차원 투영을 얻을 수 있지만 전체 이미지가 매우 반영되지는 않습니다. 이 신호 보존/노이즈 필터링 속성은 PCA를 매우 유용한 기능 선택 루틴으로 만듭니다.예를 들어, 매우 높은 차원 데이터에 대한 분류자를 교육하는 대신 낮은 차원 표현에서 분류자를 학습할 수 있습니다. 입력에서 임의의 노이즈를 자동으로 걸아내는 역할을 합니다. 좋은 기사! 나는 과거에 R 프로그래머의 더 많은 했지만 파이썬엉망으로 시작 했다. 파이썬은 매우 다양한 언어이며 지난 몇 개월 동안 내 관심을 끌기 시작했습니다. 앞에서 지원 벡터 머신을 사용하여 얼굴 인식을 위한 기능 선택기로 PCA 프로젝션을 사용하는 예제를 살펴보았습니다(심층: 지원 벡터 컴퓨터 참조). 여기서 우리는 다시 살펴보고 그 에 무슨 일이 있었는지 좀 더 탐구 할 것이다.

Scikit-Learn을 통해 사용할 수 있는 야생 데이터 집합의 레이블이 붙은 면을 사용하고 있음을 기억하십시오: 아래 예제에서는 작은 3×2 행렬을 정의하고, 행렬의 데이터를 중앙에 배치하고, 중심 데이터의 공분산 행렬을 계산한 다음, 이젠분해컴포지션을 계산합니다. 공분산 행렬의. 고유 벡터와 고유 값은 주 성분 및 특이값으로 간주되어 원래 데이터를 투영하는 데 사용됩니다. PCA의 가장 중요한 응용 프로그램 중 하나는 기계 학습 알고리즘의 속도를 높이는 것입니다. 데이터 집합에는 150개의 행만 있고 4개의 피처 열만 있기 때문에 IRIS 데이터 집합을 사용하는 것은 비실용적입니다. 필기 숫자의 MNIST 데이터베이스는 784개의 피처 열(784차원), 60,000개의 예제로 구성된 학습 집합 및 10,000개의 예제 테스트 집합을 가지고 있기 때문에 더 적합합니다. 이것은 PCA가 많은 다른 용도를 가지고 있기 때문에 훨씬 더 오래 쓸 수있는 게시물입니다. 이 게시물은 당신이 작업하는 무엇이든 당신을 도움이 되기를 바랍니다. 다음 기계 학습 자습서에서는 분류에 대한 의사 결정 트리 이해(Python)를 진행합니다. 당신은 튜토리얼에 대한 질문이나 생각이있는 경우, 아래의 의견이나 트위터를 통해 도달 주시기 바랍니다. 파이썬의 Scikit-Learn 라이브러리를 사용하여 PCA를 수행하는 코드는 세 줄에 불과합니다.

PCA 클래스는 이 목적을 위해 사용됩니다.