K-Meansクラスタリングプロジェクト
実際のデータセットに適用します
「K-Meansクラスタリングプロジェクト」はCoddyKit上の無料Learn AI with Pythonレッスンです。 これはレッスン3/5です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはLearn AI with Python学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Learn AI with Pythonコースには全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:クラスタの可視化
2D空間にクラスタをプロットして、クラスタ同士がどのように分離されているかを確認できます。
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チューター)、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は初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/5です。
「K-Meansクラスタリングプロジェクト」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このLearn AI with Pythonレッスンでコードを書いて実行できますか?
はい。すべてのLearn AI with Pythonレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- クラスタリングアルゴリズム入門
- K-Meansクラスタリング
- K-Meansクラスタリングプロジェクト
- 次元削減の基礎
- 次元削減の応用