質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
深層学習

深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

570閲覧

Python plot エラー

退会済みユーザー

退会済みユーザー

総合スコア0

深層学習

深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/05/27 02:08

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,)

どこを直せばグラフが得られるでしょうか。よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

neighbors, mean_scoreで要素数が違っているのが原因です。
違ってしまっている理由は、neighbors = list(range(2, 7))で5個に対し、mean_score=np.mean(scores)は毎回上書きしていて最後の値しか保存されていない1個だけです。

ご希望の形はわかりませんが、下記でいかがでしょう。

python3

1neighbors = list(range(2, 7)) 2mean_score= list() 3for k in neighbors: 4 scores = cross_val_score(knn, X_train, y_train, cv=k) 5 mean_score.append(np.mean(scores))

投稿2020/05/27 02:18

jeanbiego

総合スコア3966

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/05/27 02:24

できました!ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問