فهرست مندرجات[پنهان شدن][نمایش]
اگر یک برنامه نویس پایتون هستید یا اگر به دنبال یک ابزار قدرتمند برای استفاده برای معرفی یادگیری ماشین به یک سیستم تولید هستید، Scikit-learn کتابخانه ای است که باید آن را بررسی کنید.
Scikit-learn به خوبی مستند شده و استفاده از آن ساده است، چه در یادگیری ماشینی تازه کار باشید، چه بخواهید سریع راه اندازی کنید و چه بخواهید از به روزترین ابزار تحقیق ML استفاده کنید.
این به شما امکان می دهد یک مدل داده پیش بینی را تنها در چند خط کد بسازید و سپس از آن مدل برای مطابقت با داده های خود به عنوان یک کتابخانه سطح بالا استفاده کنید. این انعطاف پذیر است و به خوبی با دیگران کار می کند کتابخانه های پایتون مانند Matplotlib برای نمودار، NumPy برای بردار آرایه و پانداها برای تجسم داده ها.
در این راهنما، همه چیز را در مورد چیستی، نحوه استفاده از آن، همراه با مزایا و معایب آن خواهید فهمید.
چه شده است Scikit یاد بگیر?
Scikit-learn (همچنین به عنوان sklearn شناخته می شود) مجموعه متنوعی از مدل های آماری و یادگیری ماشین را ارائه می دهد. برخلاف اکثر ماژولها، sklearn به جای C در پایتون توسعه یافته است. با وجود توسعه در پایتون، کارایی sklearn به استفاده از NumPy برای عملیات جبر خطی و آرایه با کارایی بالا نسبت داده میشود.
Scikit-Learn به عنوان بخشی از پروژه Summer of Code گوگل ایجاد شد و از آن زمان زندگی میلیونها دانشمند داده پایتون محور در سراسر جهان را سادهتر کرده است. این بخش از مجموعه بر ارائه کتابخانه و تمرکز بر یک عنصر - تبدیل مجموعه داده ها متمرکز است که یک گام کلیدی و حیاتی قبل از توسعه یک مدل پیش بینی است.
این کتابخانه بر اساس SciPy (Scientific Python) است که قبل از استفاده از scikit-learn باید نصب شود. این پشته شامل موارد زیر است:
- NumPy: بسته آرایه n بعدی استاندارد پایتون
- SciPy: این یک بسته اساسی برای محاسبات علمی است
- پانداها: ساختار داده و تجزیه و تحلیل
- Matplotlib: این یک کتابخانه ترسیم 2 بعدی/3 بعدی قدرتمند است
- سیمپی: ریاضیات نمادین
- IPython: کنسول تعاملی بهبود یافته
کاربردهای کتابخانه Scikit-learn
Scikit-learn یک بسته پایتون منبع باز با تجزیه و تحلیل داده ها و ویژگی های استخراج پیچیده است. این نرم افزار دارای الگوریتم های داخلی فراوانی است که به شما کمک می کند از پروژه های علم داده خود بیشترین بهره را ببرید. کتابخانه Scikit-learn به روش های زیر استفاده می شود.
1. پسرفت
تحلیل رگرسیون یک تکنیک آماری برای تجزیه و تحلیل و درک ارتباط بین دو یا چند متغیر است. روش مورد استفاده برای انجام تجزیه و تحلیل رگرسیون به تعیین اینکه کدام عناصر مرتبط هستند، ممکن است نادیده گرفته شوند و نحوه تعامل آنها کمک می کند. به عنوان مثال، ممکن است از تکنیک های رگرسیون برای درک بهتر رفتار قیمت سهام استفاده شود.
الگوریتم های رگرسیون عبارتند از:
- رگرسیون خطی
- رگرسیون ریج
- رگرسیون لاسو
- رگرسیون درخت تصمیم
- جنگل تصادفی
- ماشینهای بردار پشتیبانی (SVM)
2. طبقه بندی
روش طبقه بندی یک رویکرد یادگیری نظارت شده است که از داده های آموزشی برای شناسایی مقوله مشاهدات تازه استفاده می کند. یک الگوریتم در Classification از یک داده می آموزد مجموعه داده یا مشاهدات و سپس مشاهدات اضافی را به یکی از چندین کلاس یا گروه بندی طبقه بندی می کند. برای مثال میتوان از آنها برای طبقهبندی ارتباطات ایمیل به عنوان هرزنامه یا نه استفاده کرد.
الگوریتم های طبقه بندی شامل موارد زیر است:
- رگرسیون منطقی
- K-نزدیکترین همسایه ها
- ماشین بردار پشتیبانی
- درخت تصمیم
- جنگل تصادفی
3. خوشه بندی
الگوریتم های خوشه بندی در Scikit-learn برای مرتب کردن خودکار داده ها با ویژگی های مشابه در مجموعه ها استفاده می شود. خوشهبندی فرآیند گروهبندی مجموعهای از اقلام است بهگونهای که آنهایی که در همان گروه هستند شبیهتر به موارد موجود در گروههای دیگر باشند. به عنوان مثال، داده های مشتری ممکن است بر اساس مکان آنها جدا شود.
الگوریتم های خوشه بندی شامل موارد زیر است:
- DB اسکن
- k-means
- k-mini-batch
- خوشه بندی طیفی
4. انتخاب مدل
الگوریتمهای انتخاب مدل روشهایی را برای مقایسه، اعتبارسنجی و انتخاب پارامترها و مدلهای بهینه برای استفاده در ابتکارات علم داده ارائه میکنند. با توجه به داده ها، انتخاب مدل مشکل انتخاب یک مدل آماری از گروهی از مدل های کاندید است. در ابتدایی ترین شرایط، مجموعه ای از داده های از قبل موجود در نظر گرفته می شود. با این حال، این کار ممکن است شامل طراحی آزمایشها نیز باشد تا دادههای بهدستآمده به خوبی برای مسئله انتخاب مدل مناسب باشند.
ماژول های انتخاب مدل که می توانند دقت را با تنظیم پارامترها بهبود بخشند عبارتند از:
- اعتبار سنجی متقابل
- جستجوی شبکه
- متریک
5. کاهش ابعاد
انتقال داده ها از فضایی با ابعاد بالا به فضایی با ابعاد پایین به طوری که نمایش با ابعاد پایین برخی از جنبه های مهم داده های اصلی را حفظ کند، به طور ایده آل نزدیک به بعد ذاتی آن، به عنوان کاهش ابعاد شناخته می شود. با کاهش ابعاد، تعداد متغیرهای تصادفی برای تحلیل کاهش می یابد. برای مثال، داده های دور از دسترس ممکن است برای بهبود کارایی تجسم ها در نظر گرفته نشوند.
الگوریتم کاهش ابعاد شامل موارد زیر است:
- انتخاب ویژگی ها
- تجزیه و تحلیل مincipلفه های اصلی (PCA)
نصب Scikit-learn
قبل از استفاده از Scikit-learn باید NumPy، SciPy، Matplotlib، IPython، Sympy و Panda ها نصب شوند. بیایید آنها را با استفاده از Pip از کنسول نصب کنیم (فقط برای ویندوز کار می کند).
اکنون که کتابخانه های مورد نیاز را نصب کرده ایم، Scikit-learn را نصب کنیم.
امکانات
Scikit-learn که گاهی با نام sklearn نیز شناخته میشود، یک ابزار پایتون برای پیادهسازی مدلهای یادگیری ماشین و مدلسازی آماری است. ممکن است از آن برای ایجاد چندین مدل یادگیری ماشین برای رگرسیون، طبقهبندی و خوشهبندی و همچنین ابزارهای آماری برای ارزیابی این مدلها استفاده کنیم. همچنین شامل کاهش ابعاد، انتخاب ویژگی، استخراج ویژگی، رویکردهای مجموعه، و مجموعه داده های داخلی است. ما هر یک از این ویژگی ها را یکی یکی بررسی خواهیم کرد.
1. وارد کردن مجموعه داده ها
Scikit-learn شامل تعدادی مجموعه داده از پیش ساخته شده است، مانند مجموعه داده عنبیه، مجموعه داده قیمت خانه، مجموعه داده تایتانیک و غیره. مزایای کلیدی این مجموعه داده ها این است که درک آنها ساده است و می توان از آنها برای توسعه فوری مدل های ML استفاده کرد. این مجموعه داده ها برای تازه کارها مناسب هستند. به طور مشابه، می توانید از sklearn برای وارد کردن مجموعه داده های اضافی استفاده کنید. به طور مشابه، می توانید از آن برای وارد کردن مجموعه داده های اضافی استفاده کنید.
2. تقسیم مجموعه داده برای آموزش و آزمایش
Sklearn شامل توانایی تقسیم مجموعه داده به بخش های آموزشی و آزمایشی است. تقسیم مجموعه داده برای ارزیابی بی طرفانه عملکرد پیشبینی لازم است. ممکن است مشخص کنیم چه مقدار از داده های ما باید در مجموعه داده های قطار و آزمایش گنجانده شود. ما مجموعه داده را با استفاده از تقسیم تست قطار به گونهای تقسیم کردیم که مجموعه قطار 80 درصد دادهها را شامل میشود و مجموعه آزمایشی 20 درصد دارد. مجموعه داده را می توان به صورت زیر تقسیم کرد:
3. رگرسیون خطی
رگرسیون خطی یک تکنیک یادگیری ماشینی مبتنی بر یادگیری است. این کار رگرسیون را انجام می دهد. بر اساس متغیرهای مستقل، رگرسیون یک مقدار پیش بینی هدف را مدل می کند. بیشتر برای تعیین ارتباط بین متغیرها و پیش بینی استفاده می شود. مدلهای رگرسیون مختلف از نظر نوع ارتباطی که بین متغیرهای وابسته و مستقل ارزیابی میکنند و همچنین تعداد متغیرهای مستقل مورد استفاده متفاوت هستند. به سادگی می توانیم مدل رگرسیون خطی را با استفاده از sklearn به صورت زیر ایجاد کنیم:
4. رگرسیون لجستیک
یک رویکرد طبقه بندی رایج، رگرسیون لجستیک است. در خانواده رگرسیون چند جمله ای و خطی قرار دارد و به خانواده طبقه بندی کننده خطی تعلق دارد. یافته های رگرسیون لجستیک قابل درک و محاسبه سریع هستند. همانند رگرسیون خطی، رگرسیون لجستیک یک تکنیک رگرسیون نظارت شده است. متغیر خروجی مقوله ای است، بنابراین این تنها تفاوت است. این می تواند تعیین کند که آیا بیمار بیماری قلبی دارد یا خیر.
مسائل مختلف طبقه بندی، مانند تشخیص هرزنامه، ممکن است با استفاده از رگرسیون لجستیک حل شوند. پیشبینی دیابت، تعیین اینکه آیا مصرفکننده محصول خاصی را میخرد یا به یک رقیب تغییر میدهد، تعیین اینکه آیا کاربر روی یک لینک بازاریابی خاص کلیک میکند یا خیر، و بسیاری از سناریوهای دیگر تنها چند نمونه هستند.
5. درخت تصمیم
قدرتمندترین و پرکاربردترین تکنیک طبقه بندی و پیش بینی درخت تصمیم است. درخت تصمیم یک ساختار درختی است که شبیه یک فلوچارت است، با هر گره داخلی نشاندهنده آزمایشی بر روی یک ویژگی، هر شاخه نشاندهنده نتیجهگیری آزمون، و هر گره برگ (گره پایانی) دارای یک برچسب کلاس است.
زمانی که متغیرهای وابسته با متغیرهای مستقل رابطه خطی ندارند، یعنی زمانی که رگرسیون خطی یافتههای صحیحی را ایجاد نمیکند، درختهای تصمیم سودمند هستند. شی DecisionTreeRegression() ممکن است به روشی مشابه برای استفاده از درخت تصمیم برای رگرسیون استفاده شود.
6. جنگل تصادفی
جنگل تصادفی یک است فراگیری ماشین رویکردی برای حل مسائل رگرسیون و طبقه بندی. از یادگیری گروهی استفاده می کند، که تکنیکی است که چندین طبقه بندی کننده را برای حل مسائل پیچیده ترکیب می کند. یک روش جنگل تصادفی از تعداد زیادی درخت تصمیم تشکیل شده است. ممکن است برای دستهبندی درخواستهای وام، شناسایی رفتارهای تقلبی و پیشبینی شیوع بیماری استفاده شود.
7. ماتریس سردرگمی
ماتریس سردرگمی جدولی است که برای توصیف عملکرد مدل طبقه بندی استفاده می شود. از چهار کلمه زیر برای بررسی ماتریس سردرگمی استفاده می شود:
- مثبت واقعی: این نشان می دهد که مدل نتیجه مطلوبی را پیش بینی کرده و درست بوده است.
- منفی واقعی: این نشان می دهد که مدل نتیجه بدی را پیش بینی کرده و درست بوده است.
- مثبت کاذب: این نشان می دهد که مدل انتظار یک نتیجه مطلوب را داشت اما واقعاً یک نتیجه منفی بود.
- منفی کاذب: این نشان می دهد که مدل انتظار یک نتیجه منفی را داشت، در حالی که نتیجه واقعاً مثبت بود.
اجرای ماتریس سردرگمی:
مزایا
- استفاده از آن ساده است.
- بسته Scikit-Learn بسیار سازگار و مفید است و به اهداف دنیای واقعی مانند پیشبینی رفتار مصرفکننده، توسعه تصویر عصبی و غیره خدمت میکند.
- کاربرانی که میخواهند الگوریتمها را با پلتفرمهای خود متصل کنند، اسناد API دقیق را در وبسایت Scikit-learn پیدا خواهند کرد.
- تعداد زیادی از نویسندگان، همکاران، و یک جامعه آنلاین بزرگ در سراسر جهان، Scikit-learn را بهروز میکنند.
منفی
- این گزینه ایده آل برای مطالعه عمیق نیست.
نتیجه
Scikit-learn یک بسته حیاتی برای هر دانشمند داده است که درک قوی و کمی تجربه با آن داشته باشد. این راهنما باید به شما در دستکاری داده ها با استفاده از sklearn کمک کند. قابلیتهای Scikit-learn بسیار بیشتری وجود دارد که با پیشرفت در ماجراجویی علم داده، آنها را کشف خواهید کرد. نظرات خود را در نظرات به اشتراک بگذارید.
پاسخ دهید