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

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

新規登録して質問してみよう
ただいま回答率
85.46%
機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

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

Q&A

解決済

1回答

673閲覧

ニューラルネットワークのデータセットを自作したい

reonald

総合スコア32

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

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

0グッド

0クリップ

投稿2021/08/30 10:12

編集2021/08/31 01:56

1つにつき32個の説明変数があるデータをニューラルネットワークを用いて分類しようと考えております。
下記コードで実行するとエラーがはかれており,データセットに問題があるように感じております。

x_train, x_test, y_train, y_test = train_test_split(x, y, random_state=0) model = Sequential() model.add(Dense(64, input_shape=(32,))) model.add(Activation('relu')) model.add(Dense(2)) model.add(Activation('softmax')) model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy']) model.fit(x_train, y_train, epochs=50, batch_size=1, verbose=1) コード

ValueError Traceback (most recent call last)
<ipython-input-219-74a5dba309bb> in <module>
13 metrics=['accuracy'])
14
---> 15 model.fit(x_train, y_train, epochs=50, batch_size=1, verbose=1)

~\Anaconda3\lib\site-packages\keras\engine\training.py in fit(self, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, steps_per_epoch, validation_steps, validation_freq, max_queue_size, workers, use_multiprocessing, **kwargs)
1152 sample_weight=sample_weight,
1153 class_weight=class_weight,
-> 1154 batch_size=batch_size)
1155
1156 # Prepare validation data.

~\Anaconda3\lib\site-packages\keras\engine\training.py in _standardize_user_data(self, x, y, sample_weight, class_weight, check_array_lengths, batch_size)
577 feed_input_shapes,
578 check_batch_axis=False, # Don't enforce the batch size.
--> 579 exception_prefix='input')
580
581 if y is not None:

~\Anaconda3\lib\site-packages\keras\engine\training_utils.py in standardize_input_data(data, names, shapes, check_batch_axis, exception_prefix)
107 'Expected to see ' + str(len(names)) + ' array(s), '
108 'but instead got the following list of ' +
--> 109 str(len(data)) + ' arrays: ' + str(data)[:200] + '...')
110 elif len(names) > 1:
111 raise ValueError(

ValueError: Error when checking model input: the list of Numpy arrays that you are passing to your model is not the size the model expected. Expected to see 1 array(s), but instead got the following list of 15 arrays: [array([[ 0.760643 ],
[ 0.91330381],
[ 0.52514916],
[ 0.16961704],
[ 0.66449725],
[ 2.25417753],
[ 2.06594418],
[ 0.2528375 ],
[ 0.21528538],

データセットの中身としては,下記コードで,32個の説明変数が15個並んでいます。 print(x_train) [array([ 0.760643 , 0.91330381, 0.52514916, 0.16961704, 0.66449725, 2.25417753, 2.06594418, 0.2528375 , 0.21528538, 0.24195329, 0.25155039, 0.04400405, -0.1739297 , -0.09349887, -1.24956801, -3.63961769, -5.89976491, -5.49776232, -5.01901344, -4.64554026, -3.86204754, -3.00484203, -2.21088876, -1.36074419, 0.24956541, 1.64743452, 3.05722933, 3.99633029, 4.39890761, 4.03202918, 2.95143442, 2.03970101]), array([ 2.94759988, 2.79896159, 2.89764928, 1.63150254, 1.1801684 , -0.06477305, -2.29136925, -5.58224262, -8.66655086, -8.25844808, -8.21958692, -7.94494749, -5.55780875, -3.2330693 , -2.5119584 , -1.46001126, 0.18300875, 0.91282996, 1.88601019, 2.41982866, 2.47852456, 2.53993771, 2.62434906, 2.59779693, 2.60190464, 2.73902701, 2.71339058, 2.58677292, 2.62808054, 2.90806329, 3.00949456, 3.0124197 ]),,,,長いので割愛,,,array([-0.50919228, -1.15111024, -0.97059671, -0.73731728, -0.46018304, -0.31265216, -0.74083407, -0.90632558, -1.16044717, 0.16351139, 3.35191037, 3.49290353, 2.47960515, 3.57460082, 5.35686947, 7.555014 , 7.0167481 , 5.38131868, 2.64783503, 0.41553206, -0.59291507, -1.33021394, -1.66546423, -1.21327224, 0.14965562, 0.33658041, 0.5752023 , 0.37975368, -0.26144997, -0.68408863, -0.79221194, -0.94511027]), array([-0.82104337, -0.56753787, 0.40646625, 1.60257148, 4.25390584, 3.3334709 , 5.41427586, 3.95130451, 1.49495073, -0.23449351, -1.70157834, -2.51380426, -3.41586967, -3.97180985, -4.53896773, -5.10132785, -5.26561858, -5.0454105 , -3.47157631, -1.474477 , -1.08214912, -1.41153887, -1.61372976, -1.5948275 , -1.12161495, -0.56354437, -0.3094792 , -0.14591705, 0.09695019, -0.56586173, -0.97606889, -0.87066649])] コード
print(x_train[0]) print(y_train[0]) [ 0.760643 0.91330381 0.52514916 0.16961704 0.66449725 2.25417753 2.06594418 0.2528375 0.21528538 0.24195329 0.25155039 0.04400405 -0.1739297 -0.09349887 -1.24956801 -3.63961769 -5.89976491 -5.49776232 -5.01901344 -4.64554026 -3.86204754 -3.00484203 -2.21088876 -1.36074419 0.24956541 1.64743452 3.05722933 3.99633029 4.39890761 4.03202918 2.95143442 2.03970101] [0, 1] コード

どの部分が悪いのかがエラーコードを調べてもわからず,またデータセットの自作に関する情報が調べてもほとんど出てこず,困っております。
どなたかよろしくお願い致します。

print(x) print(y) array([ 0.63877363, -1.18558684, -3.95441766, -5.54374327, -5.66614682, -5.77863868, -6.11393435, -6.12404722, -5.63501602, -3.89419366, -1.91302061, -0.64483431, -0.51964627, -0.91687081, -1.01575272, -0.74721623, -0.9580329 , -1.2741244 , -2.38514971, -1.52713933, 1.0899802 , 0.17483437, 1.13533495, 1.07114987, 2.12267251, 2.44866801, 1.46534133, 1.94978188, 2.66508417, 1.77405095, 1.19485206, 0.70199413]), array([ 2.35237538, 2.36032771, 1.81146088, 0.57924325, -0.4735452 , -2.1810521 , -4.21004645, -5.14014711, -5.52692496, -6.02658031, -6.76096289, -6.61748657, -5.45352312, -4.41721424, -3.86864669, -3.66308418, -3.03721391, -2.42229521, -1.10577698, -0.01586895, 0.46273971, 1.3245013 , 2.21527579, 2.71822069, 3.08859117, 3.23433474, 3.02231468, 2.43582904, 2.025385 , 2.1829304 , 2.44394596, 2.57715299]) ,,省略しますがarray([])が間に17個省略しております。,,, array([ 1.63286853, 1.42868645, 1.66077192, 1.97057274, 2.16799191, 2.51692022, 2.97361465, 3.28745756, 2.44777273, 1.34380925, 0.52320868, -0.61933611, -1.48857955, -2.45271135, -4.5485158 , -5.94951537, -5.25295894, -6.28457938, -4.26021891, -0.42365348, 1.02469403, 0.89556432, 0.83167761, 1.10800578, 1.15684595, 0.97667516, 1.21031325, 1.12133771, 1.12090522, 1.67128883, 1.74388844, 1.81048203])] [[1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [0, 1], [0, 1], [0, 1], [0, 1], [0, 1], [0, 1], [0, 1], [0, 1], [0, 1], [0, 1]] コード

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

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

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

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

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

jbpb0

2021/08/30 10:37

> データセットの中身としては,下記コードで,32個の説明変数が15個並んでいます。 コードに print(x.shape) print(y.shape) を追加して実行したら、その結果の表示は下記のようになりますか? >>> print(x.shape) (15, 32) >>> print(y.shape) (15, 2)
reonald

2021/08/31 01:51

print(x.shape) AttributeError Traceback (most recent call last) <ipython-input-223-3c24bd30ab98> in <module> ----> 1 print(x.shape) AttributeError: 'list' object has no attribute 'shape' このエラーが返ってきます。
reonald

2021/08/31 01:53

print(x) print(y)の実行結果を質問修正で追加しておきます。
jbpb0

2021/08/31 02:48 編集

> AttributeError: 'list' object has no attribute 'shape' それでしたら、 import numpy as np print(np.array(x).shape) print(np.array(y).shape) を実行してください >>> print(np.array(x).shape) (15, 32) >>> print(np.array(y).shape) (15, 2) となりますか? 「15」はx, yで共通ならば違っても大丈夫ですが、xの「32」とyの「2」は違ったらダメだと思います
jbpb0

2021/08/31 03:02

もし、上記の確認をして大丈夫だったならば、 「...= train_test_split(...」 のすぐ上に、下記を追加してみてください import numpy as np x = np.array(x) y = np.array(y)
reonald

2021/08/31 03:58

無事回りました。 ありがとうございます。
guest

回答1

0

ベストアンサー

python

1x_train, x_test, y_train, y_test = train_test_split(x, y, random_state=0)

のすぐ上に、下記を追加してみてください

python

1import numpy as np 2x = np.array(x) 3y = np.array(y)

投稿2021/08/31 12:00

jbpb0

総合スコア7653

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問