الگوریتم kNN – بخش دوم – تشخیص ارقام 9-0 از تصاویر دستخط افراد

در پست قبل با یک مثال ساده درباره طبقه بندی فیلم، روند کلی الگوریتم kNN رو بررسی کردیم. در این پست یک مثال کابردی تر رو پیاده می کنیم. مثال و کدها این پست همگی متعلق به کتاب Machine Learning in Action آقای Peter Harrington می باشد. کتاب قدیمی که آخرین چاپش برای سال 2012 هست. کدها و پکیج های به روزتری در حال حاضر وجود دارند که می تونند جایگزین کدهای کتاب شوند ولی خالی از لطف نیست که کدهای مربوط به این الگوریتم رو چک کنیم هر چند در پست بعدی kNN از پکیج scikit-learn برای این منظور استفاده می کنیم.

داده های این مثال در قالب فایل های فشرده قابل دانلود برای سیستم عامل های مختلف موجود هستند. داده های پروژه تشخیص ارقام طی یک سری برنامه های پیش پردازش که توسط موسسه NIST فراهم شده توسط پژوهشگران دانشگاه کالیفرنیا (UCI) مورد استفاده قرار گرفت. تصاویر ارقام از فایل های bitmap دستخط  افراد مختلف که بر روی صفحات فرم ها چاپ شده بود استخراج گردید. از دستخط 43 نفر، دستخط 30 نفر به عنوان داده های train و مابقی برای test استفاده شد. تصاویر دستخط ها در قالب ماتریس های 8 در 8 که هر عضوی از ماتریس در بازه 0 تا 16 قرار داره پردازش و آماده شد.

در ابتدا نمایی از ارقام و شکل ظاهری اون ها رو در با هم مشاهده کنیم تا به آماده سازی و مدل سازی برسیم.

فایل های پردازش شده و آماده در قالب فایل ها متنی رو از لینک زیر دانلود کنید.

دانلود فایل داده ها

به منظور آماده سازی و مدلسازی توابع زیر را وارد می کنیم و البته آدرس فایل داده ها رو در کد تغییر بدید و با اجرا تابع ()handwritingClassTest خروجی رو مشاهده می کنید. در این مثال فقط دقت خروجی رو قرار دادم ولی می تونید در قالب فایل های متنی خروجی رو ذخیره کنید.

خروجی :

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

Fill out this field
Fill out this field
لطفاً یک نشانی ایمیل معتبر بنویسید.

فهرست