Как оценить результаты мультиклассовой классификации с помощью керас?

В вашем res / layout / my_image_layout.xml

<LinearLayout ...>
    <ImageView
        android:id="@+id/row_0_col_7"
      ...>
    </ImageView>
</LinearLayout>

Чтобы захватить этот ImageView по его значению @ + id, внутри вашего java-кода выполните следующее:

String row = "0";
String column= "7";
String tileID = "row_" + (row) + "_col_" + (column);
ImageView image = (ImageView) activity.findViewById(activity.getResources()
                .getIdentifier(tileID, "id", activity.getPackageName()));

/*Bottom code changes that ImageView to a different image. "blank" (R.mipmap.blank) is the name of an image I have in my drawable folder. */
image.setImageResource(R.mipmap.blank);  
0
задан beginner 8 March 2019 в 02:27
поделиться

1 ответ

Если вы хотите сделать мультиклассовую классификацию, вам нужно сделать one-hot encoding для ваших векторов меток. Благодаря вашему выводу y.values я предполагаю, что ваш y выглядит следующим образом [1,2,3,2...]. Однако Tensorflows KerasClassifier заботится об этом, что можно увидеть в исходном коде. (source) Таким образом, ваша метка будет превращена во что-то подобное [[0],[1],[2],[1],...]. На следующем шаге эти метки будут закодированы one-hot, что также можно увидеть в исходном коде. (source) Теперь ваша метка выглядит следующим образом [[1,0,0],[0,1,0],[0,0,1],[0,1,0]].

Так что, насколько я понимаю, все должно работать нормально, если вы используете только 3 класса в выходном слое вместо 4.

Так что проверьте еще раз ваши данные метки y, например, с np.unique(y.values). Я предполагаю, что вы случайно создали вектор метки, содержащий [0,1,2,3].

0
ответ дан pafi 8 March 2019 в 02:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: