<aside> 💡 1번 10 점 2번 15 점 3번 5 점 4번 15 점 ⇒ total : 45점

</aside>

이론 문제 1

<aside> 💡 맞습니다! kmeans의 경우 k값을 지정해야 작동합니다

</aside>

정답

3

풀이

  1. KMeans는 클러스터 개수인 k값을 지정해주어야 작동한다. 추가적으로 실전에서 KMeans 값을 알기 어렵다는 점을 해결하기 위해 엘보우 방법을 사용한다

실습 문제 1

from google.colab import files
uploaded = files.upload()

import pandas as pd
import io
data = pd.read_csv(io.StringIO(uploaded['CustomerDataSet.csv'].decode('utf-8')))

from sklearn.preprocessing import MinMaxScaler

scaler = MinMaxScaler()
scaler.fit(data)
data_scaled = scaler.transform(data)

from sklearn.cluster import KMeans
import matplotlib.pyplot as plt

for i in range(1, 7):
  model = KMeans(n_clusters=i, random_state=42)
  model.fit(data_scaled[:, 1:3])
  label = model.labels_

  fig, ax = plt.subplots()
  ax.scatter(data_scaled[:, 1], data_scaled[:, 2], c=label)
  ax.set_xlabel('ItemBought')
  ax.set_ylabel('ItemsReturned')
  ax.set_title('K value = %d'%(i))

Untitled

Untitled

Untitled

Untitled

Untitled

Untitled

<aside> 💡 맞습니다! 코랩에서 파일을 가져오고, MinMaxScaler 이후에 kmeans를 써서 n_clusters를 반복문으로 다른 값을 주어서 시각화 하는 것까지 완벽했습니다!

</aside>

문제 3

<aside> 💡 정답 2, 3 3 : 분산을 최소화하는 벡터를 찾을 때까지 계산을 반복해야 하기 때문에 차원이 높아질수록 필요한 계산력 또한 기하급수적으로 늘어난다. ⇒ computation cost(계산 비용)이 높다.

</aside>

정답

2, 4