回答編集履歴
3
fix typo
test
CHANGED
@@ -24,4 +24,4 @@
|
|
24
24
|
|
25
25
|
|
26
26
|
|
27
|
-
ひとまず原因の解説までに。対応方法はちょっと待ってください。もしかしたら別の方が答えてくれるかもしれません。
|
27
|
+
ひとまず原因の解説までに。対応方法はちょっと待ってください。もしかしたら別の方が答えてくれるかもしれません。もしくはone-hot encodingを調べてみてください。
|
2
追記
test
CHANGED
@@ -24,4 +24,4 @@
|
|
24
24
|
|
25
25
|
|
26
26
|
|
27
|
-
ひとまず原因の解説までに。対応方法はちょっと待ってください。もしかしたら別の方が答えてくれるかもしれません。結果を教えていただけませんか。
|
27
|
+
ひとまず原因の解説までに。対応方法はちょっと待ってください。もしかしたら別の方が答えてくれるかもしれません。結果を教えていただけませんか。もしくはone-hot encodingを調べてみてください。
|
1
追記
test
CHANGED
@@ -1 +1,27 @@
|
|
1
|
-
y_train.shapeもしくはlen(np.unique(y_train))の結果を教えていただけませんか。
|
1
|
+
y_train.shapeもしくはlen(np.unique(y_train))のy_train.shapeもしくはlen(np.unique(y_train))の結果を教えていただけませんか。
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
追記
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
原因は次の2つの機能の組み合わせによるものです。
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
1. 交差検証は手元にあるデータを訓練データと検証データに分割しますが、scikit-learnのGridSearchCVではデータを分割してからclassifierの.fitを呼び出す仕組みになっています。
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
2. kerasは入力の種類に応じて内部で対応表を作成します。たとえば、今回の場合y_trainは数値でクラスを表現していますが、文字列でも受け入れられるように作られています。ただし、この対応表が作成されるのは```.fit```が呼ばれたタイミングです。
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
これらを合わせて考えると、GridSearchCVのデータ分割でトレーニングデータのクラス数が23未満となり、その状態でmodel.fitでクラス数が23個未満の対応表が作られてしまいます。すると、モデルで定義されていた23個の出力数と整合性が取れなくなりエラーが発生するわけです。
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
ひとまず原因の解説までに。対応方法はちょっと待ってください。もしかしたら別の方が答えてくれるかもしれません。結果を教えていただけませんか。
|