大学一年生です。授業でk-meansの最適なクラスター数を求めるために
エルボー法というものを教わりました。
各点と重心の距離を下図のようにプロットし、適切なクラスター数を求めるものらしいです。
これをみるとx = 5のあたりが一番勾配が落ち着いて良さそうなんですが、
pythonで勾配が落ち着き始める?という部分をデータとして発見するには(グラフを見るにではなく)どのようしたらいいのでしょうか。
大学数学も勉強中なのですが、微分を使えばいいのかもわからないレベルです。
体感的に学びたいのでコードも記載していただけると大変ありがたいです。
参考までに以下をコピペすれば上のような図が再現できると思います。
import matplotlib.pyplot as plt dists = [180844.0, 148735.71238484656, 123478.75889737954, 101680.34978588067, 84412.52218746395, 71046.36611856289, 63059.341093499075, 56036.34448908852, 50804.367892576454, 45700.67048684852, 42188.56997734512, 39560.01249011329, 37254.55124686431, 35001.7799667204, 33146.850866701694, 31262.564202145677, 29779.546914082315, 28132.689737583278, 26941.96273499936] plt.bar(range(1,20),dist)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。