Python의 클러스터 분석 예
클러스터 분석은 데이터 세트를 여러 그룹이나 범주로 나눌 수 있는 일반적인 데이터 분석 방법입니다. Python은 다양한 클러스터링 알고리즘을 제공하며 다양한 요구에 따라 분석을 위해 다양한 알고리즘을 선택할 수 있습니다. 이 기사에서는 Python에서 일반적으로 사용되는 클러스터링 알고리즘을 소개하고 예제 응용 프로그램을 제공합니다.
1. K-평균 알고리즘
K-평균 알고리즘은 유클리드 거리를 기준으로 데이터를 그룹화하는 일반적으로 사용되는 클러스터링 알고리즘입니다. 이 알고리즘은 데이터 세트를 k개의 클러스터로 나눕니다. 여기서 각 클러스터의 중심점은 클러스터의 모든 구성원의 평균입니다. 알고리즘의 구체적인 단계는 다음과 같습니다.
- k개 점을 초기 군집 중심으로 무작위로 선택합니다.
- 클러스터 중심에서 모든 데이터 포인트의 거리를 계산하고 각 데이터 포인트를 가장 가까운 클러스터로 분류합니다.
- 새로운 분류 결과를 기반으로 각 클러스터의 중심점을 다시 계산합니다.
- 클러스터가 더 이상 변경되지 않거나 지정된 반복 횟수에 도달할 때까지 2단계와 3단계를 반복합니다.
다음은 K-Means 알고리즘을 사용한 클러스터 분석의 Python 예입니다.
import numpy as np from sklearn.cluster import KMeans from sklearn.datasets import make_blobs import matplotlib.pyplot as plt # 生成随机数据 X, y = make_blobs(n_samples=300, centers=4, random_state=42) # 运行 K-Means 算法 kmeans = KMeans(n_clusters=4, random_state=42) y_pred = kmeans.fit_predict(X) # 绘制聚类结果 plt.scatter(X[:, 0], X[:, 1], c=y_pred) plt.title("K-Means Clustering") plt.show()
위 코드에서 make_blobs 함수는 총 4개의 클러스터를 포함하는 300개의 샘플 포인트가 포함된 데이터 세트를 생성하는 데 사용됩니다. 그런 다음 KMeans 함수를 사용하여 클러스터링을 수행하고 클러스터 수를 4로 지정하고 fit_predict 메소드를 통해 각 데이터 포인트의 분류 결과를 얻습니다. 마지막으로 Matplotlib를 사용하여 클러스터링 결과를 플로팅합니다.
2. 계층적 클러스터링 알고리즘
계층적 클러스터링 알고리즘은 데이터의 유사성을 기반으로 데이터를 점차적으로 더 큰 클러스터로 병합하는 상향식 클러스터링 알고리즘입니다. 이 알고리즘의 구체적인 단계는 다음과 같습니다.
- 각 데이터 포인트를 별도의 클러스터로 처리합니다.
- 가장 가까운 두 클러스터 사이의 거리를 계산하세요.
- 가장 가까운 두 클러스터를 새 클러스터로 병합합니다.
- 모든 클러스터가 하나의 클러스터로 병합되거나 지정된 클러스터 수에 도달할 때까지 2단계와 3단계를 반복합니다.
다음은 군집 분석을 위해 계층적 군집화 알고리즘을 사용하는 Python 예제입니다.
from sklearn.cluster import AgglomerativeClustering from sklearn.datasets import make_moons import matplotlib.pyplot as plt # 生成随机数据 X, y = make_moons(n_samples=200, noise=0.05, random_state=42) # 运行层次聚类算法 agglomerative = AgglomerativeClustering(n_clusters=2) y_pred = agglomerative.fit_predict(X) # 绘制聚类结果 plt.scatter(X[:, 0], X[:, 1], c=y_pred) plt.title("Agglomerative Clustering") plt.show()
위 코드에서 make_moons 함수는 200개의 샘플 포인트가 포함된 데이터 세트를 생성하는 데 사용되며, AgglomerativeClustering 함수는 군집화에 사용됩니다. 지정하는 클러스터 수는 2입니다. 마지막으로 Matplotlib를 사용하여 클러스터링 결과를 플로팅합니다.
3. DBSCAN 알고리즘
DBSCAN 알고리즘은 데이터 세트의 밀도에 따라 데이터 포인트를 여러 클러스터로 나눌 수 있는 밀도 기반 클러스터링 알고리즘입니다. 알고리즘의 구체적인 단계는 다음과 같습니다.
- 방문하지 않은 데이터 포인트를 무작위로 핵심 포인트로 선택합니다.
- 핵점으로부터의 거리가 주어진 반경을 초과하지 않는 모든 점을 핵심점을 중심으로 한 밀도 도달 가능 영역으로 찾습니다.
- 포인트가 다른 코어 포인트의 밀도 도달 가능 영역 내에 있는 경우 해당 포인트와 코어 포인트를 하나의 클러스터로 병합합니다.
- 새로운 핵심 지점을 방문하지 않을 때까지 1~3단계를 반복합니다.
다음은 클러스터 분석을 위해 DBSCAN 알고리즘을 사용하는 Python 예제입니다.
from sklearn.cluster import DBSCAN from sklearn.datasets import make_moons import matplotlib.pyplot as plt # 生成随机数据 X, y = make_moons(n_samples=200, noise=0.05, random_state=42) # 运行 DBSCAN 算法 dbscan = DBSCAN(eps=0.2, min_samples=5) y_pred = dbscan.fit_predict(X) # 绘制聚类结果 plt.scatter(X[:, 0], X[:, 1], c=y_pred) plt.title("DBSCAN Clustering") plt.show()
위 코드에서 make_moons 함수는 200개의 샘플 포인트가 포함된 데이터 세트를 생성하는 데 사용되며, DBSCAN 함수는 클러스터링에 사용됩니다. 반경과 최소 샘플 수를 지정합니다. 마지막으로 Matplotlib를 사용하여 클러스터링 결과를 플로팅합니다.
요약
이 문서에서는 Python에서 일반적으로 사용되는 세 가지 클러스터링 알고리즘을 소개하고 해당 예제 응용 프로그램을 제공합니다. 클러스터링 알고리즘은 데이터에 숨겨진 패턴과 관계를 발견하는 데 도움이 되는 매우 유용한 데이터 분석 방법입니다. 실제 적용에서는 데이터의 특성과 요구 사항에 따라 다양한 분석 알고리즘을 선택할 수 있습니다.
위 내용은 Python의 클러스터 분석 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undress AI Tool
무료로 이미지를 벗다

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Stock Market GPT
더 현명한 결정을 위한 AI 기반 투자 연구

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

종속성 패키지를 설치하려면 pipinstall-rrequirements.txt를 실행하십시오. 충돌을 피하고, 파일 경로가 올바른지 확인하고 PIP가 업데이트되었는지 확인하고 필요한 경우 설치 동작을 조정하기 위해-no-deps 또는 --user와 같은 옵션을 사용하는 것이 좋습니다.

Python은 Python의 간단하고 강력한 테스트 도구입니다. 설치 후 테스트 파일은 이름 지정 규칙에 따라 자동으로 발견됩니다. 어설 션 테스트를 위해 test_로 시작하여 기능을 작성하고 @pytest.fixture를 사용하여 재사용 가능한 테스트 데이터를 생성하고 pytest.raises를 통해 예외를 확인하고 지정된 테스트 실행 및 여러 명령 줄 옵션을 지원하며 테스트 효율성을 향상시킵니다.

theargparsemoduleisecomedendedway handlecommand-lineargumentsinpython, robustparsing, typevalidation, helpmessages, anderrorhandling; audys.argvforsimplecaseSrequiringMinimalSetup을 제공합니다.

목차 비트 코인 개선 제안 (BIP)이란 무엇입니까? BIP가 왜 그렇게 중요한가? 역사적 BIP 프로세스는 비트 코인 개선 제안 (BIP)에 어떻게 효과가 있습니까? BIP 유형 신호는 무엇이며 광부는 어떻게 보내나요? BITCOIN 개선 제안 또는 "BIP"라는 시스템을 통해 2011 년부터 BIP 결론에 대한 빠른 시험의 Taproot 및 Cons는 2011 년부터 개선되었습니다. 비트 코인 개선 제안 (BIP)은 비트 코인이 일반적으로 어떻게 발전 할 수 있는지에 대한 지침을 제공하며, 두 가지 유형의 BIP가 있습니다. 그 중 두 가지 유형은 비트 코인의 기술 변화와 관련이 있습니다.

데이터 과학의 초보자에게는 "경험"에서 "업계 전문가"로의 도약의 핵심은 지속적인 실습입니다. 실습의 기초는 풍부하고 다양한 데이터 세트입니다. 다행히 인터넷에는 무료 공개 데이터 세트를 제공하는 많은 웹 사이트가 있으며 기술을 향상시키고 기술을 연마하는 데 유용한 리소스입니다.

import@contextManagerFromContextLibandDefineAgeneratorFunctionThatYieldSActlyOnce, whereCodeBeforeYieldActSasEnterAndErandCodeftertyield (바람직하게는) ACTSAS__EXIT __

빅 데이터 분석은 멀티 코어 CPU, 대용량 메모리 및 계층 스토리지에 중점을 두어야합니다. 코어 수와 단일 코어 성능을 고려하여 Amdepyc 또는 Ryzenthreadripper와 같은 멀티 코어 프로세서가 선호됩니다. 메모리는 64GB로 시작하는 것이 좋습니다. 데이터 무결성을 보장하기 위해 ECC 메모리가 권장됩니다. 스토리지는 NVMESSD (시스템 및 핫 데이터), SATASSD (공통 데이터) 및 HDD (콜드 데이터)를 사용하여 전반적인 처리 효율을 향상시킵니다.

repetitivetasksworthautomating, suchasorganizingfileSordingEmails, succurnificernificanttime.2.useappropriatepythonlibraries -libraries -libraries likeos, shutil, glob, smtplib, beautifulsoup, andseleniumforfileoperations, w
