레이블 전파 알고리즘은 이전에 레이블이 지정되지 않은 데이터 포인트에 레이블을 할당하는 반지도 기계 학습 알고리즘입니다. 기계 학습에서 이 알고리즘을 사용하려면 예제의 극히 일부에만 레이블이나 분류가 있습니다. 이러한 레이블은 알고리즘의 모델링, 피팅 및 예측 프로세스 중에 레이블이 지정되지 않은 데이터 포인트로 전파됩니다.
LabelPropagation은 그래프에서 커뮤니티를 찾는 빠른 알고리즘입니다. 이는 이러한 연결을 감지하기 위한 가이드로 네트워크 구조만 사용하며 사전 정의된 목적 함수나 모집단에 대한 선험적 정보는 필요하지 않습니다. 태그 전파는 네트워크에 태그를 전파하고 태그 전파 프로세스를 기반으로 연결을 형성함으로써 달성됩니다.
닫기 태그에는 일반적으로 동일한 태그가 부여됩니다. 단일 레이블은 조밀하게 연결된 노드 그룹에서 지배적일 수 있지만, 희박하게 연결된 영역에서는 문제가 있습니다. 레이블은 밀접하게 연결된 노드 그룹으로 제한되며, 알고리즘이 완료되면 동일한 레이블로 끝나는 노드는 동일한 연결의 일부로 간주될 수 있습니다. 알고리즘은 다음과 같이 그래프 이론을 사용합니다. -
LabelPropagation 알고리즘은 다음과 같은 방식으로 작동합니다. -
LabelPropagation 알고리즘의 작동 방식을 보여주기 위해 프로그램을 생성할 때 프로그램을 실행하는 데 필요한 라이브러리를 가져왔습니다.
데이터 복사본을 복사하고 레이블 열을 training target
matplotlib을 사용한 시각화:
난수 생성기를 사용하여 데이터 세트의 레이블 중 70%를 무작위로 추출합니다. -1:-
데이터 전처리 후 종속변수와 독립변수 각각 y와 X를 정의합니다. y 변수는 마지막 열이고
또 다른 알고리즘인 LabelSpreading을 살펴보겠습니다.
LabelSpreading
LabelSpreading은 LabelPropagation의 정규화된 형태로 간주될 수 있습니다. 그래프 이론에서 라플라시안 행렬은 그래프의 행렬 표현입니다. 라플라시안 행렬의 공식은 다음과 같습니다.
L은 라플라시안 행렬, D는 차수 행렬, A는 인접 행렬입니다.
다음은 무방향 그래프 라벨링의 간단한 예와 라플라시안 행렬의 결과입니다
이 기사에서는 소나 데이터 세트를 사용하여 sklearn의 LabelSpreading 기능을 사용하는 방법을 보여줍니다.
여기에는 위보다 더 많은 라이브러리가 있으므로 간단히 설명하세요.
가져오기가 완료된 후 팬더를 사용하여 데이터 세트를 읽습니다.
seaborn을 사용하여 히트맵을 만들었습니다.-
먼저 간단한 전처리를 수행하고 상관 관계가 높은 열을 삭제하여 열 수를 61개에서 58개로 줄입니다.
그런 다음 데이터를 섞고 재배열하여 섞인 데이터 집합의 예측이 일반적으로 더 좋습니다. 데이터 세트의 복사본을 만들고 y_orig를 교육 대상으로 정의합니다.
matplotlib를 사용하여 데이터 포인트의 2D 산점도를 그립니다.-
난수 생성기를 사용하여 데이터 세트 %Tag 중 60개를 무작위로 지정합니다. 의. -1:-
데이터 전처리 후 종속변수와 독립변수 각각 y와 X를 정의합니다. y 변수는 마지막 열이고
이 방법을 사용하면 87.98%의 정확도를 얻을 수 있습니다. -
간단한 비교
1. Labelspreading에는 알파=0.2가 포함되며, 알파는 클램핑 계수라고 하며, 이는 해당 정보의 사용을 나타냅니다. 0이면 초기 레이블 정보를 유지한다는 의미입니다. 1이면 모든 초기 정보를 교체한다는 의미이며, 항상 80%를 유지한다는 의미입니다.
위 내용은 sklearn의 두 가지 준지도 레이블 전파 알고리즘: LabelPropagation 및 LabelSpreading의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!