K-Meansクラスタリング
手順を追って理解します
「K-Meansクラスタリング」はCoddyKit上の無料Learn AI with Pythonレッスンです。 これはレッスン2/5です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはLearn AI with Python学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Learn AI with Pythonコースには全5レッスンが含まれています。
K-Meansクラスタリング
K-Meansクラスタリング
K-Meansは、最も広く使われているクラスタリングアルゴリズムの1つです。クラスタ内距離を最小化しながら、データをあらかじめ指定した数のクラスタ(K)に分割します。
反復処理を行い、最適なクラスタ割り当てと重心を見つけます。

K-Meansの仕組み
K-Meansの仕組み
K-Meansは、次の手順で動作します。
- K個のランダムなセントロイドを初期化します。
- 各データポイントを最も近いセントロイドに割り当てます。
- クラスタ内のすべての点の平均としてセントロイドを再計算します。
- セントロイドが安定するか、反復回数が最大値に達するまで、手順2と3を繰り返します。
クラスタ数の選択
クラスタ数の選択
Kの値は重要なパラメータです。Kを選ぶ一般的な方法には、次のものがあります。
- エルボー法:さまざまなKの値についてクラスタ内平方和(WCSS)をプロットし、「エルボーポイント」を探します。
- シルエットスコア:クラスタがどの程度適切に分離されているかを測定します。
K-Meansのサンプルデータセット
K-Meansのサンプルデータセット
2次元空間に分布するポイントからなるデータセットを考えてみましょう。各ポイントには次の値があります。
- X:水平方向の軸上の座標です。
- Y:垂直方向の軸上の座標です。
K-Meansは、ポイント同士の近さに基づいて、これらのポイントをクラスタにグループ化します。
PythonでK-Meansを実装する
PythonでK-Meansを実装する
アルゴリズムを実装するために、scikit-learnライブラリのKMeansクラスを使用します。
from sklearn.cluster import KMeans
import numpy as np
# Example dataset
X = np.array([[1, 2], [1, 4], [1, 0], [4, 2], [4, 4], [4, 0]])
# K-Means model
kmeans = KMeans(n_clusters=2, random_state=0)
kmeans.fit(X)
print("Cluster Centers:", kmeans.cluster_centers_)
print("Labels:", kmeans.labels_)クラスタを可視化する
クラスタを可視化する
データポイントと重心をプロットすることで、クラスタを可視化できます。
import matplotlib.pyplot as plt
# Scatter plot of data points
plt.scatter(X[:, 0], X[:, 1], c=kmeans.labels_, cmap='viridis')
# Plot cluster centers
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s=200, c='red', marker='X')
plt.title('K-Means Clustering')
plt.show()K-Meansの利点
K-Meansの利点
K-Meansには、次のような利点があります。
- シンプルで実装しやすいこと
- 大規模なデータセットに対して効率的であること
- クラスタが明確に定義されている場合に適していること
K-Meansの制限
K-Meansの制限
K-Meansには、次のような制限があります。
- 重心の初期配置に左右されること
- 球状でないクラスタの処理が難しいこと
- 外れ値やノイズの多いデータに敏感であること
まとめと次のステップ
まとめと次のステップ
このレッスンでは、次の内容を学びました。
- K-Meansクラスタリングの仕組み。
- エルボー法などの手法を使用してクラスタ数を選択する方法。
- PythonでK-Meansを実装し、可視化する方法。
次は、実践的な経験を積むために、実世界のデータセットにK-Meansを適用します。

よくある質問
「K-Meansクラスタリング」レッスンは無料ですか?
はい。「K-Meansクラスタリング」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Learn AI with Pythonコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Learn AI with Pythonコースには全5レッスンが含まれています。
「K-Meansクラスタリング」で何を学びますか?
手順を追って理解します ブラウザで直接実行するハンズオンコードでLearn AI with Pythonを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Learn AI with Pythonを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのLearn AI with Pythonは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/5です。
「K-Meansクラスタリング」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このLearn AI with Pythonレッスンでコードを書いて実行できますか?
はい。すべてのLearn AI with Pythonレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- クラスタリングアルゴリズム入門
- K-Meansクラスタリング
- K-Meansクラスタリングプロジェクト
- 次元削減の基礎
- 次元削減の応用