sklearn의 두 가지 준지도 레이블 전파 알고리즘: LabelPropagation 및 LabelSpreading

王林
풀어 주다: 2023-04-12 19:28:04
앞으로
1024명이 탐색했습니다.

레이블 전파 알고리즘은 이전에 레이블이 지정되지 않은 데이터 포인트에 레이블을 할당하는 반지도 기계 학습 알고리즘입니다. 기계 학습에서 이 알고리즘을 사용하려면 예제의 극히 일부에만 레이블이나 분류가 있습니다. 이러한 레이블은 알고리즘의 모델링, 피팅 및 예측 프로세스 중에 레이블이 지정되지 않은 데이터 포인트로 전파됩니다.

sklearn의 두 가지 준지도 레이블 전파 알고리즘: LabelPropagation 및 LabelSpreading


LabelPropagation

LabelPropagation은 그래프에서 커뮤니티를 찾는 빠른 알고리즘입니다. 이는 이러한 연결을 감지하기 위한 가이드로 네트워크 구조만 사용하며 사전 정의된 목적 함수나 모집단에 대한 선험적 정보는 필요하지 않습니다. 태그 전파는 네트워크에 태그를 전파하고 태그 전파 프로세스를 기반으로 연결을 형성함으로써 달성됩니다.

닫기 태그에는 일반적으로 동일한 태그가 부여됩니다. 단일 레이블은 조밀하게 연결된 노드 그룹에서 지배적일 수 있지만, 희박하게 연결된 영역에서는 문제가 있습니다. 레이블은 밀접하게 연결된 노드 그룹으로 제한되며, 알고리즘이 완료되면 동일한 레이블로 끝나는 노드는 동일한 연결의 일부로 간주될 수 있습니다. 알고리즘은 다음과 같이 그래프 이론을 사용합니다. -

sklearn의 두 가지 준지도 레이블 전파 알고리즘: LabelPropagation 및 LabelSpreading

LabelPropagation 알고리즘은 다음과 같은 방식으로 작동합니다. -

  • 각 노드는 고유한 레이블로 초기화됩니다.
  • 이 태그는 인터넷을 통해 퍼집니다.
  • 각 전파 반복에서 각 노드는 최대 이웃 수가 속한 레이블로 레이블을 업데이트합니다.
  • 레이블 전파 알고리즘은 각 노드가 이웃 노드의 레이블을 대부분 가질 때 수렴에 도달합니다.
  • 수렴에 도달하거나 사용자가 정의한 최대 반복 횟수에 도달하면 레이블 전파 알고리즘이 중지됩니다.

LabelPropagation 알고리즘의 작동 방식을 보여주기 위해 프로그램을 생성할 때 프로그램을 실행하는 데 필요한 라이브러리를 가져왔습니다.

sklearn의 두 가지 준지도 레이블 전파 알고리즘: LabelPropagation 및 LabelSpreading

데이터 복사본을 복사하고 레이블 열을 training target

sklearn의 두 가지 준지도 레이블 전파 알고리즘: LabelPropagation 및 LabelSpreading

matplotlib을 사용한 시각화:

sklearn의 두 가지 준지도 레이블 전파 알고리즘: LabelPropagation 및 LabelSpreading

난수 생성기를 사용하여 데이터 세트의 레이블 중 70%를 무작위로 추출합니다. -1:-

sklearn의 두 가지 준지도 레이블 전파 알고리즘: LabelPropagation 및 LabelSpreading

데이터 전처리 후 종속변수와 독립변수 각각 y와 X를 정의합니다. y 변수는 마지막 열이고

sklearn의 두 가지 준지도 레이블 전파 알고리즘: LabelPropagation 및 LabelSpreading

또 다른 알고리즘인 LabelSpreading을 살펴보겠습니다.

LabelSpreadingsklearn의 두 가지 준지도 레이블 전파 알고리즘: LabelPropagation 및 LabelSpreading

LabelSpreading은 인기 있는 준지도 학습 방법이기도 합니다. 훈련 데이터 세트의 샘플을 연결하는 그래프를 생성하고 그래프 가장자리를 통해 알려진 레이블을 전파하여 레이블이 없는 예제에 레이블을 지정합니다.

LabelSpreading은 Dengyong Zhou 외의 2003년 논문 "Learning with Local and Global Consistency"에서 제안되었습니다. 준지도 학습의 핵심은 일관성에 대한 선험적 가정입니다. 즉, 가까운 지점은 동일한 레이블을 가질 가능성이 높으며 동일한 구조(종종 클러스터 매니폴드라고 함)의 지점은 동일한 레이블을 가질 가능성이 매우 높습니다.

sklearn의 두 가지 준지도 레이블 전파 알고리즘: LabelPropagation 및 LabelSpreadingLabelSpreading은 LabelPropagation의 정규화된 형태로 간주될 수 있습니다. 그래프 이론에서 라플라시안 행렬은 그래프의 행렬 표현입니다. 라플라시안 행렬의 공식은 다음과 같습니다.

L은 라플라시안 행렬, D는 차수 행렬, A는 인접 행렬입니다.

다음은 무방향 그래프 라벨링의 간단한 예와 라플라시안 행렬의 결과입니다

sklearn의 두 가지 준지도 레이블 전파 알고리즘: LabelPropagation 및 LabelSpreading

이 기사에서는 소나 데이터 세트를 사용하여 sklearn의 LabelSpreading 기능을 사용하는 방법을 보여줍니다.

여기에는 위보다 더 많은 라이브러리가 있으므로 간단히 설명하세요.

  • Numpy는 수치 계산을 수행하고 Numpy 배열을 생성합니다.
  • Pandas는 데이터를 처리합니다.
  • Sklearn은 기계 학습 작업을 수행합니다.
  • Matplotlib 및 seaborn은 데이터 시각화를 위해 데이터를 시각화합니다. 통계
  • Warning, 프로그램 실행 중에 나타나는 경고를 무시하는 데 사용됨

가져오기가 완료된 후 팬더를 사용하여 데이터 세트를 읽습니다.

sklearn의 두 가지 준지도 레이블 전파 알고리즘: LabelPropagation 및 LabelSpreading

seaborn을 사용하여 히트맵을 만들었습니다.-

sklearn의 두 가지 준지도 레이블 전파 알고리즘: LabelPropagation 및 LabelSpreading

먼저 간단한 전처리를 수행하고 상관 관계가 높은 열을 삭제하여 열 수를 61개에서 58개로 줄입니다.

sklearn의 두 가지 준지도 레이블 전파 알고리즘: LabelPropagation 및 LabelSpreading

그런 다음 데이터를 섞고 재배열하여 섞인 데이터 집합의 예측이 일반적으로 더 좋습니다. 데이터 세트의 복사본을 만들고 y_orig를 교육 대상으로 정의합니다.

sklearn의 두 가지 준지도 레이블 전파 알고리즘: LabelPropagation 및 LabelSpreading

matplotlib를 사용하여 데이터 포인트의 2D 산점도를 그립니다.-

sklearn의 두 가지 준지도 레이블 전파 알고리즘: LabelPropagation 및 LabelSpreading

난수 생성기를 사용하여 데이터 세트 %Tag 중 60개를 무작위로 지정합니다. 의. -1:-

sklearn의 두 가지 준지도 레이블 전파 알고리즘: LabelPropagation 및 LabelSpreading

데이터 전처리 후 종속변수와 독립변수 각각 y와 X를 정의합니다. y 변수는 마지막 열이고

이 방법을 사용하면 87.98%의 정확도를 얻을 수 있습니다. -sklearn의 두 가지 준지도 레이블 전파 알고리즘: LabelPropagation 및 LabelSpreading

간단한 비교

1. Labelspreading에는 알파=0.2가 포함되며, 알파는 클램핑 계수라고 하며, 이는 해당 정보의 사용을 나타냅니다. 0이면 초기 레이블 정보를 유지한다는 의미입니다. 1이면 모든 초기 정보를 교체한다는 의미이며, 항상 80%를 유지한다는 의미입니다.sklearn의 두 가지 준지도 레이블 전파 알고리즘: LabelPropagation 및 LabelSpreading

2. 레이블 전파 사용 레이블 확산은 정규화 속성을 사용하여 손실 함수를 최소화하고 원본 그래프의 수정된 버전을 반복합니다. 정규화된 라플라시안 행렬 가장자리 가중치를 계산합니다.

3 동시에 LabelSpreading은 CPU를 많이 차지하며 물리적 메모리 점유율은 나쁘지 않습니다. LabelPropagation의 CPU 점유율은 나쁘지 않지만 물리적 메모리를 많이 차지하며 몇 가지 문제가 있을 수 있습니다. 고위도 데이터.

위 내용은 sklearn의 두 가지 준지도 레이블 전파 알고리즘: LabelPropagation 및 LabelSpreading의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:51cto.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!