Plan2:
Python Project (2)
Development of web applications for innovation café.
Tatsuya NAKAMURA
今日の内容
• とりあえず何か作ろう!
[お題]
• K-means クラスタリングの実装
2014/03/12
K-means クラスタリング
• 入力データをk個のクラスタ(データ集合)に分類
o 教師なし機械学習:データ・セットの中から構造を探し出すことが目的
o 非階層的クラスタリング
2014/03/12図は http://tech.nitoyon.com/ja/blog/2009/04/09/kmeans-visualise/ より引用
処理の流れ
1. ランダムにk個のクラスタの重心を配置
o 各データのクラスタをランダムに割り当てるのと同義
2. 各データを最も近い重心のクラスタに割り当て
3. 各クラスタの重心を再計算
4. 再割当てに変化がなくなるまで2,3を繰り返す
• もちろんデータセットの入出力も必要!
2014/03/12
データセット
• Iris dataset
• ユリの花(3品種, 各50本)について,
花の萼(がく)の長さと幅,花弁の長さと幅を計測した
データ
o Setosa, Versicolor, Verginica
o データ解析の入門書では必ずと言っていいほど出てくるデータセット
• データフォーマット
o カンマ区切りで以下の並び
o Sepal length, sepal width, petal length, petal width, class
• 以下のアドレスからDL可能
http://archive.ics.uci.edu/ml/datasets/Iris 2014/03/12
コード
• 以下のアドレスで公開
https://github.com/tlion/kmeans
2014/03/12

Python Project (2)