آموزش داده کاوی با پایتون — راهنمای شروع به کار و یادگیری
داده کاوی به فرآیندی گفته میشود که در آن اطلاعاتی به دست میآید که میتوان از آنها برای پیشبینی استفاده کرد. اطلاعات مورد نیاز در داده کاوی با تجزیه و تحلیل بانکهای اطلاعاتی (Databases) جامع و بزرگ جمعآوری میشوند. داده کاوی برای یک متخصص علم داده عملیاتی مهم و کلیدی به حساب میآید. برای اینکه اعمالی همچون جمعآوری دادههای خام و موفقیت در دستیابی به اطلاعات مفید از دادهها به خوبی انجام شوند، دانش و مهارت کافی پیرامون تکنیکهای داده کاوی ضروری به نظر میرسد. همچنین، درک مبانی آمار و یادگیری زبانهای برنامه نویسی مختلف به عنوان یک راهنما و پیشنیاز در آموزش داده کاوی با پایتون حائز اهمیت است. در این مقاله، ابتدا به آشنایی با مفاهیم مقدماتی مربوط به داده کاوی با پایتون پرداخته و در ادامه به منظور درک بهتر مباحث پایه، راهنماییهای لازم برای آموزش داده کاوی با پایتون همراه با مثال انجام میشود. اما پیش از شروع آموزش داده کاوی با پایتون ، ابتدا لازم است به این سوال پاسخ داده شود که پایتون چیست؟
پایتون چیست ؟
پایتون یک زبان برنامه نویسی چندمنظوره و محبوب است که با وجود کاربردهای متعدد، همچنان میتوان آن را به آسانی یاد گرفت. به همین دلیل بسیاری از برنامهنویسان مبتدی و تازهکار آن را به عنوان اولین زبان برنامه نویسی انتخاب میکنند. زبان برنامه نویسی پایتون به گونهای توسعه داده شده است که به عنوان یک «زبان همهمنظوره» (General-Purpose Language) شناخته میشود؛ به طوری که این زبان برنامه نویسی محدود به نوع خاصی از نرمافزار نیست. به این ترتیب، پایتون یک زبان برنامه نویسی مطلوب است که کاربردهای آن بسیار فراتر از برنامه نویسی وب هستند. در این راستا، در ادامه آموزش داده کاوی با پایتون ، مفاهیم مربوط به یکی از کاربردهای کلیدی پایتون یعنی داده کاوی شرح داده میشوند.
- مقاله پیشنهادی: بهترین مسیر یادگیری پایتون چیست؟ — راهنمای شروع آموزش
داده کاوی چیست ؟
در این بخش از آموزش داده کاوی با پایتون ، چیستی داده کاوی مورد بررسی قرار میگیرد. نتیجه مطلوب حاصل از داده کاوی، ایجاد یک مدل از مجموعه دادههای معین است که قابلیت تعمیم دیدگاههای (Insightها) خود به مجموعه دادههای مشابه را دارد. تشخیص خودکار کلاهبرداری بانکها و موسسات اعتباری یک مثال واقعی از کاربرد داده کاوی موفقیتآمیز به شمار میرود. معمولاً زمانی که فعالیتهای مشکوکی همچون برداشت مکرر پول از دستگاه خودپرداز یا ثبت خریدهای بزرگ در خارج از محدوده اقامت رخ میدهند، بانکها یک خط مشی برای اطلاعرسانی و اعلام خطر دارند.
اما این فرآیند چه ارتباطی با داده کاوی دارد؟ دانشمندان علم داده، سیستم مذکور را با به کارگیری الگوریتمهایی به منظور طبقهبندی و پیشبینی اینکه آیا یک تراکنش جعلی است یا خیر، ایجاد کردند. در این سیستم به منظور تشخیص کلاهبرداری، تراکنشها با الگو تاریخی خریدهای جعلی و غیرجعلی مقایسه میشوند. مثلا، در صورتی که یک فرد در کالیفرنیا سکونت داشته و یک خرید هزار دلاری در روسیه توسط آن شخص انجام شده باشد، در چنین شرایطی احتمالاً این خرید بزرگ در یکی از استانهای کم جمعیت روسیه، قانونی و معقول تلقی نمیشود. در سیستم تشخیص خودکار کلاهبرداری، مدل به آنچه در این سناریو شرح داده شد آگاه است.
مثال فوق تنها یکی از کاربردهای قدرتمند داده کاوی به حساب میآید. سایر کاربردهای داده کاوی شامل توالی ژنومی (Genomic Sequencing)، تجزیه و تحلیل شبکههای اجتماعی و تصویربرداری از جُرم هستند. باید توجه داشت تجزیه و تحلیل جوانب مختلف زندگی مشتریان، رایجترین کاربردی است که در آن از داده کاوی استفاده میشود. شرکتها از داده کاوی برای اعمالی همچون کشف سلیقه و ترجیحات مشتریان، طبقهبندی آنها بر مبنی فعالیت خریدشان و تعیین اینکه چه چیزی باعث جذب یک مشتری درآمدزا میشود، استفاده میکنند. معمولاً این اطلاعات میتواند تأثیرات عمیقی بر بهبود جریان درآمد و کاهش هزینهها داشته باشد. پس از آشنایی با مباحث مقدماتی آموزش داده کاوی با پایتون ، اکنون در ادامه این مقاله انواع تکنیکهای داده کاوی معرفی میشوند.
مزیتهای داده کاوی چه هستند؟
داده کاوی به عنوان یک ابزار کمکی در سیستم کسب و کار محسوب میشود و به همین دلیل فواید متعددی دارد. در ادامه به برخی از مزیتهای پراهمیت داده کاوی با پایتون به صورت فهرستوار پرداخته میشود:
- بازاریابی و خردهفروشی
- استفاده از داده کاوی در بانکداری و امور مالی
- تعیین گروههای مشتریان
- افزایش وفاداری مشتریان به برند
- کمک در تصمیمگیری
- افزایش درآمد شرکت
- پیشبینی ترندهای آینده
- افزایش بهینهسازی وب سایتها
- ایجاد انگیزه در محققین
با توجه به اهمیت داده کاوی در بازار کار کنونی، لازم است در مورد برخی از مزیتهای پراهمیت داده کاوی توضیحات بیشتری ارائه شود. بنابراین در ادامه این بخش تعدادی از آنها به زبان ساده و قابل فهم شرح داده شدهاند.
- بازاریابی و خردهفروشی: در شرکتهای بازاریابی با استفاده از داده کاوی امکان ساخت مدلها فراهم میشود. این روش بر اساس تاریخچه دادهها مشخص میکند کمپینهای جدید بازاریابی مانند ایمیل مستقیم، بازاریابی اینترنتی و سایر موارد برای چه افرادی مناسب خواهد بود. به دنبال آن، این امکان برای بازاریابان فراهم میشود تا محصولات سودآور را به مشتریان هدف بفروشند.
- استفاده از داده کاوی در بانکداری و امور مالی: استخراج دادهها به عنوان یک ابزار کمکی برای موسسات مالی محسوب میشود و با کمک آن امکان بررسی اطلاعات مربوط به وامها و گزارشهای اعتباری افراد وجود دارد. در این روش با ساخت مدل برای مشتریان و تاریخچه آنها، میزان صلاحیت افراد برای وام تعیین میشود. علاوه بر این، تشخیص تراکنشهای غیرقانونی در حسابهای بانکی با کمک داده کاوی امکانپذیر است.
- افزایش وفاداری مشتریان به برند: در کمپینهای بازاریابی، از تکنیکهای کاوش به منظور درک نیازها و همچنین تجزیه و تحلیل رفتارها و عادتهای مشتریان استفاده میشود. از این رو، به واسطه این روشها میتوان میزان وفاداری مشتریان به آن برند را افزایش داد. چرا که در این برند خاص به تقاضاهای مشتریان به شکل منحصر به فرد توجه شده است.
- افزایش درآمد شرکت: با گذر زمان، جمعآوری اطلاعات در مورد کالاهایی که به صورت آنلاین فروش رفتهاند، میتواند باعث کاهش هزینههای محصولات و خدمات شود و این یکی از فواید برجسته داده کاوی است.
- افزایش بهینهسازی وب سایتها: داده کاوی به منظور یافتن اطلاعات تمام عناصر دیده نشده استفاده میشود و افراد میتوانند با به کارگیری آن، وب سایتهایشان را بهینهسازی کنند.
روشهای داده کاوی کدامند ؟
روشهای مختلفی برای ایجاد مدلهای پیشبینی از مجموعه دادهها وجود دارد. یک متخصص علم داده باید مفاهیمی که در پس این تکنیکها وجود دارند و همچنین نحوه استفاده از کدنویسی برای تولید مدلها و تصویرسازیهای مشابه را درک کند. اکنون در ادامه این بخش از آموزش داده کاوی با پایتون ، انواع تکنیکهای داده کاوی شرح داده میشوند.
رگرسیون
«رگرسیون» (Regression) روشی است که به منظور تخمین و برآورد ارتباط میان متغیرها با استفاده از بهینهسازی کاهش خطا به کار میرود. در واقع رگرسیون یک رویکرد آماری محسوب میشود که در آن قدرت و ویژگی ارتباط بین یک متغیر وابسته (که معمولاً با Y نشان داده میشود) و یک سری متغیرهای دیگر (معروف به متغیرهای مستقل) تعیین میشود. تکنیک رگرسیون برای امور مالی، سرمایهگذاری و سایر زمینهها کاربرد دارد. در صورتی که ارتباط میان متغیر وابسته و متغیرهای مستقل با استفاده از تکنیک رگرسیون مشخص شود، میتوان از قبل متغیر وابسته را پیشبینی کرد. با وجود اینکه روشهای رگرسیونی بسیار گسترده هستند، اما میزان استفاده از برخی از آنها بیشتر است. در ادامه تعدادی از انواع رگرسیون به طور فهرستوار معرفی میشوند.
- رگرسیون خطی (Linear Regression)
- رگرسیون لجستیک (Logistic Regression)
- رگرسیون چندکی (Quantile Regression)
- رگرسیون ستیغی (Ridge Regression)
- رگرسیون لاسو (Lasso Regression)
طبقه بندی
«طبقهبندی» (Classification) یک تکنیک داده کاوی است که در آن موارد موجود در یک مجموعه به دستهها یا کلاسهای هدف اختصاص داده میشوند. هدف در روش طبقهبندی، پیشبینی دقیق کلاس هدف برای هر یک از آیتمهای موجود در دادهها است. برای مثال، با استفاده از یک مدل طبقهبندی میتوان افراد متقاضی وام را با عنواینی همچون دارای ریسک اعتباری کم، متوسط یا زیاد شناسایی کرد. علاوه بر این، با استفاده از تکنیک Classification، طبقهبندی ایمیلها بر اساس اینکه آن ایمیلها درست و قانونی هستند یا جعلی، نیز امکانپذیر است.
تحلیل خوشهای
با کمک تکنیک «تحلیل خوشهای» (Cluster Analysis) پیدا کردن گروهبندی طبیعی اشیای داده بر اساس ویژگیهای شناخته شده آن دادهها امکانپذیر میشود. یک نمونه مناسب از تکنیک تحلیل خوشهای در بازاریابی کاربرد دارد. در بازاریابی، تجزیه و تحلیل میتواند منجر به آگاهی از گروهبندیهای مشتریان و رفتار منحصر به فرد هر یک از آنها شود و به کارگیری این موضوع در تصمیمات استراتژیک کسب و کار امری رایج است.
تجزیه و تحلیل ارتباط و همبستگی
تجزیه و تحلیل ارتباط و وابستگی (Association and Correlation Analysis) رویکردی است که جستجو میکند آیا بین متغیرها روابط منحصر به فردی وجود دارد که این روابط از ابتدا مشهود نباشند؟ در حقیقت، در روش تجزیه و تحلیل همبستگی ارتباط بین دو یا چند متغیر را بررسی و در مورد استحکام آن رابطه استنباطهایی ارائه میشود. لازم به ذکر است افراد میتوانند به منظور آشنایی بیشتر با چگونگی کشف الگوهای مکرر و قواعد انجمنی به مقاله «الگوریتم اپریوری (Apriori) و کاوش الگوهای مکرر در دادهکاوی» مراجعه کنند.
تجزیه و تحلیل دادههای پرت
«تجزیه و تحلیل دادههای پَرت» (Outlier Analysis) روشی است که در آن دلایل ایجاد دادههای پرت مورد بررسی قرار میگیرد. یکی از مثالهای بارز استفاده از تکنیک تجزیه و تحلیل دادههای پرت، استفاده از این روش در سیستم تشخیص کلاهبرداری است که در این سیستم تعیین میشود آیا یک الگوی رفتاری نرمال است یا خیر؟ در حقیقت، رویکرد Outlier Analysis فرآیندی است که در آن مشاهدههای غیرعادی یا دارای مغایرت موجود در مجموعه دادهها تشخیص داده میشود. در کسب و کار، معمولاً داده کاوی با یک پایگاه داده تراکنشی و به صورت زنده اجرا میشود و به واسطه این ویژگی، امکان استفاده آسان از ابزارهای داده کاوی برای تجزیه و تحلیل وجود دارد.
یک نمونه از ابزارهای داده کاوی «پردازش تحلیلی بر خط» (OLAP) است که به اختصار از «On-Line Analytical Processing Server» برگرفته شده است. فناوری OLAP به کاربران این مکان را میدهد که در سرور دادهها، تجزیه و تحلیل چندبعدی انجام دهند. با به کارگیری پردازش تحلیلی برخط در کسب و کار، میتوان دادهها را بدون دانلود فایلهای استاتیک آنها، جستجو و تجزیه و تحلیل کرد. این ویژگی OLAP در شرایطی که پایگاه داده به طور روزانه در حال رشد باشد، یک ویژگی مفید و کاربردی به حساب میآید. اما در صورتی که افرادی بخواهند آموزش داده کاوی با پایتون را فرا بگیرند و تمرینهای آن را به صورت فردی انجام دهند، نوتبوک Jupyter محیط کاملاً مناسبی برای کار با اکثر وظایف داده کاوی محسوب میشود.
تا این بخش از آموزش داده کاوی با پایتون برخی از تعاریف مقدماتی و پیشنیاز مربوطه شرح داده شدهاند. در ادامه این مقاله برخی از فیلمهای مربوط به زبان برنامه نویسی پایتون به طور خلاصه و فهرستوار معرفی میشوند. با توجه به اینکه این مطلب دقیقاً راهنمای شروع داده کاوی با زبان پایتون است، بنابراین، دورههای آموزشی زیر میتوانند به عنوان مجموعهای از ابزارهای تکمیلی برای افزایش مهارتهای برنامه نویسی در زمینههای مختلف به حساب بیاید.
معرفی فیلم های آموزش زبان برنامه نویسی پایتون فرادرس
آموزش داده کاوی در پایتون یک مهارت کلیدی و مهم در جهت رشد افراد در برنامه نویسی به ویژه حوزه علم داده محسوب میشود. در این بخش از آموزش داده کاوی با پایتون ، مجموعه دورههای آموزشی پایتون برای علاقهمندان معرفی شده است. دورههای آموزشی زیر برای افرادی مناسب است که قصد شروع یا ارتقا مهارت برنامهنویسی با زبان پایتون را دارند. در مجموعه دورههای آموزشی پایتون، بیش از ۲۰۷ ساعت فیلم آموزشی ارائه شده و ۳۶ دوره آموزشی مختلف در این مجموعه گنجانده شده است. در این مجموعه آموزشی، فیلمهای آموزش پایتون از سطح مقدماتی تا پیشرفته به همراه آموزشهای پروژه محور پایتون و همچنین دورههای آموزشی برای کتابخانهها و فریمورکهای مختلف پایتون وجود دارد. در ادامه برخی از دورههای کاربردی و جامع این مجموعه به صورت فهرستوار معرفی شدهاند:
- آموزش کار با کتابخانههای NumPy و Matplotlib در پایتون (زمان: ۴ ساعت و ۴۶ دقیقه و مدرس میترا تجربه کار): در این دوره آموزشی چگونگی کار با Numpy و Matplotlib در پایتون مورد بررسی قرار میگیرد. این دوره آموزشی مناسب افرادی است که میخواهند علاوه بر یادگیری کاربردی زبان برنامه نویسی پایتون، نحوه کار با کتابخانههای مهم آن یعنی Numpy و Matplotlib را نیز به صورت جامع و در عین حال به زبان ساده فرا بگیرند. برای مشاهده فیلم آموزش کار با کتابخانههای NumPy و Matplotlib در پایتون + کلیک کنید.
- آموزش برنامه نویسی پایتون (Python) – مقدماتی: (زمان: ۱۹ ساعت و ۵۳ دقیقه و مدرس: پژمان اقبالی شمس آبادی): در این دوره آموزشی، زبان برنامهنویسی پایتون در سطح مقدماتی و اصول آن از پایه آموزش داده شده است. برای دیدن فیلم آموزش برنامهنویسی پایتون (Python) – مقدماتی + کلیک کنید.
- آموزش برنامه نویسی پایتون – تکمیلی – بخش اول: ( زمان: ۱۳ ساعت و ۹ دقیقه، مدرس: پژمان اقبالی شمس آبادی): در این دوره آموزشی، زبان برنامهنویسی پایتون به صورت تکمیلی آموزش داده شده است و نسبت به دوره مقدماتی موضوعات دیگری را نیز در برمیگیرد که به نوعی میتوان مطالب این دوره را مکمل فیلم آموزشی فوق دانست. برای دسترسی به صفحه دوره آموزش برنامهنویسی پایتون – تکمیلی – بخش اول + کلیک کنید.
- آموزش زبان برنامه نویسی پایتون (Python) همراه با مثال های عملی (زمان: ۱۳ ساعت و ۲۰ دقیقه و مدرس: فرشید شیرافکن) . این دوره آموزشی مناسب افرادی است که هیچ پیشزمینهای در مورد زبان برنامهنویسی پایتون ندارند. مفاهیم این دوره با تشریح اصول نظری و پیادهسازی مثالها به شکل عملی آموزش داده شده است. برای دسترسی به صفحه آموزش زبان برنامه نویسی پایتون (Python) همراه با مثالهای عملی + کلیک کنید.
- آموزش جنگو (Django) - فریمورک تحت وب با پایتون (Python) (زمان: ۸ ساعت و ۱۵ دقیقه ، مدرس: پدرام شاه صفی): این دوره آموزشی برای علاقهمندان و فعالان حوزه توسعه و طراحی وب مناسب است. برای مشاهده فیلم آموزش جنگو (Django) - فریمورک تحت وب با پایتون (Python) + کلیک کنید.
در این بخش مقدماتی از آموزش داده کاوی با پایتون، برخی از دورههای آموزشی جامع و کاربردی فرادرس معرفی شدند. اکنون در ادامه این مقاله، علت انتخاب زبان برنامه نویسی پایتون برای داده کاوی شرح داده میشود.
چرا پایتون برای داده کاوی مناسب است؟
دلایل متعددی برای مطلوبیت استفاده از زبان برنامه نویسی پایتون در داده کاوی وجود دارد. در این بخش از آموزش داده کاوی با پایتون به برخی از این دلایل شاخص و اساسی پرداخته میشود.
سهولت و سادگی یادگیری پایتون
پایتون یک زبان برنامه نویسی آسان است که در مقایسه با زبانهای برنامه نویسی دیگر به مدت زمان آموزش کمتری نیاز دارد. علاوه بر این، پایتون به گونهای طراحی شده است که با کمترین تعداد کد ممکن امکان اجرای برنامه وجود داشته باشد. سادگی پایتون برای شرکتهایی که میخواهند به دانشمندان علم داده و تحلیلگران داده (Data Analysts) مبتدی پر و بال دهند، یک مزیت محسوب میشود. راحتی یادگیری زبان برنامه نویسی پایتون به دانشمندان علم داده این امکان را میدهد که پروژههای علم داده را در مدت زمان کم و به صورت سازنده انجام دهند. از سوی دیگر، به دلیل اینکه منابع متعددی در زمینه داده کاوی با پایتون ، به صورت آنلاین وجود دارند، افراد میتوانند از این زبان برنامه نویسی کاربردی و محبوب به عنوان یک زبان مناسب برای آموزش داده کاوی با پایتون استفاده کنند.
مقیاسپذیری بالا در پایتون
مقایسپذیری بالا یکی از ویژگیهایی شاخص زبان برنامه نویسی پایتون به حساب میآید. با استفاده از پایتون برنامهنویسان میتوانند به صورت مشارکتی و گروهی روی یک پروژه کار کنند. پایتون در حوزه علم داده از هر زبان برنامه نویسی دیگری مقیاسپذیرتر محسوب میشود. مقیاسپذیری زبان برنامه نویسی پایتون به حدی است که تقریباً کل پلتفرم قدرتمندی همچون یوتیوب، با استفاده از کدهای پایتون نوشته شده است. علاوه بر این، به واسطه انعطافپذیری پیشساخته پایتون، امکان حل مسائل مختلف وجود دارد و میتوان آن را در تمام حوزههای علم کامپیوتر به کار برد. یکی از جوانب دیگر پایتون که مقیاسپذیری آن را برای علم داده افزایش میدهد این است که پایتون قابلیت اجرا شدن روی همه سیستم عاملها و پلتفرمها را دارد. به طوری که میتوان ماژولهای نوشته شده به زبان برنامه نویسی سی (C) و سیپلاسپلاس (++C) را به کمک پایتون بسط داد و همچنین در آن با اکثر کتابخانههای شاخص و خدمات API کار کرد.
امکان استفاده از کتابخانههای جامع و غنی پایتون
در سالهای اخیر، کتابخانههای پایتون برای استفاده در علم داده به سرعت رشد کردهاند و به همین دلیل، محبوبیت و کاربرد پایتون برای تجزیه و تحلیل افزایش پیدا کرده است. رشد روزافزون کتابخانههای پایتون به این واقعیت اطمینان میبخشد که هرگونه محدودیتی جزئی به حساب میآید و احتمالاً به زودی توسط داوطلبان سختکوش برطرف میشود. البته باید توجه شود در حال حاضر تمام کتابخانههای پایتون بسیار قدرتمند و گسترده هستند و تقریباً تمام مفاهیم و کاربردهای ریاضیاتی را پوشش میدهند.
نقش برجسته پایتون در زمینه الگوریتمها و علم داده
با توجه به گزارشهای منتشر شده توسط Stack Overflow، در سالهای اخیر میزان استفاده از زبان برنامه نویسی پایتون رشد بینظیر و قابل توجهی داشته است. بسیاری از دانشمندان علم داده با پایتون به ویژه در حوزه «یادگیری ماشین» (Machine Learning) برنامه نویسی میکنند. Harnham یکی از پیشروترین ارائهدهندگان خدمات استخدام و مشاوره در بازار تجزیه و تحلیل و داده است. مستندات شرکت Harnham بیانگر این است که اخیراً میزان تقاضا برای انجام پروژههای «یادگیری عمیق» (Deep Learning) مبتنی بر پایتون افزایش چشمگیری داشته است. بنابراین، آشنایی با ابزارهایی همچون تنسرفلو (Tensorflow)، پای تورچ (PyTorch) و کافه (Caffe) برای مدیران استخدام یک مزیت جذاب محسوب میشود. با استفاده از کتابخانههای مختلف پایتون میتوان از این زبان برنامه نویسی به منظور توسعه مدلهای پیچیده و ماشینهای پیشبینی استفاده کرد. علاوه بر این، کتابخانههای پایتون به طور مداوم در حال توسعه هستند. با توجه به دلایل مذکور، آموزش داده کاوی با پایتون میتواند به عنوان یک مهارت ویژه و کاربردی برای افراد تلقی شود.
مناسب بودن پایتون برای تصویرسازی دادهها
با وجود اینکه در اکثر مواقع زبان برنامه نویسی R به عنوان بهترین زبان برای مصورسازی دادهها محسوب میشد، اما، اخیراً روشهای متعددی برای تصویرسازی با پایتون ارائه شده است که با به کارگیری آنها، تصویرسازی دادهها با پایتون به خوبی انجام میشود. برای مثال، Matplotlib یک کتابخانه اساسی رسم نمودار دوبعدی است که با کمک آن ویژگیهای گرافیکی و تصویرسازی مناسبی مانند هیستوگرامها (Histograms)، نمودارهای نقطهای ( پراکندگی | Scatterplots) و سایر موارد ارائه شدهاند. علاوه بر این، کتابخانههای مختلفی بر مبنای Matplotlib ایجاد شدهاند که به واسطه ساخت آنها فرصت مناسبی برای ایجاد و به اشتراکگذاری نمودارهای بزرگ و تصاویر تعاملی فراهم میشود. برخی از این کتابخانهها شامل Seaborn، ggplot، Pygal و Plotly هستند. در این بخش، برخی از دلایل مهم و شاخص انتخاب پایتون برای داده کاوی شرح داده شد، اکنون در ادامه لازم است به معرفی کتابخانههای مهم پرداخته شود.
کتابخانه های پایتون برای داده کاوی کدامند؟
برای اینکه پایتون به عنوان یک زبان برنامه نویسی سازنده و کارآمد برای داده کاوی استفاده شود، لازم است کتابخانههای مختلفی روی سیستم نصب و اجرا شوند. به این ترتیب، در ادامه این بخش، برخی از کتابخانههای کاربردی و مهم پایتون معرفی میشوند.
- Numpy: نامپای یک پکیج ضروری و پراهمیت برای محاسبات علمی است که ساختاری تطبیقپذیر برای کار با آرایهها دارد. این کتابخانه قدرتمند امکاناتی مانند شی آرایه چندبعدی، اشیا مشتق شده و مجموعهای از روالها برای عملیات سریع روی آرایهها را پشتیبانی میکند. در واقع، نامپای یک ابزار کاربردی برای مباحث مربوط به جبر خطی و کاربرد و همچنین اجرای عملیاتهای برداری یا ریاضیاتی است.
- Scipy: مجموعهای از ابزارهای آماری برای پایتون است. Scipy یک کتابخانه متن باز است که برای حل مسائل ریاضی، علمی، مهندسی و فنی استفاده میشود. با استفاده از این کتابخانه قدرتمند کاربران میتوانند اعمالی همچون دستکاری و تصویرسازی دادهها را همراه با به کارگیری طیف گستردهای از دستورات سطح بالای پایتون انجام دهند. SciPy بر پایه کتابخانه NumPy ساخته شده است و به صورت «سای پای» تلفظ میشود.
- Matplotlib: این کتابخانه پایتون، همانطور که پیشتر اشاره شد، برای تصویرسازی و ایجاد نمودارهای مختلف ارائه شده است.
- Pandas: پانداس یک کتابخانه متن باز پایتون است که برای دستکاری دادهها و تجزیه و تحلیل آنها به کار میرود. با استفاده از توابع و متدهای متعدد Pandas، سرعت فرآیند تجزیه و تحلیل دادهها افزایش مییابد. Pandas روی Numpy ساخته شده است و به همین دلیل بسیاری از مبانی آن از Numpy الهام گرفته شده است.
- Gensim: «ژنیسم» (Gensim) یک کتابخانه پایتون متن باز و رایگان است که برای نمایش اسناد به عنوان بردارهای معنایی استفاده میشود. Gensim با استفاده از الگوریتمهای یادگیری نظارت نشده (Unsupervised Learning) و برای پردازش متون دیجیتالی خام و بدون ساختار یا همان متن ساده طراحی شده است.
با توجه به اینکه تا این بخش برخی از مقدمات و مفاهیم پایه آموزش داده کاوی با پایتون شرح داده شدهاند، اکنون این سوال پیش میآید که دوره داده کاوی با پایتون برای چه افرادی مناسب است؟ پاسخ این سوال در بخش بعدی این مقاله بیان شده است.
آموزش داده کاوی با پایتون مناسب چه کسانی است؟
در این بخش فهرستی از افراد مختلفی ارائه شده است که آموزش داده کاوی با پایتون میتواند برای آنها مناسب و مفید باشد:
- افرادی که میخواهند در بازه زمانی کوتاه ابزارهای داده کاوی مهم آشنا شوند و بتوانند به واسطه آن دادههای مشتریان خود را تحلیل کنند.
- مدیران و بازاریابها میتوانند با کمک دوره آموزش داده کاوی با پایتون دادههای مشتریهایشان را تجزیه و تحلیل کنند.
- کارشناسان مربوط به حوزه مدیریت ارتباط با مشتری که قصد یادگیری روشهای تحلیل دادههای مشتریان را دارند، میتوانند با کمک آموزش داده کاوی با پایتون مهارتهای خود را تقویت کنند.
- دانشجویان و فارغ التحصیلان میتوانند از علم داده کاوی به عنوان بخشی از مراحل آمادگی خود جهت پیدا کردن شغل در حوزه مدیریت ارتباط با مشتری و داده کاوی استفاده کنند.
بررسی عملکرد و کارایی مدلهای داده کاوی یکی از بخشهای پراهمیت در آموزش داده کاوی با پایتون به حساب میآید. بدین منظور، لازم است در مرحله آخر ساخت مدلهای داده کاوی، کارایی و چگونگی عملکرد آنها بررسی شود. در ادامه این مقاله، برخی از معیارهای شاخص برای ارزیابی مدلهای داده کاوی شرح داده میشوند.
روش های ارزیابی مدل های داده کاوی
به طور کلی، تعیین کارایی و بهرهوری مدلهای یادگیری ماشین امری دشوار به حساب میآید و معمولاً به سناریوی کسب و کار بستگی دارد. مدلها به منظور پیشبینی طراحی میشوند و به همین دلیل انتخاب معیار ارزیابی مناسب بسیار اهمیت دارد. معیار سنجش یا همان ارزیابی مدل باید به گونهای باشد که به واسطه آن از عملکرد مدل اطمینان حاصل شود. علی رغم اینکه معیارهای ارزیابی مدل برای هر یک از مدلها متفاوت هستند، اما، طبقهبندی، تحلیل خوشهای و رگرسیون به صورت گسترده در داده کاوی استفاده میشوند.
روش ارزیابی مدل برای مسائل طبقهبندی
همانطور که در بخشهای پیشین به آن پرداخته شده است، مسئلههای طبقهبندی آن دسته از مسائل هستند که در آنها باید پیشبینی شود که یک مشاهده جدید به کدام دسته یا کلاس تعلق دارد. در مدل به دست آمده که اصطلاحاً «طبقهبند» نامیده میشود، برچسب دادههای ورودی بر مبنای تجزیه و تحلیل مجموعهای از دادههای آموزشی تعیین میشود. منظور از دادههای آموزشی یا همان Training Data، دیتاست بسیار بزرگی است که از آن به منظور آموزش مدل استفاده میشود. باید توجه داشت ایده به کارگیری دادههای آموزشی در آموزش مدل یک مفهوم ساده و در عین حال پایه و اصولی محسوب میشود. در نهایت مدل آموزش داده شده یا همان طبقهبند امکان پیشبینی برچسب کلاس مربوط به دادههای مشاهده نشده را خواهد داشت. انواع روشهای ارزیابی مدل برای مسائل طبقهبندی به شرح زیر است:
- معیار دقت (Accuracy)
- معیار پوشش (Recall)
- معیار صحت (Precision)
- معیار امتیاز (F1 Score)
- استفاده از منحنی ROC
روش ارزیابی مدل برای مسائل رگرسیون
یکی از مسئلههای رایج در علوم کامپیوتر به ویژه یادگیری ماشین، مسائل رگرسیون هستند. در این رویکرد به جای اینکه یک کلاس یا برچسب به صورت گسسته برای مشاهده پیشبینی شود، یک مقدار پیوسته و مستمر برای مشاهده پیشبینی میشود. مسائل رگرسیون در دو نوع خطی و غیرخطی وجود دارند. در ادامه این بخش از آموزش داده کاوی با پایتون برخی از معیارهای ارزیابی مدل رگرسیون معرفی میشوند.
- میانگین خطای مطلق (MAE | Mean Absolute Error)
- خطای جذر میانگین مربعات (Root Mean Squared Error | RMSE))
- ضریب تعیین ( R-squared | Coefficient of Determination)
- ضریب تعیین تعدیل شده ( R^2 adjusted)
در صورتی که توضیحات بیشتری در مورد توابع فوق لازم است، افراد میتوانند به منظور درک بهتر مفاهیم مربوطه به مقاله «توابع زیان (Loss Function) در یادگیری ماشین – به همراه کدهای پایتون» رجوع کنند.
روش ارزیابی مدل برای مسائل خوشهبندی
خوشهبندی گروه دیگری از الگوریتمهای داده کاوی را شامل میشود که در آنها دادههای مشابه در یک خوشه قرار میگیرند. خوشهبندی برای حل مسئلههایی کاربرد دارد که دادهها فاقد برچسب هستند و زیرمجموعه الگوریتمهای بدون نظارت محسوب میشود. روشهای مختلفی برای تخمین شباهت میان دو شی وجود دارد، در ادامه این بخش برخی از آنها معرفی میشوند.
- شباهت کسینوسی (Cosine Similarity)
- فاصله منهتن (Manhattan Distance)
- شباهت فاصله اقلیدسی (Euclidean Distance Similarity)
با توجه به اینکه در رویکرد تحلیل خوشهای برچسبهای اولیه وجود ندارند، بنابراین نمیتوان مانند معیارهای ارزیابی مدلهای طبقه بندی از Accuracy ،Recall ،Precision و F1 score استفاده کرد. از سوی دیگر، باید توجه کرد اشیا مشابه در خوشه یا کلاسترهای یکسان قرار میگیرند. ارزیابی نتایج خوشهبندی میتواند از دو دیدگاه ارزیابی درونی (Internal Index) و ارزیابی بیرونی (External Index) بررسی شود. در صورتی که فرض شود خوشهها به شکل دایره هستند، میتوان کیفیت یک خوشه را با استفاده از قطر دایره یا حداکثر فاصله بین هر دو شی موجود در یک خوشه نمایش داد. در ادامه دو مورد از مرسومترین معیارهای ارزیابی درونی مدل خوشهبندی معرفی میشوند:
- معیار نیمرخ (Silhouette Coefficient)
- شاخص دان (Dunn’s Index)
تا این بخش از آموزش داده کاوی با پایتون به برخی از مفاهیم مهم و پایه داده کاوی پرداخته شد. اکنون در ادامه این مقاله، نحوه پیادهسازی داده کاوی با پایتون با استفاده از چند پروژه ساده شرح داده میشود.
آموزش داده کاوی با پایتون پروژه محور
پیش از این، مباحث مهم و کاربردی علم داده کاوی مورد بررسی قرار گرفتند، حال در این بخش از مقاله، به منظور درک بهتر مفاهیم داده کاوی، دو پروژه نمونه پیادهسازی و آموزش داده شدهاند. ابتدا چگونگی ساخت مدل رگرسیون و در ادامه نحوه ساخت مدل خوشهبندی شرح داده خواهد شد. لازم به ذکر است به تمام مباحث ضروری و مورد نیاز برای این دو پروژه نیز در این بخش اشاره شده است.
آموزش داده کاوی با پایتون : ساخت یک مدل رگرسیون با پایتون
به منظور ساخت یک مدل رگرسیون، ابتدا لازم است به هدف مسئله و چیستی آن پرداخته شود. هدف این بخش از آموزش داده کاوی با پایتون به بدست آوردن یک برآورد یا همان تخمین از رابطه خطی بین متغیرها و چاپ «ضریبهای همبستگی» (Coefficients Of Correlation) و همچنین ترسیم یک خط است که بهترین برازش (تناسب) را ایجاد کند. برای تجزیه و تحلیل این پروژه از مجموعه داده King’s County استفاده میشود که از سایت Kaggle قابل دریافت است. ممکن است برخی با سایت Kaggle آشنایی نداشته باشند، Kaggle یک منبع کاربردی و فوقالعاده برای یافتن مجموعه دادههای مختلف است که افراد میتوانند این دیتاستها را در پروژههای علم داده به کار گیرند. مجموعه دادههای King’s County شامل اطلاعاتی در مورد قیمت مسکن و ویژگیهای آنها است. در ادامه آموزش داده کاوی با پایتون ، نحوه بدست آوردن برآورد رابطه میان قیمت مسکن و اندازه خانه (مساحت فوت مربع یا همان Square Foot) شرح داده میشود.
مرحله اول: نصب ابزارهای داده کاوی مناسب برای ساخت مدل رگرسیون
در مرحله اول لازم است Jupyter روی سیستم نصب شود. نوتبوک Jupyter یک وباپلیکیشن متن باز است که با استفاده از آن میتوان اسنادی را که حاوی کد برخط (Live Code)، معادلهها، تصویرسازی و متن هستند، ایجاد کرده و به اشتراک گذاشت. در واقع جوپیتر یک پلتفرم رایگان است که به واسطه آن یک پردازنده برای نوتبوکهای iPython (اجرای فایلهای .ipynb) ارائه شده است. با توجه به اینکه کدنویسی در جوپیتر بسیار بصری است، معمولاً افراد برای شروع کار با پروژههای علم داده آن را نصب و استفاده میکنند. به منظور نصب پلتفرم Jupyter نیازی به کدنویسی نیست. چرا که در توزیع پایتون آناکوندا (Anaconda Python Distribution)، هم نوتبوک جوپیتر و هم تعدادی از پکیجهای رایج و کاربردی علم داده و محاسبات علمی به طور پیشفرض وجود دارند. به همین دلیل با استفاده از توزیع پایتون آناکوندا به راحتی امکان استفاده از Jupyter فراهم میشود. به منظور اجرای نوتبوک Jupyter دستور زیر لازم است:
1jupyter notebook
لازم به ذکر است علاوه بر استفاده از توزیع پایتون Anaconda، میتوان با دستور زیر نیز نوتبوک Jupyter را روی سیستم خود نصب کرد. اما پیش از نصب آن، لازم است آخرین نسخه از سیستم مدیریت پکیج Pip روی سیستم وجود داشته باشد که به منظور اطمینان از به روز بودن Pip از دستور زیر استفاده میشود:
1pip3 install --upgrade pip
با اجرای دستور فوق این اطمینان حاصل شده است که آخرین نسخه پکیج منیجر Pip به کار برده میشود. اکنون میتوان با استفاده از دستور زیر نوتبوک جوپیتر را نصب کرد:
1pip3 install jupyter
در حال حاضر، برای کار با این پروژه خاص میتوان به نوعی جوپیتر را به عنوان کاربردی ترین محیط برنامه نویسی پایتون دانست. در ادامه آموزش داده کاوی با پایتون مراحل بعدی ساخت مدل رگرسیون شرح داده شدهاند. تمام کدهای مربوطه در مسیر فایل Python [Root] در جوپیتر اجرا میشوند. از ماژول Pandas در پایتون برای تمیزسازی یا اصطلاحاً پاکسازی دادهها (Data Cleaning) و همچنین ساختاردهی مجدد آنها استفاده میشود. همانطور که پیشتر به آن اشاره شد، Pandas یک ماژول متن باز برای کار با ساختمان دادهها و تجزیه و تحلیل آنها به حساب میآید.
Pandas به عنوان ابزاری کاربردی برای متخصصان علم داده تلقی میشود که در همه جا میتوانند آن را همراه با زبان برنامه نویسی پایتون استفاده کنند. Pandas به گونهای طراحی شده است که یک بستر ساده و مناسب برای مدیریت، مرتبسازی و دستکاری دادهها محسوب میشود. دانشمندان علم داده با کمک Pandas میتوانند دادهها را با هر قالب یا فرمتی بارگذاری کنند. حال لازم است تمام ماژولهای ضروری و پراهمیت به محیط Jupyter اضافه شوند. به این ترتیب، با استفاده از دستورات زیر کتابخانههایی مانند Numpy ،Pandas ،Scikit-learn و Matplotlib به پروژه اضافه میشوند:
1import pandas as pd
2import matplotlib.pyplot as plt
3import numpy as np
4import scipy.stats as stats
5import seaborn as sns
6from matplotlib import rcParams
7
8%matplotlib inline
9%pylab inline
10Populating the interactive namespace from numpy and matplotlib
پس از شرح مفاهیم مقدماتی مربوط به نصب پیشنیازها، در ادامه آموزش داده کاوی با پایتون ، چگونگی استفاده از داده کاوی در حل مسئله رگرسیون به صورت گام به گام و به زبان ساده بیان میشود. معمولاً مجموعه دادههایی که در پروژههای جهان واقعی وجود دارند به طور خودکار برای پیادهسازی تکنیکهای یادگیری ماشین آماده نیستند و ابتدا لازم است عملیات پاکسازی و سازماندهی دادهها روی آنها انجام شود. برای خواندن فایل حاوی مجموعه دادهها از Kaggle با استفاده از کتابخانه Pandas، باید دستور زیر را اجرا کرد:
1df = pd.read_csv('/Users/michaelrundell/Desktop/kc_house_data.csv')
2df.head()
در دستور فوق با کمک pd.read_csv امکان خواندن فایل CSV توسط Pandas فراهم شده است. خروجی کدهای فوق در ادامه آمده است:
در خط دوم کدهای بالا، از دستور df.head() به منظور نمایش پنج سطر اول دیتافریم استفاده شده است. df.head() یک متد کاربردی از کتابخانه Pandas محسوب میشود. اکنون لازم است بررسی شود آیا مجموعه دادهها دارای مقادیر تهی هستند یا خیر؟ در صورتی که دیتاست دارای مقدارهای تهی و بیاثر باشد، لازم است این مقادیر حذف یا فیلتر شوند. برای بررسی وجود مقادیر تهی در مجموعه دادهها باید از دستور زیر استفاده کرد:
1df.isnull().any()
خروجی دستور بالا به شکل زیر نمایش داده میشود و این خروجی بیانگر این است که مقادیر تهی در مجموعه دادهها وجود ندارند:
با استفاده از دستور زیر، میتوان نوع همه متغیرهای پروژه را مشاهده کرد:
1df.dtypes
در ادامه، خروجی دستور فوق قابل مشاهده است:
ممکن است این سوال پیش بیاید که چرا نوع متغیرهای پروژه اهمیت دارد؟ علت اهمیت نوع متغیرها این است که برای ادامه دادن مسیر آموزش داده کاوی با پایتون ، دانستن اینکه کدام دادهها عددی و کدام یک از نوع شی هستند، ضروری و لازم است. تا این بخش از مقاله به برخی از نکات پایه و اساسی آموزش داده کاوی پرداخته شده است. اما به منظور اینکه آموزش داده کاوی با پایتون به طور جامع و اصولی انجام شود در این بخش خلاصهای کاربردی از آنچه در بخش اول ساخت مدل رگرسیون انجام میشود، ارائه شده است.
در گام اول ساخت مدل با استفاده از Pandas، امکان وارد کردن (Import) و خواندن دیتافریم از CSV فراهم شد. در ادامه با به کارگیری تابع isnull() بررسی شد که آیا تمام دادهها برای مسئله رگرسیون قابل استفاده هستند یا خیر (آیا مقادیر تهی در مجموعه دادهها وجود دارد یا خیر)؟ در پروژههای واقعی، ممکن است یک ستون، دادههایی به شکل اعداد صحیح، رشتهها یا NaN داشته باشد و همه آنها در یک مکان قرار گرفت باشند. به همین دلیل باید پیش از ساخت مدل رگرسیون با چنین مجموعه دادههایی، تطابق نوعها و مناسب بودن آنها برای مسئله رگرسیون به طور دقیق مورد بررسی قرار بگیرد. مجموعه دادههایی که برای پروژههای ارائه شده در این مقاله استفاده شدهاند با دقت فراوانی تهیه شده و معمولاً در اغلب پایگاه دادهها چنین دقتی مشاهده نمیشود.
مرحله دوم: تجزیه و تحلیل اکتشافی ساده و نتایج رگرسیون
ابتدا لازم است مفهوم دادهها به صورت جامع شرح داده شود. فرم و شکل دادهها بسیار مهم است و باید در پروژهها از دادههایی استفاده شود که قالب معقولی دارند. با توجه به اینکه وجود دادههای آسیبدیده (Corrupted) یک موضوع رایج در پروژههای علم داده به حساب میآید، بهتر است دو موضوع زیر مورد بررسی قرار گیرند:
- مشاهده تمام متغیرهای داخل پروژه تجزیه و تحلیل با استفاده از df.describe()
- ایجاد هسیتوگرامهای (Histograms) متغیرهایی که در تجزیه و تحلیل مورد هدف هستند با به کارگیری plt.pyplot.hist()
در ادامه، این کدها و خروجی آنها نمایش داده شدهاند. دستور زیر برای نمایش متغیرهای تجزیه و تحلیل استفاده میشود:
1df.describe()
خروجی دستور فوق به صورت زیر است:
با مشاهده خروجی بالا، مشخص میشود که تعداد مجموعه دادههای مشاهده شده در این پروژه 21,613، قیمت میانگین تقریباً 540 هزار دلار، قیمت میانه تقریباً ۴۵۰ هزار دلار و میانگین فضای خانه تقریباً ۱۹۳ مترمربع است. اکنون باید با استفاده از کتابخانه Matplotlib دو هیستوگرام چاپ شود که با کمک آنها چگونگی توزیع قیمت مسکن و اندازه آنها (فوت مربع) قابل مشاهده باشد. دستور زیر به منظور ایجاد هیستوگرام استفاده میشود:
1fig = plt.figure(figsize=(12, 6))
2sqft = fig.add_subplot(121)
3cost = fig.add_subplot(122)
4
5sqft.hist(df.sqft_living, bins=80)
6sqft.set_xlabel('Ft^2')
7sqft.set_title("Histogram of House Square Footage")
8
9cost.hist(df.price, bins=80)
10cost.set_xlabel('Price ($)')
11cost.set_title("Histogram of Housing Prices")
12
13plt.show()
خروجی قطعه کد فوق به صورت زیر است:
1import statsmodels.api as sm
2from statsmodels.formula.api import ols
زمانی که با کمک OLS، کدهای تولید خلاصه برای یک رگرسیون خطی با تنها دو متغیر نوشته میشوند، فرمول کلی زیر استفاده میشود:
1Reg = ols(‘Dependent variable ~ independent variable(s), dataframe).fit()
2
3print(Reg.summary())
اکنون برای مشاهده گزارش خلاصه قیمت مسکن و اندازه آنها باید کدهای زیر استفاده شوند:
1m = ols('price ~ sqft_living',df).fit()
2print (m.summary())
در ادامه، خروجی مربوط به خلاصه یک مدل رگرسیون ساده نمایش داده شده است:
1 OLS Regression Results
2==============================================================================
3Dep. Variable: price R-squared: 0.493
4Model: OLS Adj. R-squared: 0.493
5Method: Least Squares F-statistic: 2.100e+04
6Date: Fri, 23 Sep 2016 Prob (F-statistic): 0.00
7Time: 14:46:10 Log-Likelihood: -3.0027e+05
8No. Observations: 21613 AIC: 6.005e+05
9Df Residuals: 21611 BIC: 6.006e+05
10Df Model: 1
11Covariance Type: nonrobust
12===============================================================================
13 coef std err t P>|t| [95.0% Conf. Int.]
14-------------------------------------------------------------------------------
15Intercept -4.358e+04 4402.690 -9.899 0.000 -5.22e+04 -3.5e+04
16sqft_living 280.6236 1.936 144.920 0.000 276.828 284.419
17==============================================================================
18Omnibus: 14832.490 Durbin-Watson: 1.983
19Prob(Omnibus): 0.000 Jarque-Bera (JB): 546444.713
20Skew: 2.824 Prob(JB): 0.00
21Kurtosis: 26.977 Cond. No. 5.63e+03
22==============================================================================
23
24Warnings:
25[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
26[2] The condition number is large, 5.63e+03. This might indicate that there are
27strong multicollinearity or other numerical problems.
در صورتی که مشابه بالا خلاصه کمترین مربعات معمولی رگرسیون چاپ شود، میتوان اطلاعات مرتبط و متناسب نیاز خود را از آن دریافت کرد. با نگاه به خروجی، واضح است که بین مساحت خانه و قیمت مسکن رابطه بسیار معنی داری وجود دارد. به این دلیل که مقدار t-value بسیار بالا (144.920) و |P>|t صفر درصد است. این یعنی، احتمال اینکه رابطه میان قیمت مسکن و مساحت مسکن شانسی یا به دلیل تغییرات آماری باشد تقریباً صفر محسوب میشود. علاوه بر این، ارتباط میان قیمت مسکن و اندازه آن یک رابطه با اندازه و بزرگی (Magnitude) مناسب است، به طوری که به ازای هر ۱۰۰ فوت مربع اضافه شده به وسعت خانه، قیمت مسکن ۲۸ هزار دلار بیشتر از میانگین پیشبینی میشود. میتوان به آسانی فرمول را به گونهای تغییر داد که بیش از یک متغیر مستقل وجود داشته باشد. دستور زیر یک نمای کلی از این فرمول است:
1Reg = ols(‘Dependent variable ~ivar1 + ivar2 + ivar3… + ivarN, dataframe).fit()
2
3print(Reg.summary())
میتوان با کمک دو خط کد تعداد متغیرهای مستقل را افزایش داد، بدین منظور باید از دستورات زیر در پروژه استفاده شود:
1m = ols('price ~ sqft_living + bedrooms + grade + condition',df).fit()
2print (m.summary())
در ادامه خروجی کد فوق نمایش داده خواهد شد:
1 OLS Regression Results
2==============================================================================
3Dep. Variable: price R-squared: 0.555
4Model: OLS Adj. R-squared: 0.555
5Method: Least Squares F-statistic: 6749.
6Date: Fri, 23 Sep 2016 Prob (F-statistic): 0.00
7Time: 15:11:41 Log-Likelihood: -2.9884e+05
8No. Observations: 21613 AIC: 5.977e+05
9Df Residuals: 21608 BIC: 5.977e+05
10Df Model: 4
11Covariance Type: nonrobust
12===============================================================================
13 coef std err t P>|t| [95.0% Conf. Int.]
14-------------------------------------------------------------------------------
15Intercept -7.398e+05 1.81e+04 -40.855 0.000 -7.75e+05 -7.04e+05
16sqft_living 212.3034 3.249 65.353 0.000 205.936 218.671
17bedrooms -4.568e+04 2222.205 -20.555 0.000 -5e+04 -4.13e+04
18grade 1.001e+05 2241.553 44.673 0.000 9.57e+04 1.05e+05
19condition 6.615e+04 2598.352 25.457 0.000 6.11e+04 7.12e+04
20==============================================================================
21Omnibus: 16773.778 Durbin-Watson: 1.988
22Prob(Omnibus): 0.000 Jarque-Bera (JB): 973426.793
23Skew: 3.249 Prob(JB): 0.00
24Kurtosis: 35.229 Cond. No. 2.50e+04
25==============================================================================
26
27Warnings:
28[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
29[2] The condition number is large, 2.5e+04. This might indicate that there are
30strong multicollinearity or other numerical problems.
آنچه در بالا آمده است خروجی یک «رگرسیون خطی چندگانه» (Multivariate Linear Regression) است. همانطور که پیشتر گفته شد میتوان از متغیرهای مستقل اضافی مثل تعداد اتاق خوابها (Number Of Bedrooms) استفاده کرد. باید توجه داشت معمولاً به واسطه افزایش تعداد متغیرهای مستقل، مدل ارائه شده با مجموعه دادهها مناسبتر خواهد بود.
مرحله سوم: تصویرسازی نتایج رگرسیون
اکنون پس از مرحله تجزیه و تحلیل اکتشافی، لازم است در این بخش از آموزش داده کاوی با پایتون ، نحوه تصویرسازی نتایج مدل رگرسیون شرح داده شود. داشتن خلاصه رگرسیون اهمیت زیادی دارد، چرا که با استفاده از آن میتوان مقدار دقت دادهها و مدل رگرسیون را برای فرآیندهای تخمین و پیشبینی بررسی کرد. با وجود اهمیت زیاد خلاصه رگرسیون، اما تصویرسازی رگرسیون نیز یک قدم مهم در جهت درک عمیقتر نتایج رگرسیون است. چون با به کارگیری روشها و قالبهای بصری به آسانی میتوان کاربرد و عملکرد رگرسیون را درک کرد. این بخش از آموزش داده کاوی با پایتون به طور کامل به Seaborn اختصاص دارد. Seaborn یک عملکرد ساده و قابل فهم ارائه میدهد که برای ترسیم خطوط رگرسیون با نمودارهای پراکندگی کاربرد دارد. با استفاده از دستور زیر میتوان نمودارهای خطوط رگرسیون با نمودارهای پراکندگی را ایجاد کرد:
1sns.jointplot(x="sqft_living", y="price", data=df, kind = 'reg',fit_reg= True, size = 7)
2plt.show()
خروجی قطعه کد فوق به صورت زیر است:
در نهایت ساخت مدل رگرسیون به طور کامل انجام شد. باید توجه کرد در پایتون روشهای مختلفی برای اجرای تجزیه و تحلیل رگرسیون وجود دارد که در این مقاله به یکی از آنها به طور جامع و به زبان ساده پرداخته شد. اکنون در ادامه آموزش داده کاوی با پایتون نحوه ساخت یک مدل خوشهبندی با پایتون شرح داده میشود.
آموزش داده کاوی با پایتون : ساخت یک مدل خوشهبندی با پایتون
در این بخش از آموزش داده کاوی با پایتون به نحوه ایجاد یک مدل خوشهبندی با پایتون پرداخته میشود. اما پیش از پیادهسازی این مدل خوشهبندی، ابتدا لازم است شرحی از چیستی تحلیل خوشهای و تکنیکهای آن ارائه شود.
تحلیل خوشهای چیست ؟
تحلیل خوشهای (Clustering Analysis) یک روش آماری است که برای گروهبندی اشیا مشابه در دستههای مربوطه استفاده میشود. تحلیل خوشهای با نامهای دیگری مثل تجزیه و تحلیل قطعهبندی (Segmentation Analysis)، تجزیه و تحلیل طبقهبندی (Taxonomy Analysis) یا خوشهبندی (Clustering) نیز شناخته میشود.
هدف از خوشهبندی چیست؟
هدف از اجرای تحلیل خوشهای، مرتبسازی اشیا مختلف یا نقاط داده در گروههای گوناگون است. در چنین شرایطی در صورتی که دو شی در یک گروه خاص قرار بگیرند یعنی میزان ارتباط بین آن دو شی بالا است. رویکرد تحلیل خوشهای با دیگر روشهای آماری تفاوت دارد، چرا که در اغلب موارد روش خوشهبندی در شرایطی استفاده میشود که محققان برای پایه تحقیقات یک اصل یا واقعیت را به کار نمیگیرند. روش خوشهبندی معمولاً در مرحله مقدماتی یا اکتشافی اجرا میشود و برخلاف روش تحلیل عاملی (Factor Analysis) تمایزی میان متغیرهای وابسته و مستقل ایجاد نمیکند. در عوض، رویکرد تحلیل خوشهای به گونهای طراحی شده است که ساختارهای دادههای گوناگون را بدون ارائه تفسیر یا توضیحات خاصی پیدا کند. به بیان ساده، در روش خوشهبندی ساختارهای موجود در دادهها بدون نیاز به شرح چگونگی وجودشان، کشف میشوند.
تکنیک های خوشه بندی کدامند؟
- خوشهبندی سلسله مراتبی (Hierarchical Cluster)
- خوشهبندی K میانگین (K-Means Cluster)
- خوشهبندی دو مرحلهای (Two-Step Cluster)
با توجه به اینکه در قسمت فوق به چیستی رویکرد تحلیل خوشهای یا همان خوشهبندی و تکنیکهای آن پرداخته شده است، اکنون لازم است به منظور درک بهتر مفاهیم و مباحث مربوطه، نحوه استفاده از خوشهبندی در یک پروژه ساده شرح داده شود. هدف از این پروژه ساده، ایجاد گروهبندیهای طبیعی برای مجموعهای از اشیا داده (Data Objects) است. باید توجه داشت معمولاً این گروهبندیها به صراحت در خود دادهها بیان نشدهاند. در این مقاله به منظور تجزیه و تحلیل از دادههای فورانهای آبفشان Old Faithful استفاده میشود که میتوان این دادهها را از مخزن گیتهاب بارنی گوان دریافت کرد. این دادهها تنها دو صفت (Attributes) دارند که یکی از این صفات زمان انتظار بین فورانها (دقیقه) و دیگری، طول فوران (دقیقه) نام دارد. ساختن «مدل خوشهای K میانگین» ( K-means Cluster Model) برای دادههای فوران های Old Faithful به راحتی انجام میشود؛ چون این دادهها فقط حاوی دو صفت هستند.
مدل خوشهای K میانگین چیست؟
خوشهبندی K میانگین (K-Means Cluster) یکی از سادهترین و مرسومترین الگوریتمهای «نظارت نشده» (Unsupervised) یادگیری ماشین است. منظور از الگوریتمهای نظارت نشده آن دسته از الگوریتمها هستند که فقط با استفاده از بردارهای ورودی استنباط از مجموعه دادهها را انجام میدهند و در آن به نتایج شناخته شده یا برچسب گذاری شده توجهی نمیشود.
مدل خوشهای K میانگین چگونه کار میکند؟
- انتخاب تصادفی K مشاهده (Observation) به عنوان مرکز (Centroid) خوشهها
- تعیین محل قرارگیری مشاهدات در خوشهها ( این مرحله با استفاده از «حداقل فاصله اقلیدسی مربع» (Minimum Squared Euclidean Distance) و بررسی اینکه هر مشاهده به کدام مرکز نزدیک است انجام میشود.
- محاسبه مجدد مراکز خوشهها با به حداقل رساندن فاصله اقلیدسی مربع مربوط به همه مشاهدات درون خوشه
- تکرار مجدد دو مرحله فوق تا زمانی که امکان تغییر اعضای خوشهها و موقعیت مرکزهای خوشهها وجود نداشته باشد.
مرحله اول: آمادهسازی دادهها
در این مرحله باید برخی از ماژولها از جمله Sci-kit Learn نصب شوند. Sci-kit Learn به عنوان یک مجموعه ابزار کمکی برای دانشمندان علم داده ارائه شده است که به کمک آن میتوان پروژههای یادگیری ماشین و داده کاوی را در پایتون انجام داد. Cluster یک ماژول sci-kit است که توابع را به همراه الگوریتمهای خوشهبندی وارد میکند. اکنون لازم است تمام ماژولهای ضروری و مهم به محیط برنامه نویسی اضافه شوند. به این ترتیب با استفاده از دستورات زیر کتابخانههایی مانند Sklearn ،Matplotlib ،Numpy ،Pandas در پروژه اضافه میشوند تا تحلیل دادهها با استفاده از آنها به صورت اکتشافی انجام شود:
1import pandas as pd
2import numpy as np
3import matplotlib
4import matplotlib.pyplot as plt
5
6import sklearn
7from sklearn import cluster
8
9%matplotlib inline
10
11faithful = pd.read_csv('/Users/michaelrundell/Desktop/faithful.csv')
12faithful.head()
خط انتهایی قطعه کد فوق، به منظور خواندن فایل CSV مربوط به دادههای Old Faithful از دایرکتور محلی و نمایش ۵ مدخل ابتدایی این دادهها نوشته شده است. تصویر زیر خروجی کد فوق را نمایش میدهد.
با توجه به اینکه این مجموعه دادهها هیچ ستونی با مقادیر گمشده یا NaN ندارند، میتوان با خیال آسوده از مرحله پاکسازی دادهها عبور کرد. در ادامه این بخش، به کدهای مربوط به نحوه ایجاد یک نمودار نقطهای ساده از دادهها پرداخته میشود:
1faithful.columns = ['eruptions', 'waiting']
2
3plt.scatter(faithful.eruptions, faithful.waiting)
4plt.title('Old Faithful Data Scatterplot')
5plt.xlabel('Length of eruption (minutes)')
6plt.ylabel('Time between eruptions (minutes)')
7Out[19]:
8<matplotlib.text.Text at 0x12a29bba8>
در قطعه کد بالا ستونها به صورت مجدد نامگذاری شدهاند و همچنین با استفاده از کتابخانه فوقالعاده Matplotlib یک نمودار نقطهای ساده ساخته شده است. تصویر زیر به نمودار نقطهای مربوط به دادههای Old Faithful اختصاص دارد.
مرحله دوم: ساخت مدل خوشهبندی و تصویرسازی دادهها
آنچه در تصویر فوق ملاحظه شد، یک نمودار نقطهای است که دو خوشه در آن قابل تشخیص است. با وجود اینکه این دو خوشه به راحتی قابل مشاهده هستند، اما مجموعه داده هیچ کدام از مشاهدهها را به عنوان یک عضو متعلق به گروه برچسبگذاری نمیکند. مراحلی که در ادامه شرح داده خواهند شد مربوط به فرآیند ایجاد تمایز بصری میان دو گروه هستند. با استفاده از کدهای زیر تعدادی متغیر ایجاد و همچنین تغییر قالب یا همان فرمت دادهها انجام میشود:
1faith = np.array(faithful)
2
3k = 2
4kmeans = cluster.KMeans(n_clusters=k)
5kmeans.fit(faith)
6
7labels = kmeans.labels_
8centroids = kmeans.cluster_centers_
با اضافه کردن قطعه کد فوق اعمال زیر انجام میشود:
۱- دیتافریم Faithful به عنوان یک آرایه Numpy خوانده میشود، چرا که برای اینکه دادهها با sci-kit خوانده شوند باید به صورت آرایه باشند.
۲- مقدار K=2 به عنوان تعداد خوشهها انتخاب شده است، چون به طور واضح دو گروهبندی وجود دارد.
۳- متغیر «Kmeans» با خروجی فراخوانی شده از ماژول خوشه در sci-kit تعریف میشود. لازم است تعداد Kتا خوشه در نظر گرفته شود و دادهها در آرایه Faith مطابقت داده شوند.
با توجه به این که متغیرهایی برای ساخت مدل خوشهبندی ایجاد شدهاند، اکنون لازم است مرحله تصویرسازی انجام شود. با استفاده از کدهای زیر یک نمودار پراکندگی یا همان نمودار نقطهای ترسیم میشود که در آن خوشههای مختلف از طریق رنگها با یکدیگر تمایز دارند و همچنین مکان نهایی مرکزهای خوشهها نیز نشان داده میشود:
1for i in range(k):
2 # select only data observations with cluster label == i
3 ds = faith[np.where(labels==i)]
4 # plot the data observations
5 plt.plot(ds[:,0],ds[:,1],'o', markersize=7)
6 # plot the centroids
7 lines = plt.plot(centroids[i,0],centroids[i,1],'kx')
8 # make the centroid x's bigger
9 plt.setp(lines,ms=15.0)
10 plt.setp(lines,mew=4.0)
11plt.show()
با اضافه کردن قطعه کد فوق اعمال زیر انجام میشود:
- کدنویسی تمام عملیات مربوط به دستهبندی دادهها به دو گروه، در بخش قبلی انجام شدند (جایی که دستور kmeans.fit(faith) استفاده شد) و این قسمت از کدنویسی صرفاً برای ایجاد نمودار و نمایش آن است.
- متغیر ds برای انتخاب دادههایی با برچسب خوشه i به کار گرفته شده است.
- دستور plt.plot برای رسم نقطهای دادهها با امکان تنظیم شکل، رنگ و سایر موارد استفاده شده است.
- باقی کدها به رسم نقاط مرکزی و متمایز کردن آنها از سایر نقاط مربوط میشود.
در بخش های قبلی مراحل ساخت یک مدل خوشهبندی ساده ارائه شد. کدهای ساخت مدل خوشهبندی را میتوان برای هر تعدادی از کلاستر یا خوشه به کار برد اما در این مسئله ایجاد دو خوشه معنیدار و کافی بود. با توجه به اینکه خوشهها به خوبی تعریف شدهاند، اکنون میتوان به راحتی به استنتاج آنها پرداخت. با دیدن ظاهر این نقاط احتمالاً این سوال پیش میآید که هر یک از کلاسترها بیانگر چه هستند؟ در تحلیل دو خوشه به دست آمده از دادهها میتوان گفت که خوشه مشخص شده با رنگ سبز در مجموعه دادههای فورانهای آبفشان Faithful مربوط به فورانهای عمدتاً کوتاه با فاصله کم بین آنها است و خوشه آبی نیز به فورانهایی مربوط میشود که قدرتیتر هستند.
تفاوت بین خوشهبندی و طبقهبندی چیست؟
علی رغم اینکه هدف کلی هر دو روش طبقهبندی و خوشهبندی نگاشت ورودیها به خروجیها است، مسائل خوشهبندی و طبقهبندی کاملاً با یکدیگر متفاوت هستند. اما تفاوت میان آنها چیست؟ در مسئلههای طبقهبندی، هدف ایجاد یک مدل است که قابلیت تخمین و طبقهبندی دادهها را داشته باشد. اما هدف در مسائل خوشهبندی تشخیص گروههای متمایز در یک مجموعه دادهها است. به این ترتیب، مباحث آموزش داده کاوی با پایتون در اینجا به اتمام میرسد. در بخش پایانی این مقاله به معرفی دورههای آموزشی مرتبط با داده کاوی در مجموعه فرادرس پرداخته شده است تا علاقهمندان بتوانند یادگیری خود را در این زمینه ادامه دهند.
فیلم های آموزش داده کاوی فرادرس
در مجموعه فرادرس، فیلمهای آموزشی مختلفی در حوزه علم داده و یادگیری ماشین به ویژه داده کاوی تهیه شده است. در این بخش پایانی از مقاله آموزش داده کاوی با پایتون برخی از این دورههای آموزشی که به نوعی با داده کاوی در ارتباط هستند، معرفی شدهاند.
فیلم آموزش اصول و روش های داده کاوی (Data Mining)
در این دوره آموزشی مفاهیم و مباحث پایه و مهم داده کاوی و تکنیکهای آن شرح داده میشوند. این دوره، دارای مدت زمان ۲۵ ساعت و یک دقیقه و مدرس آن دکتر امیر حسین کیهانی پور است. دانش داده کاوی با هدف ارائه روشهایی برای پردازش هوشمند حجم زیاد دادهها، استخراج روالها و قوانین حاکم بر آنها، طراحی شده است. روشهای داده کاوی به صورت گسترده و در زمینههای مختلفی کاربرد دارد و معمولاً در مسائل مرتبط با تجزیه و تحلیل اطلاعات قابل استفاده است. روند آموزش در این دوره فرادرس به گونهای است که افراد میتوانند به واسطه آن مفاهیم مهم و کلیدی داده کاوی را به صورت جامع و در عین حال به زبان ساده فرا بگیرند.
در این دوره ابتدا مفاهیمی همچون پاکسازی دادهها (Data Cleaning)، تجمیع دادهها (Data Integration)، خلاصهسازی دادهها (Data Summarization)، کاهش ابعاد (Dimensionality Reduction) و گسستهسازی (Discretization) شرح داده میشوند و در ادامه برخی از سرفصلهای دیگر داده کاوی مانند انبارش دادهها (Data Warehousing) و تحلیل برخط اطلاعات (OLAP)، روشهای پایه و پیشرفته در کاوش الگوهای مکرر (Frequent Pattern Mining)، روشهای پایه و پیشرفته ردهبندی (Classification) و پیشبینی دادهها (Prediction)، روشهای خوشهبندی، روشهای تحلیل دادههای پرت (Outlier Analysis)، بررسی رویکردهای نوین تحقیقاتی در حوزه داده کاوی و در نهایت برخی از ابزارهای داده کاوی مورد بررسی قرار میگیرند.
- برای دیدن فیلم آموزش اصول و روش های داده کاوی (Data Mining) + اینجا کلیک کنید.
فیلم آموزش داده کاوی یا Data Mining در متلب
در سالهای اخیر، داده کاوی به عنوان یک مهارت کاربردی و پراهمیت شناخته شده است. علاوه بر آموزش داده کاوی با پایتون ، افراد میتوانند داده کاوی را با استفاده از زبانهای برنامه نویسی دیگری مانند متلب نیز انجام دهند. دوره آموزش داده کاوی در متلب به صورت محتوای ویدیویی و با مدت زمان ۲۴ ساعت و دو دقیقه در مجموعه فرادرس ارائه شده و مدرس آن دکتر سید مصطفی کلامی هریس است. روند آموزشی در این دوره به گونهای است که افراد با استفاده از آن میتوانند مفاهیم داده کاوی در متلب را به صورت جامع و کاربردی و در عین حال به زبان ساده فرا بگیرند.
از جمله سرفصلها و عناوینی که در دوره آموزش داده کاوی ارائه میشوند، میتوان به روشهای پیش پردازش دادهها، طبقهبندی (Classification)، خوشهبندی (Clustering)، رگرسیون (Regression)، کاهش ابعاد (Dimensionality Reduction)، تشخیص دادههای پرت (Outlier Detection) و کاوش قواعد وابستگی (Association Rule Mining) اشاره کرد. علاوه بر اینکه همه سرفصلهای ذکر شده با جزییات و به طور جامع آموزش داده میشوند، در این دوره آموزشی به حل چند مسئله کاربردی و واقعی در داده کاوی نیز پرداخته میشود. این دوره برای افرادی مناسب است که می خواهند مفاهیم داده کاوی را از پایه و به صورت اصولی فرا بگیرند.
- برای دیدن فیلم آموزش داده کاوی یا Data Mining در متلب + اینجا کلیک کنید.
فیلم آموزش متن کاوی با زبان R
همانطور که در بخشهای مختلف این مقاله به آن اشاره شده است، داده کاوی و تکنیکهای آن به عنوان یک ابزار کمکی در جهانی کنونی به حساب میآید. آموزش داده کاوی این امکان را به افراد میدهد تا بتوانند به واسطه به کارگیری آن، اطلاعات مفیدی را از دادههای بزرگ استخراج کنند. یک دوره آموزش داده کاوی با زبان R در مجموعه فرادرس ارائه شده است که دارای مدت زمان هفت ساعت و ۱۸ دقیقه و مدرس آن مهندس محمد مرادی است. در این دوره آموزشی مخاطبین ابتدا با مفاهیم مقدماتی داده کاوی و زبان R آشنا میشوند. در ادامه آموزش متن کاوی با زبان R، سرفصلهایی مانند آشنایی با دیتاستها، کار با انواع دادههای متنی، فرآیندهای پردازشی اولیه، ماتریس سند - واژه، تحلیل دادههای متنی، خوشهبندی دادههای متنی، تحلیل بصری دادههای متنی، تحلیل N-gram، تحلیل احساسات به صورت جامع و در پایان متن کاوی برای زبان فارسی مورد بررسی قرار میگیرند. این دوره برای افرادی مناسب است که به علم داده به ویژه مهارت داده کاوی و همچنین استفاده از زبان R علاقهمند هستند.
- برای دیدن فیلم آموزش فیلم آموزش متن کاوی با زبان R + اینجا کلیک کنید.
فیلم آموزش داده کاوی در RapidMiner
کاربرد روزافزون داده کاوی و مبحث تجزیه و تحلیل دادهها و نتایج آن در انواع صنایع مختلف، بخشهای ارتباط با مشتری، بازاریابی، نحوه چیدمان کالا، تشخیص انواع تقلبها و سایر موارد به وضوح قابل مشاهده است. در مجموعه فرادرس، یک دوره آموزش داده کاوی تولید شده است که در آن نحوه داده کاوی با RapidMiner شرح داده میشود. مدت زمان این دوره آموزشی دو ساعت و ده دقیقه و مدرس آن، مهندس نفیسه سلطانی است. RapidMiner قویترین و آسانترین نرمافزار برای آنالیز دادهها به صورت عددی و نمایش گرافیکی نتایج حاصل از تحلیل دادهها است.
همچنین، این نرمافزار قابلیت ورود کدهای داده کاوی از سایر برنامهها مانند R و Python را دارد و این امکان در آن وجود دارد که از دادههای سایر نرمافزارهای داده کاوی مثل Microsoft Excel و Microsoft Access ,Oracle ,IBM DB ,Microsoft SQL Server ,Teradata نیز استفاده شود. در این دوره آموزشی فرادرس به صورت کلی، ابتدا به تجزیه و تحلیل داده ها در این نرم افزار پرداخته میشود و سپس به صورت خاصتر، داده کاوی با استفاده از RapidMiner آموزش داده خواهد شد. برخی از سرفصلهای دیگر این دوره آموزشی شامل جایگذاری دادههای مفقود، نرمالسازی دادهها، کاهش ابعاد دادهها، استفاده از ماکروها، Looping & Branching، ذخیره دادههای آماده و نتایج مدلسازی دادهها، انواع مدلسازی، محاسبه محتمل ترین حالت ویژگی، مقایسه دیداری نتایج مدلسازی، تست نتایج مدلسازی و اعتبارسنجی نتایج هستند.
- برای دیدن فیلم آموزش داده کاوی در RapidMiner + اینجا کلیک کنید.
فیلم آموزش تحلیل شبکه های اجتماعی با زبان R و متن کاوی
این دوره فراردس در مورد مساله کاوش شبکههای اجتماعی و برخی از مباحث آن با علم داده کاوی مشترک است. در حقیقت، در این دوره مبانی شبکههای اجتماعی و اهمیت و کاربرد آنها و همچنین الگوهای رایج در زمینه کاوش و تحلیل آنها از جنبههای مختلف مورد بررسی قرار گرفتهاند و افراد به واسطه آن میتوانند در جهت استفاده حداکثری از قابلیتهای این شبکهها عمل کنند. دوره تحلیل شبکههای اجتماعی با زبان R و متن کاوی دارای مدت زمان هفت ساعت و ۲۵ دقیقه و مدرس آن مهندس محمد مرادی است. محتوای این دوره آموزشی به صورت ویدیویی ارائه میشود و به گونهای طراحی شده است که برای فعالان اقتصادی و تجاری و در عین حال برای دانشجویان رشتههای مهندسی کامپیوتر، فناوری اطلاعات (IT)، مهندسی صنایع و بازاریابی قابل استفاده باشد. این دوره آموزشی برای افرادی مناسب است که میخواهند مهارتهایی همچون داده کاوی، متن کاوی، تحلیل ساختاری گرافها و بازنمایی بصری دادهها را به صورت جامع و کاربردی فرا بگیرند.
- برای دیدن فیلم آموزش تحلیل شبکه های اجتماعی با زبان R و متن کاوید + اینجا کلیک کنید.
فیلم آموزش کتابخانه SciPy برای محاسبات علمی در پایتون - بخش اول
- برای دیدن فیلم آموزش کتابخانه SciPy برای محاسبات علمی در پایتون - بخش اول + اینجا کلیک کنید.
فیلم آموزش یادگیری ماشین
داده کاوی بخش بسیار مهمی از علم یادگیری ماشین به حساب میآید و از آن به منظور یافتن الگوهای ارزشمندی که در حجم وسیعی از دادهها پنهان شدهاند، استفاده میشود. داده کاوی و یادگیری ماشین هر دو از الگوریتمهای پیشرفته برای کشف الگوهای داده مربوطه استفاده میکنند. دوره آموزش یادگیری ماشین فرادرس دارای مدت زمان ۲۰ ساعت و ۵۹ دقیقه و مدرس آن دکتر امیر حسین کیهانی پور است. در این دوره آموزشی ابتدا روشهای پیادهسازی اولیه یادگیری ماشین شرح داده میشوند و در ادامه، یادگیری تقویتی (Reinforcement Learning) به عنوان یک رویکرد نوین و کارآمد در یادگیری ماشین مورد بررسی قرار میگیرد. این دوره به گونهای طراحی شده است که افراد میتوانند به واسطه مثالهای جامع این دوره با کاربردهای روشهای یادگیری تقویتی در حل مسائل واقعی آشنا شوند. این دوره مناسب افرادی است که به مباحث حوزه هوش مصنوعی به ویژه یادگیری ماشین و داده کاوی علاقهمند هستند و میخواهند آنها را به صورت جامع و در عین حال به زبان ساده فرا بگیرند.
در این دوره، به برخی از سرفصلهای شاخص یادگیری ماشین مانند یادگیری تحت نظارت (Supervised Learning)، یادگیری بدون نظارت (Unsupervised Learning)، طبقهبندی (Classification)، خوشهبندی (Clustering)، یادگیری مبتنی بر نمونهها (Instance-based Learning)، یادگیری مبتنی بر قواعد (Rule-based Learning)، یادگیری مبتنی بر نظریه احتمال (Bayesian Learning)، درخت تصمیم (Decision Tree)، الگوریتم ژنتیک (Genetic Algorithms)، شبکههای عصبی مصنوعی (Artificial Neural Networks)، روشهای Boosting ،AdaBoost و Bagging، روش خوشهبندی K-Means ،K-Medoids و سلسله مراتبی (Hierarchical)، ویژگی مارکوف (Markov property)، فرآیند تصمیم مارکوف (Markov Decision Process)، معادلات Bellman، شاخصهای ارزیابی فرآیند خوشهبندی، روشهای یادگیری Monte Carlo و تفاوت زمانی (Temporal Difference)، روشهای یادگیری تعاملی و سایر سرفصلهای مهم دیگر پرداخته میشود.
- برای دیدن فیلم آموزش یادگیری ماشین + اینجا کلیک کنید.
جمعبندی
در سالهای اخیر، اهمیت روزافزون دادهها در زندگی بشر بیش از قبل مورد توجه قرار گرفته است. در این راستا، مهارتهای کاربردی حوزه علم داده به ویژه داده کاوی به عنوان مجموعهای از ابزارهای کمکی در جوانب مختلف زندگی افراد شناخته شدهاند. در این مقاله ابتدا مفاهیم مقدماتی و پایه آموزش داده کاوی با پایتون از جمله چیستی داده کاوی و مزیتهای آن، مورد بررسی قرار گرفتند و در ادامه به چگونگی پیاده سازی عملی برخی از روشهای رایج داده کاوی با زبان برنامه نویسی پایتون پرداخته شد. با توجه به اینکه این مقاله همراه با پروژههای عملی ارائه شده است، افراد میتوانند از آن به عنوان یک راهنمای جامع برای شروع آموزش داده کاوی استفاده کنند. علاوه بر این، در بخش پایانی مقاله برخی از فیلمهای آموزشی مرتبط با داده کاوی ارائه شدهاند که این دورهها به نوعی مهارتهای تکمیلی برای آموزش داده کاوی با پایتون به حساب میآیند.
عالی بود ممنونم
با سلام؛
ممنون از همراهی شما.