Jupyter notebook でPythonを実行しています。
交差検証のスコアを出し、その結果をグラフに表そうとしています。
#データの読み込み import numpy as np import pandas as pd #読み込みと削除 pima_tr = pd.read_csv('data2/pima_tr.csv' , encoding='UTF-8' , index_col=0) pima_te = pd.read_csv('data2/pima_te.csv' , encoding='UTF-8' , index_col=0) #結合 group_data = pd.concat([pima_tr, pima_te], ignore_index = True) #モジュール読み込み from sklearn import preprocessing from sklearn.model_selection import train_test_split from sklearn.model_selection import cross_val_score from sklearn.neighbors import KNeighborsClassifier from sklearn.metrics import confusion_matrix # データのスケーリングとtrainデータとtestデータに分ける X = preprocessing.scale(group_data[["npreg","glu","bp","skin","bmi","ped","age"]]) y = group_data.type X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0, train_size=0.7) knn = KNeighborsClassifier() knn.fit(X_train, y_train) neighbors = list(range(2, 7)) for k in neighbors: scores = cross_val_score(knn, X_train, y_train, cv=k) mean_score=np.mean(scores) # 結果の可視化 import matplotlib.pyplot as plt fig, ax = plt.subplots(figsize=(10, 6)) ax.plot(neighbors, mean_score) ax.set_xlabel('Number of Neighbors K') ax.set_ylabel('score')
しかし、以下のエラーが出ました
ValueError: x and y must have same first dimension, but have shapes (5,) and (1,)
どこを直せばグラフが得られるでしょうか。よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/05/27 02:24