0Pricing
Python Academy · レッスン

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

実際のデータセットに適用します

「K-Meansクラスタリングプロジェクト」はCoddyKit上の無料Python Academyレッスンです。 これはレッスン3/5です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPython Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Python Academyコースには全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: クラスターの可視化

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

よくある質問

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

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

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