tsne 예제

이제 우리는 실제로 영점과 두 가지를 구별 할 수있는 방법에 대해 생각하기 시작할 수 있습니다. 예를 들어 우체국에서 이러한 알고리즘을 사용하면 사람이 그렇게 하는 대신 기계를 사용하여 필기 봉투를 읽고 정렬하는 데 도움이 될 수 있습니다. 분명히 요즘에는 이 작업을 수행하는 매우 진보된 방법이 있지만 이 데이터 집합은 차원 감소에 대한 특정 방법이 어떻게 작동하고 얼마나 잘 작동하는지 확인하는 데 매우 좋은 테스트 기반을 제공합니다. 데이터 작업의 큰 부분은 이러한 데이터가 보여주는 것에 대한 직관을 얻는 것입니다. 원시 데이터 포인트, 특히 많은 데이터 포인트를 응시하는 것은 문제를 해결하는 올바른 방법이 아닙니다. 낮은 차원 데이터는 시각적으로 검사하기 쉽습니다. 치수 쌍을 선택하고 서로 플롯할 수 있습니다. 예를 들어, 지하철 정류장까지의 거리가 주택 가격과 어떻게 상관관계가 있는지 보고 싶었습니다. 포인트가 임의로 보이는 경우 상관 관계가 없습니다.

점이 일부 패턴(예: 선)을 따르는 경우 상관 관계가 있습니다. 그러나 치수 수가 증가함에 따라 3D 플롯은 2D 플롯보다 읽기가 훨씬 어렵기 때문에 이 기법은 의미가 없습니다. 네 가지 차원의 데이터를 서로 비교하는 것은 거의 불가능합니다. 그래서, 우리는 무엇을 할 수 있습니까? t-SNE를 가진 우리의 실험의 몇몇 결과는 아래에 다운로드할 수 있습니다. Netflix 데이터 집합 및 단어 데이터 집합의 플롯에서 세 번째 차원은 색상 인코딩을 통해 인코딩됩니다(유사한 단어/동영상이 서로 가깝고 동일한 색상). 포함된 대부분의 `오류`(예: 20개의 뉴스 그룹)는 실제로 t-SNE가 적용된 기능의 `오류`로 인해 처리됩니다. 이러한 많은 예에서 포함에는 원래 고차원 피처와 비교할 수 있는 1-NN 오류가 있습니다. 멋지게 설명했다. 분석 Vidhya에서 또 다른 좋은 기사. 이러한 유용한 정보를 주셔서 대단히 감사합니다! 그 예를 살펴보겠습니다. 기본적으로 그라데이션 계산 알고리즘은 O(NlogN) 시간에서 실행되는 Barnes-Hut 근사치를 사용합니다.

method=`exact`는 O(N^2) 시간에 느리지만 정확한 알고리즘에서 실행됩니다. 가장 가까운 이웃 오류가 3%보다 높아야 하는 경우 정확한 알고리즘을 사용해야 합니다. 그러나 정확한 방법은 수백만 개의 예제로 확장할 수 없습니다. 다음 코드는 sklearn 웹 사이트의 sklearn 예제에서 가져온 것입니다. 이제 이러한 포함은 원시 픽셀 값에서 작동하기 때문에 거의 좋지 않습니다. 일반적으로 이미지를 볼 때 픽셀 의 강도가 아닌 패턴과 개체를 봅니다. 그것은 단지 픽셀 값에서 그 모든 것을 얻기 위해 우리의 차원 감소 알고리즘을 너무 많이 요구하고있다. 그렇다면 이 문제를 어떻게 해결할 수 있을까요? 이미지를 이미지의 내용을 보존하는 일부 표현으로 변환하는 것은 어려운 문제입니다. 이러한 기능은 특정 제약 조건하에서 고정(변경되지 않음)을 위해 노력합니다. 예를 들어, 고양이는 사진의 품질에 따라 여전히 고양이인가요? 이미지에서 고양이의 위치가 중요합니까? 고양이의 확대 버전은 여전히 고양이입니다.

원시 픽셀 값은 크게 변경될 수 있지만 제목은 동일하게 유지됩니다. > ## 설치된 패키지를 호출하는 # 전립선 라이브러리 (Rtsne) > > # ## t-SNE 및 PCA로 분석을 위해 데이터베이스를 큐레이팅하십시오 . ) > > 이름(색상) = 고유(전립선$라벨) = [ ## 선별된 데이터에 대한 알고리즘 실행 > tsne exeTimeTsne > ## 플롯팅 > 플롯 (tsne$Y, t=n`, main=”tsne”) > 텍스트 (tsne$Y, 레이블=전립선$라벨, 콜 컬러=[전립선 라벨]] 이웃 포함(t-SNE)은 고차원 데이터 세트의 시각화에 특히 적합한 치수 감소를 위한 (수상 경력이 있는) 기술입니다. 이 기술은 Barnes-Hut 근사치를 통해 구현할 수 있으므로 대규모 실제 데이터 집합에 적용할 수 있습니다.

Thanks! You've already liked this