首页 > 解决方案 > 使用 Keras 模型的前 4 名预测

问题描述

我制作了自己的 Keras CNN 并使用下面的代码进行预测。预测给出了所有 143 个预测,而我只想要百分比最高的四个主要类别。

代码:

preds = model.predict(imgs)

for cls in train_generator.class_indices:

         x = preds[0][train_generator.class_indices[cls]]
         x_pred = "{:.1%}".format(x)
         value = (cls+":"+ x_pred)
         print (value)

预言:

Acacia_abyssinica:0.0%

Acacia_kirkii:0.0%


Acacia_mearnsii:0.0%

Acacia_melanoxylon:0.0%

Acacia_nilotica:0.0%

Acacia_polyacantha:0.0%

Acacia_senegal:0.0%

Acacia_seyal:0.0%

Acacia_xanthophloea:0.0%

Afrocarpus_falcatus:0.0%

Afzelia_quanzensis:0.0%

Albizia_gummifera:0.0%

Albizia_lebbeck:0.0%

Allanblackia_floribunda:0.0%

Artocarpus_heterophyllus:0.0%

Azadirachta_indica:0.0%

Balanites_aegyptiaca:0.0%

Bersama_abyssinica:0.0%

Bischofia_javanica:0.0%

Brachylaena_huillensis:0.0%

Bridelia_micrantha:0.0%

Calodendron_capensis:0.0%

Calodendrum_capense:0.0%

Casimiroa_edulis:0.0%

Cassipourea_malosana:0.0%

Casuarina_cunninghamiana:0.0%

Casuarina_equisetifolia:4.8%

Catha_edulis:0.0%

Cathium_Keniensis:0.0%

Ceiba_pentandra:39.1%

Celtis_africana:0.0%

Chionanthus_battiscombei:0.0%

Clausena_anisat:0.0%

Clerodendrum_johnstonii:0.0%

Combretum_molle:0.0%

Cordia_africana:0.0%

Cordia_africana_Cordia:0.0%

Cotoneaster_Pannos:0.0%

Croton_macrostachyus:0.0%

Croton_megalocarpus:0.0%

Cupressus_lusitanica:0.0%

Cussonia_Spicata:0.2%

Cussonia_holstii:0.0%

Diospyros_abyssinica:0.0%

Dodonaea_angustifolia:0.0%

Dodonaea_viscosa:0.0%

Dombeya_goetzenii:0.0%

Dombeya_rotundifolia:0.0%

Dombeya_torrida:0.0%

Dovyalis_abyssinica:0.0%

Dovyalis_macrocalyx:0.0%

Drypetes_gerrardii:0.0%

Ehretia_cymosa:0.0%

Ekeber_Capensis:0.0%

Erica_arborea:0.0%

Eriobotrya_japonica:0.0%

Erythrina_abyssinica:0.0%

Eucalyptus_camaldulensis:0.0%

Eucalyptus_globulus:55.9%

Eucalyptus_grandis:0.0%

Eucalyptus_grandis_saligna:0.0%

Eucalyptus_hybrids:0.0%

Eucalyptus_saligna:0.0%

Euclea_divinorum:0.0%

Ficus_indica:0.0%

Ficus_natalensi:0.0%

Ficus_sur:0.0%

Ficus_sycomorus:0.0%

Ficus_thonningii:0.0%

Flacourtia_indica:0.0%

Flacourtiaceae:0.0%

Fraxinus_pennsylvanica:0.0%

Grevillea_robusta:0.0%

Hagenia_abyssinica:0.0%

Jacaranda_mimosifolia:0.0%

Juniperus_procera:0.0%

Kigelia_africana:0.0%

Macaranga_capensis:0.0%

Mangifera_indica:0.0%

Manilkara_Discolor:0.0%

Markhamia_lutea:0.0%

Maytenus_senegalensis:0.0%

Melia_volkensii:0.0%

Meyna_tetraphylla:0.0%

Milicia_excelsa:0.0%

Moringa_Oleifera:0.0%

Murukku_Trichilia_emetica:0.0%

Myrianthus_holstii:0.0%

Newtonia_buchananii:0.0%

Nuxia_congesta:0.0%

Ochna_holstii:0.0%

Ochna_ovata:0.0%

Ocotea_usambarensis:0.0%

Olea_Europaea:0.0%

Olea_africana:0.0%

Olea_capensis:0.0%

Olea_hochstetteri:0.0%

Olea_welwitschii:0.0%

Osyris_lanceolata:0.0%

Persea_americana:0.0%

Pinus_radiata:0.0%

Podocarpus _falcatus:0.0%

Podocarpus_latifolius:0.0%

Polyscias_fulva:0.0%

Polyscias_kikuyuensis:0.0%

Pouteria_adolfi_friedericii:0.0%

Prunus_africana:0.0%

Psidium_guajava:0.0%

Rauvolfia_Vomitoria:0.0%

Rhus_natalensis:0.0%

Rhus_vulgaris:0.0%

Schinus_molle:0.0%

Schrebera_alata:0.0%

Sclerocarya_birrea:0.0%

Scolopia_zeyheri:0.0%

Senna_siamea:0.0%


Sinarundinaria_alpina:0.0%

Solanum_mauritianum:0.0%

Spathodea_campanulata:0.0%

Strychnos_usambare:0.0%

Syzygium_afromontana:0.0%

Syzygium_cordatum:0.0%

Syzygium_cuminii:0.0%

Syzygium_guineense:0.0%

Tamarindus_indica:0.0%

Tarchonanthus_camphoratus:0.0%

Teclea_Nobilis:0.0%

Teclea_simplicifolia:0.0%

Terminalia_brownii:0.0%

Terminalia_mantaly:0.0%

Toddalia_asiatica:0.0%

Trema_Orientalis:0.0%

Trichilia_emetica:0.0%

Trichocladus_ellipticus:0.0%

Trimeria_grandifolia:0.0%

Vangueria_madagascariensis:0.0%

Vepris_nobilis:0.0%

Vepris_simplicifolia:0.0%

Vernonia_auriculifera:0.0%

Vitex_keniensis:0.0%

Warburgia_ugandensis:0.0%

Zanthoxylum_gilletii:0.0%

Mahogany_tree:0.0%

标签: kerasprediction

解决方案


您可以获取所有预测,对它们进行排序并获得前四名

preds = model.predict(imgs)
sorted_preds = []

for cls in train_generator.class_indices:
     x = preds[0][train_generator.class_indices[cls]]
     x_pred = "{:.1%}".format(x)
     sorted_preds.append([x, x_pred, cls])
top_4 = sorted(sorted_preds, reverse=True)[:4]

推荐阅读