KMeans のクラスタ数
次のコードを実行したときの出力として、正しいものを1つ選べ。
import numpy as np
from sklearn.cluster import KMeans
X = np.array([[0, 0], [0, 1], [10, 10], [10, 11]])
labels = KMeans(n_clusters=2, n_init=10, random_state=0).fit_predict(X)
print(len(set(labels.tolist())), labels[0] == labels[1], labels[0] == labels[2])
- A
1 True True - B
2 False True - C
4 False False - D
2 True False
正解と解説を見る
正解:D
KMeans(n_clusters=k) は、データを k 個のクラスタに分ける。fit_predict は、学習してクラスタ番号を返す。
| 順 | 実行する行 | 実行後の変数 |
|---|---|---|
| 1 | `import numpy as np` | — |
| 2 | `from sklearn.cluster import KMeans` | — |
| 3 | `X = np.array([[0, 0], [0, 1], [10, 10], [10, …` | X = [[0, 0], [0, 1], [10, 10], [10, 11]] |
| 4 | `labels = KMeans(n_clusters=2, n_init=10, rand…` | labels = [1, 1, 0, 0], X = [[0, 0], [0, 1], [10, 10], [10, 11]] |
| 5 | `print(len(set(labels.tolist())), labels[0] ==…` | labels = [1, 1, 0, 0] |
| 結果 | 実際の出力 | 2 True False |
- A
誤り。
n_clusters=2なので、2 つのクラスタに分かれる。 - B
誤り。(0, 0) と (0, 1) は近いので同じクラスタ。
- C
誤り。クラスタの数は 2。
- D
正しい。近い点どうしが同じクラスタになり、離れた点は別のクラスタになる。
このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。