前提・実現したいこと
プログラミング初心者です。
Jupyternotebookで
決定木を使い乳癌のオリジナルの画像を読み込んで悪性か良性か
結果を出す機能をつけたいのですがどうすればいいかわかりません。
買った本に載っていたコードを用いて出来ないでしょうか?
簡単でいいのでお願いします。
発生している問題・エラーメッセージ
なし
該当のソースコード
Python
1from sklearn import datasets 2data = datasets.load_breast_cancer() 3 4data.data.shape 5 6data.feature_names 7 8data.target_names 9 10import sklearn.model_selection as ms 11X_train, X_test, y_train, y_test = ms.train_test_split(data.data, data.target, test_size=0.2, random_state=42) 12 13X_train.shape, X_test.shape 14 15from sklearn import tree 16dtc = tree.DecisionTreeClassifier(random_state=42) 17 18dtc.fit(X_train, y_train) 19 20dtc.score(X_train, y_train) 21 22dtc.score(X_test, y_test) 23 24with open("tree.dot", 'w') as f: 25 f = tree.export_graphviz(dtc, out_file = f, feature_names = data.feature_names, class_names = data.target_names) 26 27import numpy as np 28max_depths = np.array([1,2,3,5,7,9,11]) 29 30train_score = [] 31test_score = [] 32for d in max_depths: 33 dtc = tree.DecisionTreeClassifier(max_depth = d) 34 dtc.fit(X_train, y_train) 35 train_score.append(dtc.score(X_train, y_train)) 36 test_score.append(dtc.score(X_test, y_test)) 37 38import matplotlib.pyplot as plt 39%matplotlib inline 40plt.style.use('ggplot') 41 42plt.figure(figsize=(10, 6)) 43plt.plot(max_depths, train_score, 'o-', linewidth=3, label = 'train') 44plt.plot(max_depths, test_score, 's-', linewidth=3, label = 'test') 45plt.xlabel('max_depth') 46plt.ylabel('score') 47plt.ylim(0.85, 1.1) 48plt.legend() 49
試したこと
本の内容からネットで方法を探した。
回答1件
あなたの回答
tips
プレビュー