Sa , karaniwang mayroon kaming 2 magkakaibang uri ng mga kaso ng paggamit, , at problema Ang Confusion Matrix ay tumutulong sa pagkalkula ng kawastuhan ng modelo ng pag-uuri na hindi direktang tumutulong sa amin upang ilarawan ang pagganap ng modelo ng pag-uuri. Ito ang pinakamahalagang hakbang pagdating sa pagsusuri ng isang modelo. Sasaklawin ko ang mga sumusunod na paksa sa artikulong ito:
1. Ano ang isang Confusion Matrix?
2. Katumpakan at Mga Bahagi ng Confusion Matrix
3. Precision, Recall at F-Sukat
4. Lumilikha ng isang Confusion Matrix sa pamamagitan ng paggamit ng Python at Sklearn
Ano ang isang Confusion Matrix?
Ang isang Confusion matrix ay ang buod ng paghahambing ng hinulaang mga resulta at ang tunay na mga resulta sa anumang kaso ng paggamit ng problema sa pag-uuri. Ang buod ng paghahambing ay lubhang kinakailangan upang matukoy ang pagganap ng modelo pagkatapos na ito ay sanay sa ilang data ng pagsasanay. Para sa isang kaso ng paggamit ng binary na pag-uuri, ang isang Confusion Matrix ay isang 2 × 2 matrix na kung saan ay ipinapakita sa ibabaHulaang Halaga ng Klase 1 EG: 1 | Hulaang Halaga ng Klase 2 EG: 0 | |
Tunay na Halaga ng Klase 1 EG: 1 | TP (Tunay na Positive) | FN (Maling Negatibo) |
Tunay na Halaga ng Klase 2 EG: 0 | FP (Maling Positive) | TN (Tunay na Negatibo) |
Mula sa figure sa itaas:
Meron kami,
- Tunay na halaga ng Class 1 = 1 na katulad sa Positibong halaga sa isang binary na kinalabasan.
- Tunay na halaga ng Class 2 = 0 na katulad sa isang negatibong halaga sa kinalabasan ng binary.
Ang index ng kaliwang bahagi ng matrix ng pagkalito ay karaniwang nagpapahiwatig ng Mga Aktwal na Halaga at ang tuktok na haligi ay nagpapahiwatig ng Mga Hinalagang Halaga.
Mayroong iba't ibang mga sangkap na mayroon kapag lumikha kami ng isang matrix ng pagkalito. Ang mga sangkap ay nabanggit sa ibaba
Positibo (P): Ang hinulaang resulta ay Positibo (Halimbawa: Ang imahe ay pusa)
Negatibo (N): ang hinulaang resulta ay Negatibo (Halimbawa: Ang mga imahe ay hindi isang pusa)
kung paano makakuha ng haba ng array sa javascript
Tunay na Positibo (TP): Dito ipinahiwatig ng TP ang hinulaang at ang mga tunay na halaga ay 1 (Totoo)
Tunay na Negatibo (TN): Dito ipinahiwatig ng TN ang hinulaang at ang tunay na halaga ay 0 (Mali)
Maling Negatibo (FN): Dito ipinapahiwatig ng FN na ang hinulaang halaga ay 0 (Negatibo) at ang Tunay na halaga ay 1. Narito ang parehong mga halaga ay hindi tumutugma. Samakatuwid ito ay Maling Negatibo.
Maling Positive (FP): Dito ipinahiwatig ng FP ang hinulaang halaga ay 1 (Positibo) at ang aktwal na halaga ay 0. Narito muli ang parehong halaga ng mga hindi pagtutugma. Samakatuwid ito ay Maling Positive.
Katumpakan at Mga Bahagi ng Confusion Matrix
Matapos malikha ang matrix ng pagkalito at natutukoy namin ang lahat ng mga halaga ng mga bahagi, naging madali para sa amin na kalkulahin ang kawastuhan. Kaya, tingnan natin ang mga bahagi upang higit na maunawaan ito.- Katumpakan ng Pag-uuri
Mula sa pormula sa itaas, ang kabuuan ng TP (True Positive) at ang TN (True Negative) ay ang tamang hinulaang mga resulta. Samakatuwid upang makalkula ang kawastuhan sa porsyento, hinahati namin sa lahat ng iba pang mga bahagi. Gayunpaman, mayroong ilang mga problema sa kawastuhan at hindi namin ito ganap na nakasalalay.
Isaalang-alang natin na ang aming dataset ay ganap na hindi balanse. Sa senaryong ito, 98% kawastuhan ay maaaring maging mabuti o masama batay sa pahayag ng problema. Samakatuwid mayroon kaming ilang higit pang mga pangunahing term na makakatulong sa amin upang matiyak ang tungkol sa katumpakan na kinakalkula namin. Ang mga tuntunin ay tulad ng ibinigay sa ibaba:
- TPR (True Positive Rate) o Sensitivity:
Ang True Positive rate na kilala rin bilang Sensitivity ay sumusukat sa porsyento ng True Positive patungkol sa Kabuuang Aktwal na Mga Positibo na ipinahiwatig ng (TP + FN)
Hulaang Halaga ng Klase 1 EG: 1 | Hulaang Halaga ng Klase 2 EG: 0 | Kabuuan | |
Tunay na Halaga ng Klase 1 EG: 1 | TP (Tunay na Positive) | FN (Maling Negatibo) | Kabuuang Tunay na Mga Positive |
Tunay na Halaga ng Klase 2 EG: 0 | FP (Maling Positive) | TN (Tunay na Negatibo) | Kabuuang Mga Tunay na Negatibo |
- TNR (True Negative Rate) o Pagtitiyak:
Sinusukat ng Tunay na Negatibong Rate o Pagtitiyak ang proporsyon ng mga aktwal na negatibo patungkol sa Kabuuang Mga Negatibo
Hulaang Halaga ng Klase 1 EG: 1 | Hulaang Halaga ng Klase 2 EG: 0 | Kabuuan | |
Tunay na Halaga ng Klase 1 EG: 1 | TP (Tunay na Positive) | FN (Maling Negatibo) | Kabuuang Tunay na Mga Positive |
Tunay na Halaga ng Klase 2binago ng java ang binary sa decimal EG: 0 | FP (Maling Positive) | TN (Tunay na Negatibo) | Kabuuang Mga Tunay na Negatibo |
TNR = Tunay na Negatibo / (Tunay na Negatibo + Maling Positive)
- Maling Positive Rate (FPR):
Maling Positive Rate ay ang porsyento ng Hulaang Mali Positibo (FP) sa Kabuuang Hindi ng Hulaang Positive na Mga Resulta (TP + FP).
Hulaang Halaga ng Klase 1 EG: 1 | Hulaang Halaga ng Klase 2 EG: 0 | |
Tunay na Halaga ng Klase 1 EG: 1 | TP (Tunay na Positive) | FN (Maling Negatibo) |
Tunay na Halaga ng Klase 2 EG: 0 | FP (Maling Positive) | TN (Tunay na Negatibo) |
Kabuuan ng Kabuuang Hulaang Positive | Kabuuan ng Kabuuang Predikadong Negatibo |
- Maling Negatibong Rate (FNR):
Maling Negatibong Rate ay ang porsyento ng Hulaang Maling Negatibo (FP) sa Kabuuang Hindi ng Hulaang Negatibong Mga Resulta (TN + FN).
Precision, Recall, at F-Sukat
- Alalahanin:
Ang isang pagpapabalik ay katulad ng Tunay na Positibong Rate at ito ang proporsyon ng Kabuuang bilang ng mga hinulaang positibong halaga (TP) nang wasto sa lahat ng mga Positibong Halaga.
- Katumpakan:
Karaniwang ipinapahiwatig ng Precision ang lahat ng mga puntos na hinulaan ng modelo na maging positibo at kung anong porsyento sa kanila ang talagang Positive.
Ang Precision at Recall ay mga resulta ng sukatan na nakatuon sa positibong klase tulad ng ipinapakita mula sa mga nabuong formula.
- F-Sukatin
Kaya't ang F-Sukatin ay isang pamamaraan na pinagsasama ang parehong diskarteng Precision at Recall at gumagamit ito ng Harmonic Mean sa lugar ng karaniwang Arithmetic Mean, dahil kung saan pinaparusahan ang matinding halaga. Ang F-panukalang-batas ay tinatawag ding F1- iskor at ibinigay ng pormula sa ibaba.
ano ang mga halimbawa ng variable sa java
Isaalang-alang natin ang isang halimbawa at tingnan kung paano natin makalkula ang Kawastuhan, Katumpakan, Paggunita at ang iskor na F1.
N = 165 | Hinulaan YES | Hinulaang HINDI |
Tunay na YES | TP = 150 | FN = 10 |
Kasalukuyang HINDI | FP = 20 | TN = 100 |
- Katumpakan = (TP + TN) / (TP + TN + FP + FN) = (150 + 100) / (150 + 100 + 20 + 10) = 0.89
- Alalahanin = TP / (TP + FN) = 150 / (150 + 10) = 0.93
- Katumpakan: TP / (TP + FP) = 150 / (150 + 20) = 0.88
- F-sukat = (2 * Recall * Precision) / (Recall + Presision) = (2 * 0.93 * 0.88) / (0.93 + 0.88) = 0.90
Lumilikha ng isang Confusion Matrix sa pamamagitan ng paggamit ng Python at Sklearn
Makikita natin ngayon ang isang halimbawa kung paano kami makakalikha ng isang matrix ng pagkalito gamit ang sawa kasama ang sklearn library.
isa Sa una, lilikha kami ng ilang listahan ng aktwal na data at hinulaang suriin ang kawastuhan tulad ng ipinakita sa ibaba
# Python script para sa paglikha ng pagkalito ng matrix. actual_data = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] hinulaan_data = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1]
2. Kailangan naming i-import ang pagkalito matrix mula sa sklearn library tulad ng ipinakita sa ibaba:
mula sa sklearn.metrics mag-import ng pagkalito_matrix
3. Susunod, lilikha kami ng matrix ng pagkalito tulad ng ipinakita sa ibaba:
final_results = pagkalito_matrix (actual_data, hinulaang_data)
Apat. Ngayon ay maaari na nating magpatuloy at kalkulahin ang kawastuhan sa pamamagitan ng pag-import ng library tulad ng ipinakita sa ibaba:
mula sa sklearn.metrics pag-import ng katumpakan_score kawastuhan = kawastuhan_score (aktwal_data, hinulaan_data)
5. Panghuli, kinukuwenta namin ang F1-score o F- Sukat tulad ng ipinakita sa ibaba:
mula sa sklearn.metrics import classification_report report = classification_report (actual_data, predected_data)
Nasa ibaba ang Kumpletong Code:
actual_data = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] hinulaan_data = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1] mula sa sklearn.metrics pag-import ng pagkalito_matrix final_results = pagkalito_matrix (actual_data, hinulaan_data) pag-print (final_results) mula sa sklearn.metrics pag-import ng katumpakan_score katumpakan = katumpakan_score (aktwal na_data, hinulaan_data) mula sa sklearn.metrics pag-uuri ng pag-uuri_report ulat = pag-uuri_report actual_data, hinulaang_data) print (kawastuhan) print (ulat)
Kaya, sa pamamagitan nito, natapos na tayo sa artikulong ito. Inaasahan kong ang lahat ng iyong pagkalito tungkol sa Confusion Matrix ay nalutas na ngayon.
Edureka’s tumutulong sa iyo na makakuha ng kadalubhasaan sa iba't ibang mga algorithm sa pag-aaral ng makina tulad ng pagbabalik, pag-cluster, mga puno ng pagpapasya, random na kagubatan, Naïve Bayes at Q-Learning. Ang Pag-aaral ng Makina na ito na gumagamit ng Pagsasanay sa Python ay naglalantad sa iyo sa mga konsepto ng Istatistika, Serye ng Oras at iba't ibang mga klase ng mga algorithm sa pag-aaral ng makina tulad ng pinangangasiwaan, hindi suportadong mga algorithm ng pampalakas. Sa buong Kurso sa Pagpapatunay sa Agham ng Data, malulutas mo ang mga pag-aaral ng kaso ng totoong buhay sa Media, Pangangalaga sa Kalusugan, Social Media, Aviation, HR.