Python 인공지능 K-Means ( 비지도 학습 ) 머신 러닝 K-Means Clustreing
안녕하세요 오늘은 파이썬 인공지능 Python K-Means라는 비지도 학습에 대해서 알아보려고 합니다
일단 K-Means 가 뭐지 라고 생각 드실 수 있는데 아예 모르시는 분들은 이내용을 한번 읽어 보시고 밑에
를 읽어보시면 좋을것 같습니다 (알면 뛰어넘어가 주세요 ~~!)
K-Means이라는 것은 항상 인공지능 또는 머신러닝 딥러닝에는 문제와 문제의 대한 결과를 학습시키는 것
입니다 하지만 문제의 대한 결과가 없을떄는 문제끼리 분류하여 만약 또 새로운 문제가 들어왔을 때
어딘에 데이터 집단이 속하지는 분석하는 결과입니다 Mean이라는 것은 평균을 뜻하는데요 즉 같은 갑들의
평균을 구하여 집단을 만든다고 생각하시면 됩니다 자이제 간단하게 하나하나 보면서 설명하겠습니다
1 데이터 만들기
from sklearn.datasets import make_blobs이라는 모듈을 import 해야 합니다 이 모듈은 어디에 사용하냐면
클러스트링 즉 비지도 학습을 할떄 사용하는 모듈입니다
x, y = make_blobs(n_samples= 200 , centers= 3 , n_features = 2 , random_state= 1)
n_samples = 만들데이터 의 수량 , cneters = 중심점 구하기
이렇게 데이터를 만든후에 데이터를 만들어 찍어보면 밑에 처럼 데이터 집단이 3가지를 만든다는 것을
알 수 있습니다
2 데이터 분리하기
from sklearn.model_selection import train_test_split
x_train, x_test, y_train , y_test = train_test_split( x , y, test_size= 0.2 )
train_test_split 모듈 함수를 가져와 사용합니다 train_test_split 함수는 데이터를 학습용 그리고 검증용
즉 데이터를 학습시켰다면 이제 그 학습된것이 맞는지 확인해보기 위한 검증용 데이터를 나눠주는 모듈입니다
train_trst_split(문제 , 정답 , 테이스 사이즈 ) 를 적으면 x 값과 y 값을 리턴합니다
3 KMeans Python 인공지능 비지도 학습 시키기
from sklearn.cluster import KMeans
kmean = KMeans(n_clusters= 3)
위에처럼 하여 점이 3개이다 즉 데이터 집단이 3개이다를 알려주는 것입니다
이 모듈은 KMeans 객체를 만들 때 불러주는 모듈입니다 사용할 때는 정답이 없고 x 값 즉 문제만 있을 때
사용하는 모듈입니다 이렇게 한 후에 kmean이라는 모듈을 학습시켜 보겠습니다
만든 객체에 fit 함수를 사용하면 되는데요
kmean.fit( 문제 )
사이 킷 런 모듈에서는 다른 값들은 문제와 정답을 둘 다 넣어줘야 하는데요 kmean 함수는 문제만 넣어주면
값이 나온다는 것을 알 수 있습니다 위에 방법처럼 하여 kmean 함수를 학습시켜줍니다
그 후 kmean 함수에 2번째에 했던 x_test 값을 검증하기 위해서 predict ( 예측하다 )라는 뜻을 가진 함수를
불러와 x_test 값을 넣어줍니다
test_values = kmean.predict(x_test)
이렇게 하면 데이터 값이 나온 다는 것을 알 수 있습니다
4 Python Kmean 중심값 알아내기
Python Kmean 모듈에 x 값하나 만 주었는데도 중심값을 알아내여 중심값 근처로 데이터들이 그룹을
만들어 짝지어 준다는 것이라고 말했는데요
이렇게 위에처럼 나온다는 것을 알 수 있습니다 Kmean 은 언제 사용하는 것이냐면 만약 문제만
있고 정답이 없을 때 그룹을 짝지어 그 그룹에 들어가면 그거와 비슷한 값이라고 유추 할 때 사용하는 것
입니다 사실 이것보다는 그냥 학습시키는 값이 최고로 좋은 방법입니다 굳이 이것을 잘 사용하려고 하지 않습니다
그러니 만약 문제만 있고 정답이 없다면 이렇게 사용하시면 됩니다 감사합니다