K-Meansクラスタリングプロジェクト
実際のデータセットに適用します
「K-Meansクラスタリングプロジェクト」はCoddyKit上の無料Python Academyレッスンです。 これはレッスン3/5です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPython Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Python Academyコースには全5レッスンが含まれています。
K-Meansクラスタリングプロジェクト
K-Meansクラスタリングプロジェクト
このプロジェクトでは、実世界のデータセットにK-Meansクラスタリングを適用し、顧客をセグメント化します。目的は、顧客の支出パターンに基づいて顧客をグループ化することです。

データセットの概要
データセットの概要
データセットには、次の列が含まれています。
- 顧客ID: 各顧客を一意に識別するIDです。
- 年齢: 顧客の年齢です。
- 年間所得: 千ドル単位の年間所得です。
- 支出スコア: 顧客の行動や支出パターンに基づいて割り当てられたスコアです(1~100)。
ステップ1: データセットとライブラリのインポート
ステップ1: データセットとライブラリのインポート
まず、必要なライブラリをインポートし、データセットを読み込みます。
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
# Load dataset
data = pd.read_csv('Mall_Customers.csv')
print(data.head())ステップ2: データの前処理
ステップ2: データの前処理
クラスタリングに関連する特徴量を選択し、必要に応じてデータを正規化します。このプロジェクトでは、年間所得と支出スコアを使用します。
# Select relevant features
X = data[['Annual Income (k$)', 'Spending Score (1-100)']].values
print(X[:5])ステップ3: 最適なクラスター数の決定
ステップ3: 最適なクラスター数の決定
Kの値ごとにクラスター内平方和(WCSS)をプロットし、エルボー法を使って最適なクラスター数を見つけます。
wcss = []
for i in range(1, 11):
kmeans = KMeans(n_clusters=i, init='k-means++', random_state=42)
kmeans.fit(X)
wcss.append(kmeans.inertia_)
plt.plot(range(1, 11), wcss)
plt.title('Elbow Method')
plt.xlabel('Number of Clusters')
plt.ylabel('WCSS')
plt.show()ステップ4: K-Meansクラスタリングの適用
ステップ4: K-Meansクラスタリングの適用
エルボー法に基づいて最適なクラスター数(例: K=5)を選択し、K-Meansモデルを学習させます。
kmeans = KMeans(n_clusters=5, init='k-means++', random_state=42)
kmeans.fit(X)
# Add cluster labels to the dataset
data['Cluster'] = kmeans.labels_
print(data.head())ステップ5: クラスターの可視化
ステップ5: クラスターの可視化
2次元空間にクラスターをプロットして、それぞれの分離状態を確認できます。
plt.scatter(X[:, 0], X[:, 1], c=kmeans.labels_, cmap='viridis')
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s=200, c='red', marker='X')
plt.title('Customer Segmentation')
plt.xlabel('Annual Income (k$)')
plt.ylabel('Spending Score (1-100)')
plt.show()ステップ6: クラスターの解釈
ステップ6: クラスターの解釈
各クラスターは、支出パターンが似ている顧客のグループを表します。たとえば、次のようになります。
- クラスター1: 高所得・高支出。
- クラスター2: 低所得・低支出。
- クラスター3: 中程度の所得・高支出。
実世界のクラスタリングにおける課題
実世界のクラスタリングにおける課題
クラスタリングは強力な手法ですが、実世界での適用には次のような課題があります。
- 高次元のデータセット。
- ノイズが多いデータや不完全なデータ。
- クラスターの結果を意味のある形で解釈すること。
まとめと次のステップ
まとめと次のステップ
このプロジェクトでは、次のことを行いました。
- 実世界のデータセットを調査しました。
- K-Meansクラスタリングを適用し、結果を可視化しました。
- 顧客の行動を理解するためにクラスターを解釈しました。
次は、PCAやt-SNEなどの次元削減手法について学びます。

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