よくある話

warning message in scikit-learn – StackOverflow

scikit-learnは簡単に使えてしまうので,初歩的な部分を見落としがち.この話も,落ち着いて順を追ってみていくと当たり前の話なんだけど,何だかんだで出来ちゃうから,理解が後回しになってしまったりする(目的に応じて「.reshape(1, -1)」か「.reshape(-1, 1)」で修飾しちゃうとできてしまうから).

from sklearn import tree

X = [
    [0, 0], 
    [1, 1], 
    [0, 1], 
    [1, 0]
]#shape = (4, 2)
Y = [0, 0, 1, 1]#shape = (4,)

clf = tree.DecisionTreeClassifier()
clf = clf.fit(X, Y)

print(clf.predict([[0, 1]]))#np.array([0, 1]).shape = (2,), np.array([[0, 1]]).shape = (1, 2)
print(clf.predict([[0, 0]]))#ex.
print(clf.predict([[1, 1]]))#np.array([0, 1]).reshape(1, -1) = (1, 2)(single sample)
print(clf.predict([[1, 0]]))#np.array([0, 1]).reshape(-1, 1) = (2, 1)(single feature)

[1]
[0]
[0]
[1]

行(row-wise)がサンプル数,列(column-wise)が特徴量の次元(feature)になっている.

広告
カテゴリー: 未分類 パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中