クラスタ分類に、pythonのkmeans()を使っていたのだけど、
毎回結果が異なるので、解析結果の資料を残すのに具合が悪い。
Kmeans法は初期クラスタを乱数で決めるので、
とりあえず乱数の種の方を固定しようと。。。
1 2 3 |
import random random.seed(0) |
しても、実行する度に結果が変わってしまう。
正解は
1 2 |
np.random.seed(0) |
でした。
使用している kmeans() が scipy.cluster.vq の物だったので。
OpenCV や scikit-learn にも kmeans があって、
それぞれ使っている乱数の関数が違うかも知れない。
それぞれで使っている乱数を調べないとね。