반응형
비지도학습의 평가 방법
1) completemcess
2) homogeneity
3) The V-measure(1과2의 평균)
1. K-평균 사용 방법
1) 임의로 두 개를 선택한다.
2) 각 자료들은 가까운 두 그룹으로 배당한다.
3) 각 군집내의 자료들의 평균을 계산한다. 중심이 평균값이다.
4) 최대 반복수까지 또는 평균이 수렴할 때까지 반복한다.
특징
1) 반드시 군집수를 결정해야한다.
2) 초기값이 중요하다(초기값이 서로 떨어진 것).
3) 이상한 자료에 민감하다.
2. Iris(붖꽃 데이터)로 K-Mean 사용해보기
from sklearn.cluster import KMeans
from sklearn import datasets
iris = datasets.load_iris()
X = iris.data
y = iris.target
print(y)
model=KMeans(n_clusters=3)
model.fit(X)
labels = model.labels_
print(labels)
y_p=model.predict(X)
print(y_p)
score=model.score(X)
print(score)
n_clusters_ = len(set(labels)) - (1 if -1 in labels else 0)
n_noise_ = list(labels).count(-1)
from sklearn import metrics
from sklearn.metrics.cluster import homogeneity_score
from sklearn.metrics.cluster import completeness_score,v_measure_score
print('Estimated number of clusters: %d' % n_clusters_)
print('Estimated number of noise points: %d' % n_noise_)
print("Homogeneity: %0.3f" % homogeneity_score(y, labels))
print("Completeness: %0.3f" % completeness_score(y, labels))
print("V-measure: %0.3f" % v_measure_score(y, labels))
3. K-평균 Iris 데이터 훈련 개수 바꾸어가며 확인해보기
훈련 개수를 300에서 500으로 바꾸어가며 확인해보기
from sklearn.cluster import KMeans
from sklearn import datasets
from sklearn import metrics
from sklearn.metrics.cluster import homogeneity_score
from sklearn.metrics.cluster import completeness_score,v_measure_score
def result():
n_clusters_ = len(set(labels)) - (1 if -1 in labels else 0)
n_noise_ = list(labels).count(-1)
print('Estimated number of clusters: %d' % n_clusters_)
print('Estimated number of noise points: %d' % n_noise_)
print("Homogeneity: %0.3f" % homogeneity_score(y, labels))
print("Completeness: %0.3f" % completeness_score(y, labels))
print("V-measure: %0.3f" % v_measure_score(y, labels))
iris = datasets.load_iris()
X = iris.data
y = iris.target
print(y)
for i in range(300,500,50):
model=KMeans(n_clusters=3,max_iter=i)
model.fit(X)
labels = model.labels_
print(labels)
y_p=model.predict(X)
print(y_p)
score=model.score(X)
print(score)
result()
반응형
'프로그래밍 > 머신러닝' 카테고리의 다른 글
비지도학습(AgglomerativeClustering)_파이썬으로 머신러닝 배우기 (0) | 2021.05.26 |
---|---|
비지도학습(DBSCAN)_파이썬으로 머신러닝 배우기 (0) | 2021.05.24 |
iris 분류하기(K-NN모델)_파이썬으로 머신러닝 배우기 (0) | 2021.05.10 |
인공신경망(neural_network)_파이썬으로 머신러닝 배우기 (0) | 2021.05.05 |
결정 트리(Decision Tree)_파이썬으로 머신러닝 배우기 (0) | 2021.05.03 |