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

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

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

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

Python

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

Q&A

解決済

1回答

6071閲覧

機械学習でエラー could not broadcast input array from shape (2,1) into shape (2)

Rondon7251

総合スコア89

機械学習

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

Python

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

0グッド

0クリップ

投稿2019/10/25 03:07

機械学習で次のエラーが出ます。
could not broadcast input array from shape (2,1) into shape (2)

以下コードとCSVファイルです。

import tensorflow as tf import tensorflow.contrib.keras as keras from sklearn.model_selection import train_test_split import pandas as pd import numpy as np # データの読み込み --- (*1) analysisresults_data = pd.read_csv("analysis_resultstable_BX.csv",encoding="utf-8") # データをラベルと入力データに分離する y = analysisresults_data.loc[:,"Result"] x = analysisresults_data.loc[:,["Signatures_id","Hit_count"]] # 学習用とテスト用に分割する --- (*2) x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0.2, train_size = 0.8, shuffle = True) # モデル構造を定義 --- (*3) Dense = keras.layers.Dense model = keras.models.Sequential() model.add(Dense(10, activation='relu', input_shape=(1,))) model.add(Dense(2, activation='softmax')) # ---(*3a) # モデルを構築 --- (*4) model.compile( loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy']) # 学習を実行 --- (*5) model.fit(x_train, y_train, batch_size=20, epochs=300) # モデルを評価 --- (*6) score = model.evaluate(x_test, y_test, verbose=1) print('正解率=', score[1], 'loss=', score[0])

csvファイル
イメージ説明

また試したこととして
(1)
could not broadcast input array from shape (2,1) into shape (2)
は入力の型と入力層のユニットがあっていないためとアドバイスをもらい。

model.add(Dense(10, activation='relu', input_shape=(2,)))
をしましたがダメでした。

(2)
【原因】
fit及びevaluateで渡しているy_train, y_testの形状とネットワークの出力の形状が異なる。

【対策】
ネットワーク定期の二つ目のDenseを2→1に変更。
activationをsoftmax→sigmoidに変更。
lossをcategolical_crossentropy→crossentropyに変更。
をしましたがダメでした

何かこの機械学習ディープラーニングを実行できる方法をわかる方がいましたら教えてください。

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

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

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

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

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

guest

回答1

0

ベストアンサー

(2)をした上で以下のようにyを変更してください

python

1y = analysisresults_data.loc[:,["Result"]]

投稿2019/10/25 03:34

qax

総合スコア622

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

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

Rondon7251

2019/10/25 03:59

lossをcategolical_crossentropy→crossentropyに変更。 するのにエラーを吐きます。 ValueError: Unknown loss function:crossentropy 何かわかりますか?
qax

2019/10/25 05:06

categolicalのままでもよいです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問