#author("2020-07-17T08:18:46+00:00","default:f-lab","f-lab")
[[個人ページ>seminar-personal/chin2017]]
&br;
[[N班ゼミ>http://f-lab.mydns.jp/index.php?seminar-N-2020]]
|~目次|
|#contents|
&br;
* [#xdf8cace]

[[ゼミより抜粋>http://f-lab.mydns.jp/index.php?seminar-N-20200710]]
 k-means++を使ってみた †
 階層的クラスタリングより結果としては良く見える。
 クラスタ数はエイヤで決めている。
 x-means法という手法がある。
 未調査
  ↑
 研究のまとめ方について †
 どのような結論へ導くか?
 その方向に向かって論文を書く必要がある。
 せめてサジェストしたい。
 評価をどうするか?
 この方法でサジェストすると、現状のバラバラに決めている状況と比較して、より良くなっていることを示す。
 専攻ゼミナールが9/1
 8月中に投稿可能にする。
 これから新しいことはできないだろう。
 これまでにやったことをまとめる。
*まとめ [#x48b0645]
-1月~5月まで情報知識学会に向け研究
--クラスタリングの結果とを教師信号として、学習し、さしゃすとする結果を比較
-5月~7月クラスタ分析について
--前回ではk-means++を使ってみて、階層クラスタリングより結果が良かった
---クラスタでは一つ項目名しかないというクラスタに対してやはりあやしいか?
--階層クラスタリングとk-means両方もクラスタリングの結果で学習すれば、比較していかがでしょうか?
--8月末まであと一ヶ月半があるので、なんとかしたいな?
*k-means++について [#p6709025]
**クラスタ数を推定する方法 [#e8c339a6]
x-means法
--[[x-meansとは>http://data-analysis-stats.jp/2019/05/26/x-means%E6%B3%95%E3%81%A7%E3%82%AF%E3%83%A9%E3%82%B9%E3%82%BF%E6%95%B0%E3%82%92%E6%8E%A8%E5%AE%9A%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/]]
---x-meansは、k-meansのクラスター数kを自動推定しつつクラスタリングしてくれる手法です。k-meansの逐次繰り返しとBIC(Bayesian information criterion)による分割停止基準を用いて最適なクラスター数を決定します。 BICは重心の近くにガウス分布している仮定してBICを計算します。
--詳細:[[x-means>http://data-analysis-stats.jp/2019/05/26/x-means%E6%B3%95%E3%81%A7%E3%82%AF%E3%83%A9%E3%82%B9%E3%82%BF%E6%95%B0%E3%82%92%E6%8E%A8%E5%AE%9A%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/]]の論文。
---[[x-means法改良の一提案 : k-means法の逐次繰り返しとクラスターの再併合>https://www.jstage.jst.go.jp/article/jscswabun/18/1/18_KJ00004375370/_pdf/-char/ja]]
--[[Pythonでx-means法を実装した>https://web-salad.hateblo.jp/entry/2014/07/19/200347]]
--特徴:クラスタ数を与えていなくても、上手くクラスタリングができる
--肝心のコード:https://gist.github.com/yasaichi/254a060eff56a3b3b858
--上記のソースコードを実行すると、エラーが出る。
 ---------------------------------------------------------------------------
 ValueError                                Traceback (most recent call last)
 <ipython-input-9-59ceea26960f> in <module>()
      92 
      93     # クラスタリングの実行
 ---> 94     x_means = XMeans(random_state = 1).fit(np.c_[x,y])
      95 
      96     # 結果をプロット
 
 2 frames
 <ipython-input-9-59ceea26960f> in build(cls, X, k_means, index)
      63         @classmethod
      64         def build(cls, X, k_means, index = None):
 ---> 65             if index == None:
      66                 index = np.array(range(0, X.shape[0]))
      67             labels = range(0, k_means.get_params()["n_clusters"])
 
 ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS