Преобразование массива в процентах в Numpy - PullRequest
0 голосов
/ 07 ноября 2018

Я точно настроил модель и вернул предсказания в переменную результата, но получил массив с плавающей точкой. Как я могу конвертировать это в процентах и ​​распечатать с этикетками. Также, как вернуть 5 лучших прогнозов.

result = model.predict(test_image) 



print (result)

[[6.4043561e-05 4.0387777e-06 5.7413094e-05 4.3322724e-01 4.8211630e-05


 3.2328039e-03 5.4211664e-04 5.6212872e-01 6.7689107e-04 1.8414050e-05]]

Мои ярлыки хранятся в индексах классов

test_labels = test_batches.classes
test_labels

test_batches.class_indices
{'Name1': 0,
'Name2': 1,
'Name3': 2,
'Name4': 3,
'Name5': 4,
'Name6': 5,
'Name7': 6,
'Name8': 7,
'Name9': 8,
'Name10': 9}

1 Ответ

0 голосов
/ 07 ноября 2018

Я предполагаю, что вы хотите получить точность вашей модели в процентах от правильно классифицированных примеров. Значения в массиве, вероятно, являются логитами (уверенность модели в том, что данный конкретный пример ввода соответствует каждой возможной метке. Наибольшее значение в массиве соответствует наиболее вероятному классу (прогнозу) вашей модели для ввода. Если вы хотите вычисляя точность 5, вы проверяете (для каждого входа), соответствует ли одно из 5 самых больших значений в массиве правильной метке. В этом случае вы рассматриваете этот пример как правильно классифицированный, а затем подсчитываете общее количество правильно классифицированных примеров, разделите их на общее количество примеров и умножьте на 100, чтобы получить свой процент.

...