generated at
東洋人はロジスティック回帰で西洋人は決定木
図のターゲットはグループ1にいれるのがよいか、グループ2に入れるのがよいか。
東洋人はグループ1、西洋人はグループ2を選ぶ傾向がある。

家族的類似性の問題は4次元ベクトルと2つのベクトル集合の類似度 see ベクトルの類似度
それぞれの集合はラベル付きで事前に与えられているので教師あり学習
花弁、花序、葉、茎の特徴をターゲットを(1, 1, 1, 1)として表現する
グループ1
(1, 1, 1, 0)
(1, 0, 1, 0)
(1, 1, 0, 0)
(0, 1, 1, 0)
グループ2
(0, 0, 1, 1)
(0, 0, 0, 1)
(0, 1, 0, 1)
(1, 0, 0, 1)
軸をそれぞれ(a, b, c, d)と呼ぶことにする
西洋型識別はd軸以外の情報を捨てて識別している
東洋型識別は全ての軸を使う

ロジスティック回帰だと「確率55%でグループ1」と判断する
python
import numpy as np from sklearn.linear_model import LogisticRegression X = np.array([ (1, 1, 1, 0), (1, 0, 1, 0), (1, 1, 0, 0), (0, 1, 1, 0), (0, 0, 1, 1), (0, 0, 0, 1), (0, 1, 0, 1), (1, 0, 0, 1)]) Y = np.array([0, 0, 0, 0, 1, 1, 1, 1]) m = LogisticRegression() m.fit(X, Y)

:
In [3]: m.coef_ Out[3]: array([[-0.47815958, -0.47815958, -0.47815958, 1.16980067]]) In [4]: m.intercept_ Out[4]: array([0.08158937]) In [5]: m.predict_proba([(1, 1, 1, 1)]) Out[5]: array([[0.54564474, 0.45435526]])

coef_を見ると、a, b, c軸に関して-0.48(弱くグループ1を示唆)、d軸に関して+1.17(強くグループ2を示唆)
ロジスティック回帰はこれを足し合わせるのでa, b, cの軸での判断が勝ち、僅差でグループ1という判断を下す。

決定木だと100%グループ2と判定する
python
from sklearn.tree import DecisionTreeClassifier m = DecisionTreeClassifier() m.fit(X, Y)

:
In [7]: m.predict_proba([(1, 1, 1, 1)]) Out[7]: array([[0., 1.]])
理由は簡単で、学習過程で「各軸の中で一番綺麗に割り切れるのはどれか」を探し、当然「dで判断する」という結論を導くから。識別フェーズではd以外の軸を見ていない。