Π£ Π²Π°Ρ Π΅ΡΡΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΏΡΠΈΠ·Π½Π°ΠΊ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, "A"
, "B"
, "C"
), ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ Π² Π²ΠΈΠ΄Π΅ One-Hot Encoding, Π° Π·Π°ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ Π±ΡΠ»ΠΈ ΠΈΡΠΊΠ°ΠΆΠ΅Π½Ρ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΌ ΡΡΠΌΠΎΠΌ.
Π Π΅Π°Π»ΠΈΠ·ΡΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ recover_category(matrix, labels)
, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎ Π²Ρ
ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΠ΅ matrix
(ΡΠΏΠΈΡΠΎΠΊ ΡΠΏΠΈΡΠΊΠΎΠ², Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΡΡΠΎΠΊΠ° β Π²Π΅ΠΊΡΠΎΡ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠΈΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΏΠΎΡΠ»Π΅ ΡΡΠΌΠ°) ΠΈ ΡΠΏΠΈΡΠΊΡ labels
(Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ Π² Π½ΡΠΆΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅) Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ β ΡΡ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ»Π° 1 Π΄ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΡΠΌΠ°.
Π¨ΡΠΌ ΠΌΠ°Π»ΡΠΉ, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΡΡΡΠ°ΡΡ ΡΠΎΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 1.0 ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ 0.91, 0.0 β 0.08 ΠΈ Ρ.ΠΏ.).
Π Π΅ΡΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ
def recover_category(matrix, labels):
result = []
for row in matrix:
max_index = row.index(max(row))
result.append(labels[max_index])
return result
# ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
matrix = [
[0.05, 0.92, 0.03],
[0.89, 0.06, 0.12],
[0.12, 0.08, 0.83]
]
labels = ["A", "B", "C"]
print(recover_category(matrix, labels))
# ΠΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ: ['B', 'A', 'C']