🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Python

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

Q&A

解決済

1回答

460閲覧

Keras ShapeのValue Errorが発生する

YMD_kts

総合スコア23

Python

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

0グッド

0クリップ

投稿2019/12/04 15:20

編集2019/12/05 14:03

4つの数の要素をA(1)かB(0)のラベル付けし、新たに与えた4つの数を、AかBかの分類をしたいです。

今、下記のコードで学習まではうまくいくのですが、test.csvという4つの数を入れたデータを、predict()で予測しようとすると”ValueError: Error when checking input: expected dense_1_input to have shape (4,) but got array with shape (1,)”とのエラーコードが出てしまいます。

入力データを3つ増やし4x4行列の形にするとキチンと予測はできます。
各行毎の4つのデータを入力している動作を想定しているので、自分の中では1x4の行列でも動くのではと考えたのですが、なぜエラーが起こるのかを知りたいです。

※shapeの結果を追記※
それぞれの行列のshapeは以下のとおりです。testdataが今、予測したいデータで、dataが教師データです。

Python

1>>> print(testdata.shape) 2(4,) 3>>> print(data.shape) 4(100, 4) 5>>>

入力データ

12.7404,15.3204,9.74263,13.086

教師データの一部

9.60385,11.0032,9.32986,9.25753 9.37304,13.0028,11.0855,9.64098 8.40733,12.6233,10.2337,8.79376 8.73675,12.249,8.87519,7.89159        ・        ・        ・ 11.7207,14.0737,10.9952,9.37442 12.7404,16.0793,14.1397,12.5642 11.2507,15.38,12.9987,12.0801 11.9871,15.1148,11.6168,10.9482 11.0797,13.8117,9.74263,8.2056 11.6802,15.2681,12.8943,12.1861

Python

1import numpy as np 2from keras.utils import np_utils 3from keras.models import Sequential 4from keras.layers import Dense, Activation 5 6data = np.loadtxt(fname="CSV/teacher.csv", delimiter=",") 7testdata = np.loadtxt(fname="CSV/test.csv", delimiter=",") 8 9labels = np.array( 10 [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 11 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]) 12labels = np_utils.to_categorical(labels) 13 14model = Sequential() 15model.add(Dense(10, input_dim=4)) 16model.add(Activation('relu')) 17model.add(Dense(2, activation='softmax')) 18 19model.compile('rmsprop', 'categorical_crossentropy', metrics=['accuracy']) 20 21model.fit(data, labels, epochs = 100, validation_split = 0.2) 22 23test=model.predict(testdata) 24print(test) 25

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

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

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

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

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

WathMorks

2019/12/04 22:54 編集

data.shape? testdata.shape?
YMD_kts

2019/12/05 13:31

testdataは1行4列なのに何故か(4, )になっている??ということでしょうか >>> print(testdata.shape) (4,) >>> print(data.shape) (100, 4) >>>
guest

回答1

0

ベストアンサー

testdataのshapeを変更.

python

1testdata=testdata.reshape((1,4))

投稿2019/12/05 14:08

WathMorks

総合スコア1582

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問