- ライブラリのインポート: まず、ScipyからK-meansクラスタリングを実行するために必要なライブラリをインポートします。
from scipy.cluster.vq import kmeans, vq
- データの準備: K-meansクラスタリングを適用するために、分析対象のデータを準備します。ここでは、Numpy配列を使用してデータを表現します。
import numpy as np
# サンプルデータの作成
data = np.random.rand(1000, 2) # 1000行2列の乱数データ
- クラスタリングの実行: K-meansクラスタリングを実行し、データを指定した数のクラスタに分割します。クラスタ数は事前に指定する必要があります。
# クラスタ数の指定
k = 3
# K-meansクラスタリングの実行
centroids, labels = kmeans(data, k)
- 結果の表示: クラスタリングの結果を可視化するために、各データ点を対応するクラスタに割り当てます。
# データ点をクラスタに割り当て
clusters, _ = vq(data, centroids)
# クラスタリング結果の表示
import matplotlib.pyplot as plt
plt.scatter(data[:, 0], data[:, 1], c=clusters)
plt.scatter(centroids[:, 0], centroids[:, 1], c='red', marker='x')
plt.show()
以上がK-meansクラスタリングの基本的な手順とコード例です。これにより、データのクラスタリングと可視化が可能になります。さらに、Scipyには他のクラスタリング手法やデータ分析に役立つ多くの機能がありますので、興味があれば詳細を調べてみてください。