مثالی برای ماتریس درهم ریختگی در یادگیری ماشین با پایتون
مثالی برای ماتریس درهم ریختگی در یادگیری ماشین با پایتون
سلام دوستان
در این پست میخوام مثالی از ماتریس درهم ریختگی (confusion matrix ) بزنم تا با نحوه اجزای اون با پایتون آشنا بشیم.
کلا بهتون خلاصه و صریح و ساده بگم که هر موقع بخوایم میزان دقت یا خطای یه دسته بندی رو نسبت به یک کلاس خاص دسته بندی کنیم ماتریس درهم ریختگی به کمک ما میاد.
مثلا اگر بخواییم معیار سنجش خطامون تعداد بیمارانی که تست کرونای اونا در حقیقت مثبت بوده و پیش بینی ما هم تشخیص داده که کرونا دارن این روش به کار ما میاد.
بریم سراغ یه مثال برای درک بیشتر:(امیدوارم که پایتون کمی بلد باشین یا حداقل ژوپیتر رو نصب کرده باشین)
خب اول کتابخونه های مورد نیاز رو اضافه میکنیم:
from sklearn.metrics import confusion_matrix
from sklearn.metrics import accuracy_score
from sklearn.metrics import classification_report
بعد هم برای تست یه تعداد داده به عنوان داده های حقیقی و همچنین به همون تعداد داده به عنوان داده پیش بینی شده وارد میکنیم:
actual = ["Positive", "Negative" , "Positive", "Negative" ,"Positive","Positive", "Negative","Negative"]
predict = ["Negative", "Negative" , "Negative", "Positive" ,"Positive","Positive", "Negative","Positive"]
بعد داده ها رو توی confusion_matrix قرار میدیم و به اونا label اضافه میکنیم:
c = confusion_matrix(actual , predict , labels=["Positive" , "Negative"])
اگر c رو چاپ کنیم همچین چیزی میبینیم:

حالا اگر بخواییم accuracy score رو اندازه گیری کنیم (خلاصه یکی از معیار های سنجش دقت دسته بندی هست):
acc = accuracy_score(actual , predict)
اگه acc رو چاپ کنیم میبینیم که 0.5 رو نشون میده.
حالا بگمی این معیار خیلی خلاصه اگر بخوایم دقت و کیفیت دسته بندی و پیشبینی رو نسبت به مقدار حقیقی بسنجیم بریم ریزتر نگاه کنیم ، با این دستور :
cr = classification_report(actual,predict)
همونطور که از اسمش پیداست یه گزارش از classification به ما میده که با دستور print نمایشش میدیم:

به پایان آمد این مثال ساده از confusion matrix ولی حکایت از یادگیری ماشین همچنان باقی است.
یاحق