Cara membuat kurva penarikan presisi dengan python


Saat menggunakan model klasifikasi dalam pembelajaran mesin, dua metrik yang sering kita gunakan untuk mengevaluasi kualitas model adalah presisi dan perolehan.

Akurasi : Benar prediksi positif relatif terhadap total prediksi positif.

Ini dihitung sebagai berikut:

  • Akurasi = Positif Benar / (Positif Benar + Positif Palsu)

Pengingat : Mengoreksi prediksi positif terhadap total positif aktual

Ini dihitung sebagai berikut:

  • Pengingat = Positif Benar / (Positif Benar + Negatif Palsu)

Untuk memvisualisasikan presisi dan perolehan model tertentu, kita dapat membuat kurva presisi-recall . Kurva ini menunjukkan trade-off antara presisi dan perolehan untuk ambang batas yang berbeda.

Kurva Penarikan Presisi dengan Python

Contoh langkah demi langkah berikut menunjukkan cara membuat kurva penarikan presisi untuk model regresi logistik dengan Python.

Langkah 1: Impor paket

Pertama, kami akan mengimpor paket yang diperlukan:

 from sklearn import datasets
from sklearn. model_selection import train_test_split
from sklearn. linear_model import LogisticRegression
from sklearn. metrics import precision_recall_curve
import matplotlib. pyplot as plt

Langkah 2: Sesuaikan model regresi logistik

Selanjutnya, kita akan membuat kumpulan data dan menyesuaikan model regresi logistik ke dalamnya:

 #create dataset with 5 predictor variables
X, y = datasets. make_classification (n_samples= 1000 ,
                                    n_features= 4 ,
                                    n_informative= 3 ,
                                    n_redundant= 1 ,
                                    random_state= 0 )

#split dataset into training and testing set
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size= .3 , random_state= 0 )

#fit logistic regression model to dataset
classifier = LogisticRegression()
classify. fit (X_train, y_train)

#use logistic regression model to make predictions
y_score = classify. predict_proba (X_test)[:, 1 ]

Langkah 3: Buat kurva perolehan presisi

Selanjutnya, kita akan menghitung presisi dan perolehan model serta membuat kurva perolehan presisi:

 #calculate precision and recall
precision, recall, thresholds = precision_recall_curve(y_test, y_score)

#create precision recall curve
fig, ax = plt. subplots ()
ax. plot (recall, precision, color=' purple ')

#add axis labels to plot
ax. set_title (' Precision-Recall Curve ')
ax. set_ylabel (' Precision ')
ax. set_xlabel (' Recall ')

#displayplot
plt. show () 

Kurva Penarikan Presisi dengan Python

Sumbu x menunjukkan perolehan dan sumbu y menunjukkan presisi untuk ambang batas yang berbeda.

Perhatikan bahwa seiring bertambahnya perolehan, presisi menurun.

Ini mewakili kompromi antara kedua metrik tersebut. Untuk meningkatkan perolehan model kita, presisi harus diturunkan dan sebaliknya.

Sumber daya tambahan

Cara Melakukan Regresi Logistik dengan Python
Cara Membuat Matriks Kebingungan dengan Python
Cara Menafsirkan Kurva ROC (dengan Contoh)

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *