こんにちは〜ららぽてすらです♪
今日は、データ分析の中でも人気の「クラスタリング」についてお話します!
1. クラスタリングとは?
みんながよく行くスーパーのフルーツ売り場を想像してみてください。リンゴ、バナナ、オレンジ…。これらはそれぞれ「フルーツ」という大きなカテゴリに属していますよね。クラスタリングとは、大量のデータの中から、似た特性を持つものを「グループ」にまとめる方法のこと。つまり、リンゴやバナナのように、似たものをひとまとめにするのです!
2. なぜクラスタリングが大事なの?
データがたくさんあると、どんな特徴や傾向があるのか一目でわかりにくいですよね。クラスタリングを使えば、そのデータの「グループ化」ができ、どんな特性のデータが多いのか、どのデータが似ているのかが瞬時に把握できるようになるんです。
3. 実際の使い方は?
例えば、ショッピングサイトの利用者データがあったとして、どんな顧客が多いのか、どんな商品が人気なのかを知りたいとき、クラスタリングを使えば、似たような購買傾向の顧客をグループ化できます。これにより、新しいキャンペーンやサービスを計画するときの参考になりますよ!
クラスタリングを学ぶ上で、一番手軽で理解しやすい方法は、実際にコードを書いて試してみることです。ここではPythonとsklearnライブラリを使って、KMeansクラスタリングを実行してみましょう!
1. 必要なライブラリのインポート
from sklearn.cluster import KMeans
import numpy as np
import matplotlib.pyplot as plt
2. データの準備
ここではサンプルとして、ランダムな点を生成します。
# ランダムな点を100個生成
X = -2 * np.random.rand(100,2)
X1 = 1 + 2 * np.random.rand(50,2)
X[50:100, :] = X1
3. データをプロットして確認
plt.scatter(X[:, 0], X[:, 1], s=50)
plt.show()
4. KMeansクラスタリングの実行
ここではクラスタの数を2としています。
kmeans = KMeans(n_clusters=2)
kmeans.fit(X)
5. クラスタの中心と結果をプロット
plt.scatter(X[:, 0], X[:, 1], s=50, c=kmeans.labels_)
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s=200, marker='X', c='red')
plt.show()
【説明】: