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