Python

【Python】階層的クラスタリングの種類!樹形図はscipy♪

  • このエントリーをはてなブックマークに追加
  • LINEで送る

Pythonの階層的クラスタリングが今イチわからないアナタへ…

『階層的クラスタリングって何?』

『どんな種類があるの?』

『樹形図は出力できるの?』

このような疑問に答えます。


SEおっさん
SEおっさん
SE歴20年のオッサンが詳しく解説するぞい!
※保有資格
応用情報技術者/OracleMasterGold/Java EE Webコンポーネントディベロッパ/Pythonエンジニア認定データ分析/簿記2級

 

と勢い良く書いた記事ですが…

途中でわからなくなり解決できてません。ごめんなさい!!
『こんな奴もいるんだな』とか思ってもらえたり、
万が一、何かの役に立つかもしれないので残してます。

【Python】階層的クラスタリングって何?どんな種類があるの?

Pythonのクラスタリングで階層的クラスタリングがあります。

階層的クラスタリングってわかりずらい名前。

まず、
クラスターは集まるっていう意味です。

階層っていうのはWindowsのエクスプローラみたいな感じで芋を掘っていくようなイメージ。
集めながら、芋を掘る。
うーんわかるようなわからんような。

階層的っていうからには階層化されているんだなってことはわかるけど…

階層的クラスタリングは凝集型と分散型にわけれれます。

また、難しい言葉でてきたな。くそー。

凝集は、めっちゃ集まるってことか。
分散は、バラバラになるってことか。

Pythonエンジニア認定試験のデータ分析試験では、凝集型を扱ってます。
とりあえず、凝集型で。

階層的クラスタリング:凝集型

凝集型の階層的クラスタリングの手順

  1. 似ているデータをまとめて、小さなクラスタを作る(芋を掘る)
  2. 作った小さなクラスタと似ているデータをさらにまとめる(掘った芋をまとめる)
  3. 最終的に1つのクラスタにまとめるまで、上記を繰り返す(掘った穴は1つにする)

芋を掘るを用いると余計に分かり辛いか…

くそー。ごめん。

凝集型の階層的クラスタリングの実行できるScikit-learnのクラス

凝集型の階層的クラスタリングは

Scikit-learnのclusterモジュール内のAgglomerativeClausteringクラスでの実行できます。

なにわ友あれ、赤井英和! まちがえた。
なにはともあれ、データセットが必要です。
まずはデータセットから、おなじみのアヤメ(Iris)データセットを読み込みましょう。

Irisデータセットはアヤメの額の長さや花びらの長さと種類を持つデータです。

つまり、額の長さや花びらの長さが~なら、この種類のアヤメだよね~

ってことがわかるはずだ。という推測にもとづいて処理をしていくことになります。

from sklearn.datasets import load_iris
# Irisデータセットを読み込む
iris = load_iris()
data = iris.data
# 1, 3列目を抽出
X = data[:100, [0, 2]]
X
from sklearn.cluster import AgglomerativeClustering
# 擬集型の階層クラスタリングのインスタンスを作成
ac = AgglomerativeClustering(n_clusters=3, affinity='euclidean', linkage='complete')
# クラスタリングを実行し、各クラスのクラスタ番号を取得
labels = ac.fit_predict(X)
labels
array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
       1, 1, 1, 1, 1, 1, 2, 2, 2, 0, 2, 0, 2, 0, 2, 0, 0, 0, 0, 2, 0, 2,
       0, 0, 2, 0, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 2, 0, 2, 2, 2,
       0, 0, 0, 2, 0, 0, 0, 0, 0, 2, 0, 0], dtype=int64)

 

うーん。わからんな。
イメージは下から似てるデータをちょっとずつまとめていって、最後には1つにする。
と言った感じかなー

いやー、中途半端でごめんなさい!
とりあえず、勉強してるヤツがここにおる
ということで、終わりにさせてください。

ごめんよぉぉ。

SEおっさん
SEおっさん
ここまで読んでくれてありがとう!

プロフィールの詳細

【あきらめんな】未経験からプログラマーに転職する3つの方法!

未経験という理由であきらめてませんか?


『お金は無い!!』

『プログラマに変身したい!!』

『自由に転職活動を行いたい!!』

 

そんな、あなたには…
内定辞退しても無料が消滅しない0円スクール がオススメです。

無料のプログラミングスクールは数多くありますが、
「斡旋企業へ就職しなければ無料が消滅する」
というスクールが乱立しています。

斡旋された企業の内定を辞退したら、高額なお金を支払わなければならないのです。

 

斡旋先がブラック企業かもしれません
(まともなスクールなら無いとは思いますが…)

あなたが自ら動いた転職活動で、理想の企業から内定をもらえたらどうしますか?
苦労して勝ちとった理想の企業を選んだら、スクールから高額な支払いが待っているなんて…



『うぉーー』

ですよね。

 

0円スクール は内定辞退しても無料の条件は消滅しません。

分かりやすく言うと「ハローワークの職業訓練」みたいなものです。
おすすめする理由が、なんとなく分かりましたか?

もし仮に、あなたが0円スクールへ入学すれば…

  1. 現場に必要なスキルを3ヶ月で学習

    プログラミングの基礎からアプリ開発まで

  2. マナー講座の受講

    挨拶・礼儀、来訪・往訪マナーや電話応対練習
    報連相の重要性

  3. IT業界で働く上で必要な情報セキュリティについて学習
  4. 希望があれば株式会社ブレーンナレッジシステムズの正社員として積極的に雇用

    就職率は9割以上、断ってもOK
    自分でも就職活動して良い企業を探すことができる。

このようなことが無料でGetできます。
プログラマとして年収・やる気アップさせるチャンスです。

今はどこの企業もIT技術者不足に悩んでいます。

0円スクールで見事にプログラマへ転職した後、
プログラマとして経験を積めば、再転職で更なる年収アップが期待できる。
そんな現実的な世界があなたを待っています。

ひと言だけ付け加えさせてもらうなら、
プログラマとしてのスキルアップに試行錯誤は必要ですよ。
また、それも楽しかったりします(^^;

とりあえず、伝えたいのは


未経験という理由であきらないで!
無料の一歩を踏み出そう!!


ということです。

正直、ここでは伝えきれないので、0円スクール をクリックした方が早いです。
あなたに合うプログラミングスクールか吟味してみて!

体験入学・説明会も開催しています。
迷っていたら、あなたの目と耳で実際に確認してみてください

  • このエントリーをはてなブックマークに追加
  • LINEで送る

コメントを残す

*