آموزش داده کاوی با پایتون – راهنمای شروع به کار و یادگیری

پایتون چیست ؟
- مقاله پیشنهادی: بهترین مسیر یادگیری پایتون چیست؟ — راهنمای شروع آموزش
داده کاوی چیست ؟

مزیتهای داده کاوی چه هستند؟
داده کاوی به عنوان یک ابزار کمکی در سیستم کسب و کار محسوب میشود و به همین دلیل فواید متعددی دارد. در ادامه به برخی از مزیتهای پراهمیت داده کاوی با پایتون به صورت فهرستوار پرداخته میشود:
- بازاریابی و خردهفروشی
- استفاده از داده کاوی در بانکداری و امور مالی
- تعیین گروههای مشتریان
- افزایش وفاداری مشتریان به برند
- کمک در تصمیمگیری
- افزایش درآمد شرکت
- پیشبینی ترندهای آینده
- افزایش بهینهسازی وب سایتها
- ایجاد انگیزه در محققین
با توجه به اهمیت داده کاوی در بازار کار کنونی، لازم است در مورد برخی از مزیتهای پراهمیت داده کاوی توضیحات بیشتری ارائه شود. بنابراین در ادامه این بخش تعدادی از آنها به زبان ساده و قابل فهم شرح داده شدهاند.
- بازاریابی و خردهفروشی: در شرکتهای بازاریابی با استفاده از داده کاوی امکان ساخت مدلها فراهم میشود. این روش بر اساس تاریخچه دادهها مشخص میکند کمپینهای جدید بازاریابی مانند ایمیل مستقیم، بازاریابی اینترنتی و سایر موارد برای چه افرادی مناسب خواهد بود. به دنبال آن، این امکان برای بازاریابان فراهم میشود تا محصولات سودآور را به مشتریان هدف بفروشند.
- استفاده از داده کاوی در بانکداری و امور مالی: استخراج دادهها به عنوان یک ابزار کمکی برای موسسات مالی محسوب میشود و با کمک آن امکان بررسی اطلاعات مربوط به وامها و گزارشهای اعتباری افراد وجود دارد. در این روش با ساخت مدل برای مشتریان و تاریخچه آنها، میزان صلاحیت افراد برای وام تعیین میشود. علاوه بر این، تشخیص تراکنشهای غیرقانونی در حسابهای بانکی با کمک داده کاوی امکانپذیر است.
- افزایش وفاداری مشتریان به برند: در کمپینهای بازاریابی، از تکنیکهای کاوش به منظور درک نیازها و همچنین تجزیه و تحلیل رفتارها و عادتهای مشتریان استفاده میشود. از این رو، به واسطه این روشها میتوان میزان وفاداری مشتریان به آن برند را افزایش داد. چرا که در این برند خاص به تقاضاهای مشتریان به شکل منحصر به فرد توجه شده است.
- افزایش درآمد شرکت: با گذر زمان، جمعآوری اطلاعات در مورد کالاهایی که به صورت آنلاین فروش رفتهاند، میتواند باعث کاهش هزینههای محصولات و خدمات شود و این یکی از فواید برجسته داده کاوی است.
- افزایش بهینهسازی وب سایتها: داده کاوی به منظور یافتن اطلاعات تمام عناصر دیده نشده استفاده میشود و افراد میتوانند با به کارگیری آن، وب سایتهایشان را بهینهسازی کنند.
روشهای داده کاوی کدامند ؟
روشهای مختلفی برای ایجاد مدلهای پیشبینی از مجموعه دادهها وجود دارد. یک متخصص علم داده باید مفاهیمی که در پس این تکنیکها وجود دارند و همچنین نحوه استفاده از کدنویسی برای تولید مدلها و تصویرسازیهای مشابه را درک کند. اکنون در ادامه این بخش از آموزش داده کاوی با پایتون ، انواع تکنیکهای داده کاوی شرح داده میشوند.
رگرسیون
- رگرسیون خطی (Linear Regression)
- رگرسیون لجستیک (Logistic Regression)
- رگرسیون چندکی (Quantile Regression)
- رگرسیون ستیغی (Ridge Regression)
- رگرسیون لاسو (Lasso Regression)

طبقه بندی
«طبقهبندی» (Classification) یک تکنیک داده کاوی است که در آن موارد موجود در یک مجموعه به دستهها یا کلاسهای هدف اختصاص داده میشوند. هدف در روش طبقهبندی، پیشبینی دقیق کلاس هدف برای هر یک از آیتمهای موجود در دادهها است. برای مثال، با استفاده از یک مدل طبقهبندی میتوان افراد متقاضی وام را با عنواینی همچون دارای ریسک اعتباری کم، متوسط یا زیاد شناسایی کرد. علاوه بر این، با استفاده از تکنیک Classification، طبقهبندی ایمیلها بر اساس اینکه آن ایمیلها درست و قانونی هستند یا جعلی، نیز امکانپذیر است.

تحلیل خوشهای
با کمک تکنیک «تحلیل خوشهای» (Cluster 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) + کلیک کنید.
در این بخش مقدماتی از آموزش داده کاوی با پایتون، برخی از دورههای آموزشی جامع و کاربردی فرادرس معرفی شدند. اکنون در ادامه این مقاله، علت انتخاب زبان برنامه نویسی پایتون برای داده کاوی شرح داده میشود.
چرا پایتون برای داده کاوی مناسب است؟
دلایل متعددی برای مطلوبیت استفاده از زبان برنامه نویسی پایتون در داده کاوی وجود دارد. در این بخش از آموزش داده کاوی با پایتون به برخی از این دلایل شاخص و اساسی پرداخته میشود.
سهولت و سادگی یادگیری پایتون
مقیاسپذیری بالا در پایتون
امکان استفاده از کتابخانههای جامع و غنی پایتون
نقش برجسته پایتون در زمینه الگوریتمها و علم داده

مناسب بودن پایتون برای تصویرسازی دادهها
کتابخانه های پایتون برای داده کاوی کدامند؟

برای اینکه پایتون به عنوان یک زبان برنامه نویسی سازنده و کارآمد برای داده کاوی استفاده شود، لازم است کتابخانههای مختلفی روی سیستم نصب و اجرا شوند. به این ترتیب، در ادامه این بخش، برخی از کتابخانههای کاربردی و مهم پایتون معرفی میشوند.
- Numpy: نامپای یک پکیج ضروری و پراهمیت برای محاسبات علمی است که ساختاری تطبیقپذیر برای کار با آرایهها دارد. این کتابخانه قدرتمند امکاناتی مانند شی آرایه چندبعدی، اشیا مشتق شده و مجموعهای از روالها برای عملیات سریع روی آرایهها را پشتیبانی میکند. در واقع، نامپای یک ابزار کاربردی برای مباحث مربوط به جبر خطی و کاربرد و همچنین اجرای عملیاتهای برداری یا ریاضیاتی است.
- Scipy: مجموعهای از ابزارهای آماری برای پایتون است. Scipy یک کتابخانه متن باز است که برای حل مسائل ریاضی، علمی، مهندسی و فنی استفاده میشود. با استفاده از این کتابخانه قدرتمند کاربران میتوانند اعمالی همچون دستکاری و تصویرسازی دادهها را همراه با به کارگیری طیف گستردهای از دستورات سطح بالای پایتون انجام دهند. SciPy بر پایه کتابخانه NumPy ساخته شده است و به صورت «سای پای» تلفظ میشود.
- Matplotlib: این کتابخانه پایتون، همانطور که پیشتر اشاره شد، برای تصویرسازی و ایجاد نمودارهای مختلف ارائه شده است.
- Pandas: پانداس یکی از کتابخانههای متن باز پایتون است که برای دستکاری و تجزیه و تحلیل دادهها در پایتون آنها به کار میرود. با استفاده از توابع و متدهای متعدد Pandas، سرعت فرآیند تجزیه و تحلیل دادهها افزایش مییابد. Pandas روی Numpy ساخته شده است و به همین دلیل بسیاری از مبانی آن از Numpy الهام گرفته شده است.
- Gensim: «ژنیسم» (Gensim) یک کتابخانه پایتون متن باز و رایگان است که برای نمایش اسناد به عنوان بردارهای معنایی استفاده میشود. Gensim با استفاده از الگوریتمهای یادگیری نظارت نشده (Unsupervised Learning) و برای پردازش متون دیجیتالی خام و بدون ساختار یا همان متن ساده طراحی شده است.
- Scikit-Learn: کتابخانه «ساکیت لرن» (Scikit-Learn) با کمک کتابخانههای Numpy و Scipy طراحی شده است. هدف از ساخت این کتابخانه پیادهسازی الگوریتمهای کلاسیک ماشینلرنینگ مانند SVM و رگرسیون خطی و KNN و غیره است. همراه با نصب Scikit-Learn چند دیتا ست برای نمونه هم در کامپیوتر نصب میشوند. برنامه نویسها میتوانند از این کتابخانههای مختلف برای تمرین و پیادهسازی الگوریتمهای یادگیری ماشین استفاده کنند.
با توجه به اینکه تا این بخش برخی از مقدمات و مفاهیم پایه آموزش داده کاوی با پایتون شرح داده شدهاند، اکنون این سوال پیش میآید که دوره داده کاوی با پایتون برای چه افرادی مناسب است؟ پاسخ این سوال در بخش بعدی این مقاله بیان شده است.
آموزش داده کاوی با پایتون مناسب چه کسانی است؟
در این بخش فهرستی از افراد مختلفی ارائه شده است که آموزش داده کاوی با پایتون میتواند برای آنها مناسب و مفید باشد:
- افرادی که میخواهند در بازه زمانی کوتاه ابزارهای داده کاوی مهم آشنا شوند و بتوانند به واسطه آن دادههای مشتریان خود را تحلیل کنند.
- مدیران و بازاریابها میتوانند با کمک دوره آموزش داده کاوی با پایتون دادههای مشتریهایشان را تجزیه و تحلیل کنند.
- کارشناسان مربوط به حوزه مدیریت ارتباط با مشتری که قصد یادگیری روشهای تحلیل دادههای مشتریان را دارند، میتوانند با کمک آموزش داده کاوی با پایتون مهارتهای خود را تقویت کنند.
- دانشجویان و فارغ التحصیلان میتوانند از علم داده کاوی به عنوان بخشی از مراحل آمادگی خود جهت پیدا کردن شغل در حوزه مدیریت ارتباط با مشتری و داده کاوی استفاده کنند.
بررسی عملکرد و کارایی مدلهای داده کاوی یکی از بخشهای پراهمیت در آموزش داده کاوی با پایتون به حساب میآید. بدین منظور، لازم است در مرحله آخر ساخت مدلهای داده کاوی، کارایی و چگونگی عملکرد آنها بررسی شود. در ادامه این مقاله، برخی از معیارهای شاخص برای ارزیابی مدلهای داده کاوی شرح داده میشوند.
روش های ارزیابی مدل های داده کاوی

روش ارزیابی مدل برای مسائل طبقهبندی
همانطور که در بخشهای پیشین به آن پرداخته شده است، مسئلههای طبقهبندی آن دسته از مسائل هستند که در آنها باید پیشبینی شود که یک مشاهده جدید به کدام دسته یا کلاس تعلق دارد. در مدل به دست آمده که اصطلاحاً «طبقهبند» نامیده میشود، برچسب دادههای ورودی بر مبنای تجزیه و تحلیل مجموعهای از دادههای آموزشی تعیین میشود. منظور از دادههای آموزشی یا همان 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)
روش ارزیابی مدل برای مسائل خوشهبندی

خوشهبندی گروه دیگری از الگوریتمهای داده کاوی را شامل میشود که در آنها دادههای مشابه در یک خوشه قرار میگیرند. خوشهبندی برای حل مسئلههایی کاربرد دارد که دادهها فاقد برچسب هستند و زیرمجموعه الگوریتمهای بدون نظارت محسوب میشود. روشهای مختلفی برای تخمین شباهت میان دو شی وجود دارد، در ادامه این بخش برخی از آنها معرفی میشوند.
- شباهت کسینوسی (Cosine Similarity)
- فاصله منهتن (Manhattan Distance)
- شباهت فاصله اقلیدسی (Euclidean Distance Similarity)
- معیار نیمرخ (Silhouette Coefficient)
- شاخص دان (Dunn’s Index)
تا این بخش از آموزش داده کاوی با پایتون به برخی از مفاهیم مهم و پایه داده کاوی پرداخته شد. اکنون در ادامه این مقاله، نحوه پیادهسازی داده کاوی با پایتون با استفاده از چند پروژه ساده شرح داده میشود.
آموزش داده کاوی با پایتون پروژه محور
پیش از این، مباحث مهم و کاربردی علم داده کاوی مورد بررسی قرار گرفتند، حال در این بخش از مقاله، به منظور درک بهتر مفاهیم داده کاوی، دو پروژه نمونه پیادهسازی و آموزش داده شدهاند. ابتدا چگونگی ساخت مدل رگرسیون و در ادامه نحوه ساخت مدل خوشهبندی شرح داده خواهد شد. لازم به ذکر است به تمام مباحث ضروری و مورد نیاز برای این دو پروژه نیز در این بخش اشاره شده است.
آموزش داده کاوی با پایتون : ساخت یک مدل رگرسیون با پایتون

مرحله اول: نصب ابزارهای داده کاوی مناسب برای ساخت مدل رگرسیون
با اجرای دستور فوق این اطمینان حاصل شده است که آخرین نسخه پکیج منیجر Pip به کار برده میشود. اکنون میتوان با استفاده از دستور زیر نوتبوک جوپیتر را نصب کرد:

خروجی دستور بالا به شکل زیر نمایش داده میشود و این خروجی بیانگر این است که مقادیر تهی در مجموعه دادهها وجود ندارند:

با استفاده از دستور زیر، میتوان نوع همه متغیرهای پروژه را مشاهده کرد:
در ادامه، خروجی دستور فوق قابل مشاهده است:

ممکن است این سوال پیش بیاید که چرا نوع متغیرهای پروژه اهمیت دارد؟ علت اهمیت نوع متغیرها این است که برای ادامه دادن مسیر آموزش داده کاوی با پایتون ، دانستن اینکه کدام دادهها عددی و کدام یک از نوع شی هستند، ضروری و لازم است. تا این بخش از مقاله به برخی از نکات پایه و اساسی آموزش داده کاوی پرداخته شده است. اما به منظور اینکه آموزش داده کاوی با پایتون به طور جامع و اصولی انجام شود در این بخش خلاصهای کاربردی از آنچه در بخش اول ساخت مدل رگرسیون انجام میشود، ارائه شده است.
در گام اول ساخت مدل با استفاده از Pandas، امکان وارد کردن (Import) و خواندن دیتافریم از CSV فراهم شد. در ادامه با به کارگیری تابع isnull() بررسی شد که آیا تمام دادهها برای مسئله رگرسیون قابل استفاده هستند یا خیر (آیا مقادیر تهی در مجموعه دادهها وجود دارد یا خیر)؟ در پروژههای واقعی، ممکن است یک ستون، دادههایی به شکل اعداد صحیح، رشتهها یا NaN داشته باشد و همه آنها در یک مکان قرار گرفت باشند. به همین دلیل باید پیش از ساخت مدل رگرسیون با چنین مجموعه دادههایی، تطابق نوعها و مناسب بودن آنها برای مسئله رگرسیون به طور دقیق مورد بررسی قرار بگیرد. مجموعه دادههایی که برای پروژههای ارائه شده در این مقاله استفاده شدهاند با دقت فراوانی تهیه شده و معمولاً در اغلب پایگاه دادهها چنین دقتی مشاهده نمیشود.
مرحله دوم: تجزیه و تحلیل اکتشافی ساده و نتایج رگرسیون
ابتدا لازم است مفهوم دادهها به صورت جامع شرح داده شود. فرم و شکل دادهها بسیار مهم است و باید در پروژهها از دادههایی استفاده شود که قالب معقولی دارند. با توجه به اینکه وجود دادههای آسیبدیده (Corrupted) یک موضوع رایج در پروژههای علم داده به حساب میآید، بهتر است دو موضوع زیر مورد بررسی قرار گیرند:
- مشاهده تمام متغیرهای داخل پروژه تجزیه و تحلیل با استفاده از df.describe()
- ایجاد هسیتوگرامهای (Histograms) متغیرهایی که در تجزیه و تحلیل مورد هدف هستند با به کارگیری plt.pyplot.hist()
در ادامه، این کدها و خروجی آنها نمایش داده شدهاند. دستور زیر برای نمایش متغیرهای تجزیه و تحلیل استفاده میشود:
خروجی دستور فوق به صورت زیر است:

با مشاهده خروجی بالا، مشخص میشود که تعداد مجموعه دادههای مشاهده شده در این پروژه 21,613، قیمت میانگین تقریباً 540 هزار دلار، قیمت میانه تقریباً ۴۵۰ هزار دلار و میانگین فضای خانه تقریباً ۱۹۳ مترمربع است. اکنون باید با استفاده از کتابخانه Matplotlib دو هیستوگرام چاپ شود که با کمک آنها چگونگی توزیع قیمت مسکن و اندازه آنها (فوت مربع) قابل مشاهده باشد. دستور زیر به منظور ایجاد هیستوگرام استفاده میشود:
خروجی قطعه کد فوق به صورت زیر است:

زمانی که با کمک OLS، کدهای تولید خلاصه برای یک رگرسیون خطی با تنها دو متغیر نوشته میشوند، فرمول کلی زیر استفاده میشود:
اکنون برای مشاهده گزارش خلاصه قیمت مسکن و اندازه آنها باید کدهای زیر استفاده شوند:
در ادامه، خروجی مربوط به خلاصه یک مدل رگرسیون ساده نمایش داده شده است:
در صورتی که مشابه بالا خلاصه کمترین مربعات معمولی رگرسیون چاپ شود، میتوان اطلاعات مرتبط و متناسب نیاز خود را از آن دریافت کرد. با نگاه به خروجی، واضح است که بین مساحت خانه و قیمت مسکن رابطه بسیار معنی داری وجود دارد. به این دلیل که مقدار t-value بسیار بالا (144.920) و |P>|t صفر درصد است. این یعنی، احتمال اینکه رابطه میان قیمت مسکن و مساحت مسکن شانسی یا به دلیل تغییرات آماری باشد تقریباً صفر محسوب میشود. علاوه بر این، ارتباط میان قیمت مسکن و اندازه آن یک رابطه با اندازه و بزرگی (Magnitude) مناسب است، به طوری که به ازای هر ۱۰۰ فوت مربع اضافه شده به وسعت خانه، قیمت مسکن ۲۸ هزار دلار بیشتر از میانگین پیشبینی میشود. میتوان به آسانی فرمول را به گونهای تغییر داد که بیش از یک متغیر مستقل وجود داشته باشد. دستور زیر یک نمای کلی از این فرمول است:
میتوان با کمک دو خط کد تعداد متغیرهای مستقل را افزایش داد، بدین منظور باید از دستورات زیر در پروژه استفاده شود:
در ادامه خروجی کد فوق نمایش داده خواهد شد:
مرحله سوم: تصویرسازی نتایج رگرسیون
اکنون پس از مرحله تجزیه و تحلیل اکتشافی، لازم است در این بخش از آموزش داده کاوی با پایتون ، نحوه تصویرسازی نتایج مدل رگرسیون شرح داده شود. داشتن خلاصه رگرسیون اهمیت زیادی دارد، چرا که با استفاده از آن میتوان مقدار دقت دادهها و مدل رگرسیون را برای فرآیندهای تخمین و پیشبینی بررسی کرد. با وجود اهمیت زیاد خلاصه رگرسیون، اما تصویرسازی رگرسیون نیز یک قدم مهم در جهت درک عمیقتر نتایج رگرسیون است. چون با به کارگیری روشها و قالبهای بصری به آسانی میتوان کاربرد و عملکرد رگرسیون را درک کرد. این بخش از آموزش داده کاوی با پایتون به طور کامل به Seaborn اختصاص دارد. Seaborn یک عملکرد ساده و قابل فهم ارائه میدهد که برای ترسیم خطوط رگرسیون با نمودارهای پراکندگی کاربرد دارد. با استفاده از دستور زیر میتوان نمودارهای خطوط رگرسیون با نمودارهای پراکندگی را ایجاد کرد:
خروجی قطعه کد فوق به صورت زیر است:

در نهایت ساخت مدل رگرسیون به طور کامل انجام شد. باید توجه کرد در پایتون روشهای مختلفی برای اجرای تجزیه و تحلیل رگرسیون وجود دارد که در این مقاله به یکی از آنها به طور جامع و به زبان ساده پرداخته شد. اکنون در ادامه آموزش داده کاوی با پایتون نحوه ساخت یک مدل خوشهبندی با پایتون شرح داده میشود.
آموزش داده کاوی با پایتون : ساخت یک مدل خوشهبندی با پایتون
در این بخش از آموزش داده کاوی با پایتون به نحوه ایجاد یک مدل خوشهبندی با پایتون پرداخته میشود. اما پیش از پیادهسازی این مدل خوشهبندی، ابتدا لازم است شرحی از چیستی تحلیل خوشهای و تکنیکهای آن ارائه شود.
تحلیل خوشهای چیست ؟
تحلیل خوشهای (Clustering Analysis) یک روش آماری است که برای گروهبندی اشیا مشابه در دستههای مربوطه استفاده میشود. تحلیل خوشهای با نامهای دیگری مثل تجزیه و تحلیل قطعهبندی (Segmentation Analysis)، تجزیه و تحلیل طبقهبندی (Taxonomy Analysis) یا خوشهبندی (Clustering) نیز شناخته میشود.
هدف از خوشهبندی چیست؟
تکنیک های خوشه بندی کدامند؟
- خوشهبندی سلسله مراتبی (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) و بررسی اینکه هر مشاهده به کدام مرکز نزدیک است انجام میشود.
- محاسبه مجدد مراکز خوشهها با به حداقل رساندن فاصله اقلیدسی مربع مربوط به همه مشاهدات درون خوشه
- تکرار مجدد دو مرحله فوق تا زمانی که امکان تغییر اعضای خوشهها و موقعیت مرکزهای خوشهها وجود نداشته باشد.
مرحله اول: آمادهسازی دادهها
خط انتهایی قطعه کد فوق، به منظور خواندن فایل CSV مربوط به دادههای Old Faithful از دایرکتور محلی و نمایش ۵ مدخل ابتدایی این دادهها نوشته شده است. تصویر زیر خروجی کد فوق را نمایش میدهد.

با توجه به اینکه این مجموعه دادهها هیچ ستونی با مقادیر گمشده یا NaN ندارند، میتوان با خیال آسوده از مرحله پاکسازی دادهها عبور کرد. در ادامه این بخش، به کدهای مربوط به نحوه ایجاد یک نمودار نقطهای ساده از دادهها پرداخته میشود:
در قطعه کد بالا ستونها به صورت مجدد نامگذاری شدهاند و همچنین با استفاده از کتابخانه فوقالعاده Matplotlib یک نمودار نقطهای ساده ساخته شده است. تصویر زیر به نمودار نقطهای مربوط به دادههای Old Faithful اختصاص دارد.

مرحله دوم: ساخت مدل خوشهبندی و تصویرسازی دادهها
آنچه در تصویر فوق ملاحظه شد، یک نمودار نقطهای است که دو خوشه در آن قابل تشخیص است. با وجود اینکه این دو خوشه به راحتی قابل مشاهده هستند، اما مجموعه داده هیچ کدام از مشاهدهها را به عنوان یک عضو متعلق به گروه برچسبگذاری نمیکند. مراحلی که در ادامه شرح داده خواهند شد مربوط به فرآیند ایجاد تمایز بصری میان دو گروه هستند. با استفاده از کدهای زیر تعدادی متغیر ایجاد و همچنین تغییر قالب یا همان فرمت دادهها انجام میشود:
با اضافه کردن قطعه کد فوق اعمال زیر انجام میشود:
۱- دیتافریم Faithful به عنوان یک آرایه Numpy خوانده میشود، چرا که برای اینکه دادهها با sci-kit خوانده شوند باید به صورت آرایه باشند.
۲- مقدار K=2 به عنوان تعداد خوشهها انتخاب شده است، چون به طور واضح دو گروهبندی وجود دارد.
۳- متغیر «Kmeans» با خروجی فراخوانی شده از ماژول خوشه در sci-kit تعریف میشود. لازم است تعداد Kتا خوشه در نظر گرفته شود و دادهها در آرایه Faith مطابقت داده شوند.
با توجه به این که متغیرهایی برای ساخت مدل خوشهبندی ایجاد شدهاند، اکنون لازم است مرحله تصویرسازی انجام شود. با استفاده از کدهای زیر یک نمودار پراکندگی یا همان نمودار نقطهای ترسیم میشود که در آن خوشههای مختلف از طریق رنگها با یکدیگر تمایز دارند و همچنین مکان نهایی مرکزهای خوشهها نیز نشان داده میشود:
با اضافه کردن قطعه کد فوق اعمال زیر انجام میشود:
- کدنویسی تمام عملیات مربوط به دستهبندی دادهها به دو گروه، در بخش قبلی انجام شدند (جایی که دستور 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) به عنوان یک رویکرد نوین و کارآمد در یادگیری ماشین مورد بررسی قرار میگیرد. این دوره به گونهای طراحی شده است که افراد میتوانند به واسطه مثالهای جامع این دوره با کاربردهای روشهای یادگیری تقویتی در حل مسائل واقعی آشنا شوند. این دوره مناسب افرادی است که به مباحث حوزه هوش مصنوعی به ویژه یادگیری ماشین و داده کاوی علاقهمند هستند و میخواهند آنها را به صورت جامع و در عین حال به زبان ساده فرا بگیرند.
- برای دیدن فیلم آموزش یادگیری ماشین + اینجا کلیک کنید.
جمعبندی
در سالهای اخیر، اهمیت روزافزون دادهها در زندگی بشر بیش از قبل مورد توجه قرار گرفته است. در این راستا، مهارتهای کاربردی حوزه علم داده به ویژه داده کاوی به عنوان مجموعهای از ابزارهای کمکی در جوانب مختلف زندگی افراد شناخته شدهاند. در این مقاله ابتدا مفاهیم مقدماتی و پایه آموزش داده کاوی با پایتون از جمله چیستی داده کاوی و مزیتهای آن، مورد بررسی قرار گرفتند و در ادامه به چگونگی پیاده سازی عملی برخی از روشهای رایج داده کاوی با زبان برنامه نویسی پایتون پرداخته شد. با توجه به اینکه این مقاله همراه با پروژههای عملی ارائه شده است، افراد میتوانند از آن به عنوان یک راهنمای جامع برای شروع آموزش داده کاوی استفاده کنند. علاوه بر این، در بخش پایانی مقاله برخی از فیلمهای آموزشی مرتبط با داده کاوی ارائه شدهاند که این دورهها به نوعی مهارتهای تکمیلی برای آموزش داده کاوی با پایتون به حساب میآیند.
مطالب مجله فرادرس را در جستجوی گوگل سریعتر ببینید





















عالی بود ممنونم
با سلام؛
ممنون از همراهی شما.