0Pricing
Learn AI with Python · レッスン

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クラスタリングを適用します。目的は、顧客を支出パターンに基づいてグループ化することです。

K-Meansクラスタリングプロジェクト — イラスト1

データセットの概要

データセットの概要

データセットには、次の列が含まれています。

  • 顧客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クラスタリングプロジェクト — イラスト10

よくある質問

「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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. クラスタリングアルゴリズム入門
  2. K-Meansクラスタリング
  3. K-Meansクラスタリングプロジェクト
  4. 次元削減の基礎
  5. 次元削減の応用
← Learn AI with Pythonに戻る