###前提・実現したいこと
このコードでで実行しても何も起こりません。
原因は何でしょうか。教えてください。
###発生している問題
実行してもエラーも起きず実行結果も出ない。
###該当のソースコード
python
1from collections import Counter 2from matplotlib import pyplot as plt 3from sklearn import datasets, model_selection, metrics 4from sklearn.metrics import accuracy_score 5from sklearn.neighbors import KNeighborsClassifier 6import sklearn.datasets as datasets 7import numpy as np 8import pandas as pd 9import time 10state = np.random.RandomState(1) 11 12mnist = datasets.fetch_mldata('MNIST original', data_home='data/src/download/') 13 14 15def main(): 16 17# 特徴データとラベルデータを取り出す 18features = mnist.data 19targets = mnist.target 20 21train_dataX, test_dataX, train_dataY, test_dataY = model_selection.train_test_split(features,targets,test_size=0.3) 22 23 24# 検証する近傍数 25K = 10 26ks = range(1, K + 1) 27 28# 使う近傍数ごとに正解率&各経過時間を計算 29accuracy_scores = [] 30start = time.time() 31for k in ks: 32predicted_labels = [] 33elapsed_time = time.time() - start 34 35# モデルを学習 36model = KNeighborsClassifier(n_neighbors=k) 37model.fit(train_dataX,train_dataY) 38 39# 一つだけ取り除いたテストデータを識別 40predicted_label = model.predict(test_dataX) 41 42# 正解率を計算 43score = accuracy_score(targets, predicted_label) 44print('k={}: {}'.format(k, score)) 45 46accuracy_scores.append(score) 47 48# 各経過時間を表示 49print("経過時間:{:.2f}".format(elapsed_time)) 50 51# 使う近傍数ごとの正解率を折れ線グラフ 52X = list(ks) 53plt.plot(X, accuracy_scores) 54 55plt.xlabel('k') 56plt.ylabel('正解率') 57plt.show() 58 59 60if __name__ == '__main__': 61main()
###補足情報(言語/FW/ツール等のバージョンなど)
Anaconda3 python
インデントがなくなっています。コード修正ください。
回答1件
あなたの回答
tips
プレビュー