科学の箱

科学・IT・登山の話題

Python 機械学習

kaggle Titanic Tutorial – 3

投稿日:2018年5月24日 更新日:

DecitionTreeのパラメータを調整する。

まずはMaxDepthから


from sklearn.model_selection import LeaveOneOut
from sklearn.metrics import accuracy_score
MAX_DEPTH = 20
depths = range(1, MAX_DEPTH)

loo_Y = d_train["Survived"].values
loo_X = d_train[["Pclass", "Sex", "Age", "Fare", "Parch", "Embarked", "SibSp"]].values

accuracy_scores = []
for depth in depths:

predicted_labels = []
loo = LeaveOneOut()
for train_index, test_index in loo.split(loo_X):
X_train, X_test = loo_X[train_index], loo_X[test_index]
y_train, y_test = loo_y[train_index], loo_y[test_index]
clf = DecisionTreeClassifier(max_depth=depth)
clf.fit(X_train, y_train)

predicted_label = clf.predict(loo_X[test_index])
predicted_labels.append(predicted_label)

score = accuracy_score(loo_Y, predicted_labels)
print('max depth={0}: {1}'.format(depth, score))

max depth=1: 0.7867564534231201
max depth=2: 0.6936026936026936
max depth=3: 0.8181818181818182
max depth=4: 0.8237934904601572
max depth=5: 0.8181818181818182
max depth=6: 0.8103254769921436
max depth=7: 0.8215488215488216
max depth=8: 0.8249158249158249
max depth=9: 0.8204264870931538
max depth=10: 0.8148148148148148
max depth=11: 0.8058361391694725
max depth=12: 0.8002244668911336
max depth=13: 0.797979797979798
max depth=14: 0.7934904601571269
max depth=15: 0.7912457912457912
max depth=16: 0.7755331088664422
max depth=17: 0.77665544332211
max depth=18: 0.7833894500561167
max depth=19: 0.7744107744107744

MaxDepthは8を利用する。

メタ情報

inarticle



メタ情報

inarticle



-Python, 機械学習
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

dataanalysis-002-week5

ANOVA – quantitative 分散分析、数学的に分散分析と重回帰分析は同じ 分散分析では3群以上の平均の差異を検定する ただし非線形では異なる http://oshiete.g …

no image

グリッドサーチ

機械学習のアルゴリズムを利用する際に一つの問題がパラメータの最適化。例えばSVMではガンマパラメータを適切に設定しないと結果は使い物にならないことがある。このパラメータは自分で設定する方法もあるが、P …

no image

numpy.arange()を使って等差数列を生成する

等差数列を作るためにはnumpy.linspace()を使うと話をした。しかしlinspace()は要素数を指定するためにかえって混乱を招くことがある。そこで便利なのが公差を指定して配列を作ってくくれ …

no image

複数のグラフを表示する方法

ここでは以下を説明する。 複数のグラフを表示する2つの方法 サブプロットのグラフを整形 複数のグラフを表示する 複数のグラフを表示するためには二通りの方法がある。 subplots()を使ってあらかじ …

no image

手書き数字のデータセットについてイメージを確認

sklearnには手書き数字のデータが用意されている。このデータはイメージの分類モデルを学ぶためによいスタートである。今回はこのバイナリデータを読み込み、イメージとして確認する。 内容 load_di …

2018年5月
« 4月   6月 »
 123456
78910111213
14151617181920
21222324252627
28293031  

side bar top



アーカイブ

カテゴリー