매우 단순한 경우 k-means 방법의 파이썬 코드
k-means 방법의 매우 간단한 사례 파이썬 코드
2019년 통계검정 1급 통계 응용의 인문과학에서는 k-means법의 초기치 의존에 관한 문제가 나왔습니다만, 여기서는 실제로 k-means가 초기값에 의존하는 것을 확인하기 위해, 슈퍼 간단한 케이스 파이썬 코드를 작성해 보았습니다.
상황 설정은 다음과 같이 합니다.
분류할 집합: (유한 개) 실수를 요소로 하는 집합입니다.
클러스터 수: 2개.
print("最初に部類する集合の要素数を入力してください。")
n = int(input())
print("次に部類する集合の要素を入力してください。")
a = [float(input()) for _ in range(n)]
print("次に初期値を2つ入力してください。")
b = [float(input()) for _ in range(2)]
A = []
B = []
'''
print(A)
print(B)
'''
for i in range(n):
if abs(b[0] - a[i]) <= abs(b[1] - a[i]):
A.append(a[i])
else:
B.append(a[i])
if len(A) == 0 or len(B) == 0:
print("一つ目のクラスターは")
print(A)
print("二つ目のクラスターは")
print(B)
else:
c = sum(A)/len(A)
d = sum(B)/len(B)
while c != b[0] or d != b[1]:
b[0] = c
b[1] = d
A = []
B = []
for i in range(n):
if abs(b[0] - a[i]) <= abs(b[1] - a[i]):
A.append(a[i])
else:
B.append(a[i])
c = sum(A)/len(A)
d = sum(B)/len(B)
print("一つ目のクラスターは")
print(A)
print("二つ目のクラスターは")
print(B)
이 코드를 초기값을 바꾸어 실행한 예를 2개 아래에 올려 둡니다.
그래서 실제로 초기 값을 바꾸면 최종 클러스터도 다른 것을 확인할 수 있었습니다. ∩( ・ω・)∩
k-mean법을 사용하여 클러스터 분석을 할 때는 주의가 필요하네요.
Reference
이 문제에 관하여(매우 단순한 경우 k-means 방법의 파이썬 코드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/naoya_ok/items/fa8563552bccf1753a07텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)