لیست جامع پروژه های دیتاساینس از مبتدی تا پیشرفته
علم داده به عنوان یکی از حوزههای پر رونق و تاثیرگذار در دنیای امروز به شمار میرود که به تحلیل و استفاده از دادهها برای بهبود فهم مسائل و تصمیمگیریهای هوشمندانه میپردازد. این حوزه فراتر از جمعآوری دادهها رفته و از ترکیب علوم کامپیوتر، آمار و دانش تخصصی در زمینه مورد نظر برای استخراج اطلاعات ارزشمند و الهامبخش استفاده میکند. به همین خاطر آموزش علم داده در بین برنامهنویسان و علاقهمندان این حوزه رواج یافت و در این بین، پروژههای علم داده به دنیای پیچیده دادهها چالش انداختند که با استفاده از تکنیکهای متنوع مانند یادگیری ماشین، تحلیل احتمالاتی و تجزیه و تحلیل تصاویر، به بهبود فرآیندها و اتخاذ تصمیمات مبتنی بر دادهها کمک میکنند.
به همین خاطر ما تصمیم گرفتیم تا با تمرکز روی چگونگی ایجاد و اجرای پروژه های دیتاساینس، به بررسی اصول اساسی، مفاهیم پیشرفته و ابزارهای مورد استفاده در این حوزه بپردازیم. در واقع هدف ما، درک دنیای پیرامون به دادهها و اطلاعات است. برخوردهای نوین و خلاقانه در این زمینه نه تنها به بهبود فرآیندها و عملکردها کمک میکنند، بلکه به طور کلی به جلب رشد و تحول در مسائل مختلف جامعه نیز کمک مینماید.
پروژه های علم داده سطح مبتدی با استفاده از پایتون
در ابتدا میخواهیم به ایدههایی از پروژه های علم داده با زبان پایتون بپردازیم که برای مبتدیان مناسب بوده و میتوانند با آن دانش و آموختههای خود را محک بزنند.
1. سیستم توصیه موسیقی در KKBox
اولین پیشنهاد ما برای پروژه های دیتاساینس با پایتون، سیستم توصیه موسیقی است، چراکه امروزه اپهای بسیاری در دنیای موسیقیها وجود دارد اما مساله این است که شما چگونه میتوانید محتوای جدید را پیدا کنید؟
بله؛ افراد از طریق سیستمهای توصیهها میتوانند آهنگهای جدید را مطابق با سلیقههای خود پیدا کنند که در این بین نرمافزار موسیقی KKBox، یکی از بزرگترین پلتفرمهای دنیای موسیقی در آسیا بشمار میرود. بنابراین شما برای راهاندازی این سیستم توصیه باید مجموعه دادههای زیر را داشته باشید:
توضیحات مجموعه داده
مجموعه دادههای شما برای اینکار، کاربران و آهنگها هستند که باید مقادیر دادهای چون user_ID، user_Registration_date، song_ID، song_genre، song_ArtistName، song_releaseDate و غیره را، برای آنها تعریف کنید. این مجموعه داده برای زمانی است که یک آهنگ برای اولین بار توسط کاربر پخش میشود و این موضوع برای هر آهنگ و کاربری منحصر به فرد است. فایلهایی که باید در این پروژه استفاده برای مجموعه دادههای خود استفاده کنید، به شرح زیر است:
- فایل Train.csv: این فایل دادههای مربوط به آهنگ کاربر را ذخیره میکند که باید شامل مقادیر دادهای چون use_id، source_system_tab، source_type، source_screentime، target باشد. همچنین این فایل هدف مشخص میکند که آیا کاربر در مدت یک ماه به همان آهنگ گوش داده است یا خیر که برای این موضوع از دستور if-else استفاده میکند، به این صورت که مثلا اگر هدف 1 بود یعنی کاربر آهنگ را در 30 روز گذشته تکرار کرده، درغیر این صورت هدف 0 و یعنی کاربر آهنگ را تکرار نکرده است
- فایل Songs.csv: این فایل حاوی دادههایی مانند song_id ،song_genre، song_artist ،song_lyricist و غیره از آهنگها است.
- فایل Members.csv: حاوی اطلاعات حساب کاربری مانند user_name، user_age ،user_gender ،user_subscription_plan وغیره است.
پاکسازی دادهها
حال نوبت به پاکسازی دادهها میرسد، چراکه مجموعه دادهها میتوانند دارای ناهنجاری، نقاط پرت و مقادیر گمشده باشند. بنابراین، چنین مواردی میتواند در کارایی و دقت پیادهسازی الگوریتمی اختلال ایجاد کند. درحقیقت، ما باید دادهها را نرمال سازی کنیم و در کل آنها را یکنواخت کنیم زیرا به طور متوسط، حدود 20 تا 40 درصد از مقادیر در یک مجموعه داده پرت هستند یا وجود ندارند . اما کتابخانههایی که از پایتون برای این پروژه بهتر است استفاده کنید شامل pandas ،sklearn وNumPy است.
روشهای استفاده از مدلسازیها
این پروژه از 3 رویکرد مدلسازی زیر برای ساختن یک سیستم توصیه کننده موسیقی بهره میبرد:
- رگرسیون لجستیک
رگرسیون لجستیک سادهترین الگوریتم است که در پایتون به عنوان یک مدل خطی در کتابخانه اسکلرن قرار دارد.
- درخت تصمیم
درخت تصمیم از ساختار درختی برای رسیدن به نتیجه یا نتایج استفاده میکند و در هر سطح، انتخابی برای دنبال کردن هر یک از شاخه ها وجود دارد که پس از تمام تکرارها، نتیجه را نشان میدهد.
- جنگل تصادفی
جنگل تصادفی مجموعه ای از درخت تصمیم است.
2. پروژه ساخت چتبات (ChatBot) با NLP برای طبقه بندی متن
چتباتها برنامههایی هستند که میتوانند با کاربران در مورد مشکلات رایج آنها چت کنند و پاسخ دهند. به همین منظور، سازمانهای بسیاری از پروژههای علم داده با پایتون علم به عنوان اولین نقطه تعامل با مشتریان خود استفاده میکنند. پس برای ساخت این پروژه لازم است مراحل زیر را در دستور کار خود قرار دهید:
-
تعریف مسئله
تعیین کنید که چتبات شما باید چه نوع سوالات و درخواستهایی را پاسخ دهد.
-
جمعآوری داده
جمعآوری مجموعهای از دادههای متنی که به چتبات شما مرتبط باشند. همچنین در این مرحله باید به برچسبگذاری دادهها بر اساس موضوعات و پاسخهای مورد نظر نیز توجه کنید.
-
پیشپردازش داده
در این مرحله باید به حذف حروف اضافی، علائم نگارشی و کلمات غیرضروری، بپردازید. همچنین باید به تبدیل متن به قالب مناسب برای پردازش هم توجه داشته باشید.
-
ساخت مدل NLP
در این بخش باید استفاده از الگوریتمهای طبقهبندی مانند ماشینهای پشتیبان (SVM) یا رگرسیون لجستیک برای طبقهبندی متن استفاده کنید. علاوهبرـن باید از کتابخانههای معروفی مانند scikit-learn برای آموزش مدل نیز بهره ببرید.
-
ایجاد چتبات
حال باید به تعریف یک واسط کاربری برای استفاده از چتبات بپردازید که برای آن باید از یک مدل آموزش دیده برای تشخیص موضوع و ارائه پاسخ مناسب، استفاده کنید.
-
آزمون و بهینهسازی
در نهایت باید به آزمون چتبات با سوالات مختلف و ارزیابی عملکرد آن بپردازیم و با بهینهسازی، مدل را براساس بازخوردها برای افزودن دادههای جدید، آماده میکنیم.
3. پیش بینی تقاضای درخواست دوچرخه سواری
درخواست خدمات سواری همیشه چالش برانگیز است و وجود یک الگوریتم پیشبینی که بتواند تعداد تقریبی سواریها را در آینده نزدیک پیشبینی کند، اهمیت بالایی دارد. درحقیقت هدف این پروژه، پیشبینی تقاضای دوچرخه برای یک منطقه خاص در مدت زمان معین است که این مقادیر باید طول و عرض جغرافیایی و معیارهای مدت زمان را برای پیادهسازی داشته باشند. این هم بدانید که مهمترین کتابخانههای پایتون برای ساخت این پروژه شامل Pandas ،NumPy ،Matplotlib وSeaborn جهت پیشپردازش و تحلیل داده، کتابخانههای Scikit-learn و Statsmodels برای مدلسازی و در نهایت کتابخانه Prophet برای پیشبینی و تحلیل زمانی است.
مراحل انجام پروژه
برای انجام این پروژه، ابتدا باید استفاده از دادههای موجود از شرکت اجاره دوچرخهها یا اپلیکیشنهای مشابه و همچنین دادههایی مانند تاریخ و زمان اجاره، موقعیت جغرافیایی، دما و هواشناسی، تعداد دوچرخههای موجود و تعداد کاربران را در دست داشته باشیم و سپس فیلدهایی مانند user_ID ،request_latitude request_longitude ،request_Time، مکان دریافت و مکانهای ارسال را تعریف کنیم که برای سادهسازی مجموعه دادهها، فرضیاتی را به شرح زیر انجام میدهیم:
- اگر چندین درخواست دوچرخه از یک منطقه (طول-طول جغرافیایی منحصر به فرد) در یک ساعت وجود داشته باشد، فقط به عنوان یک درخواست ساده مشخص شود.
- درخواستهای دوچرخه بعدی کمتر از 8 دقیقه پس از اولین درخواست و صرفنظر از منطقه مبدا، نادیده گرفته شود.
- فواصل کمتر از 50 متر در محلهای پیکاپ و رهاسازی به عنوان تقلب در نظر گرفته می شود و از این رو نادیده گرفته می شود.
- بعد از انجام مراحل بالا، نوبت به تبدیل دادههای تاریخ به فرمت مناسب، پردازش دادههای هواشناسی و تعداد دوچرخهها برای استخراج ویژگیهای مهم و همچنین حذف دادههای ناقص یا اشتباه بپردازیم.
- در ادامه باید تحلیل نمودارهای زمانی بر اساس دادههای تاریخی برای شناخت الگوها و فصلیتها، مشاهده تاثیر شرایط هواشناسی بر تقاضا و همچنین تحلیل تاثیر تعداد دوچرخههای موجود بر تقاضا را مورد بررسی قرار دهیم.
- حال باید با استفاده از الگوریتمهای پیشبینی مانند ARIMA یا مدلهای یادگیری ماشینی برای پیشبینی تقاضا اقدام و آموزش مدل بر روی دادههای تاریخی را شروع کنیم.
- اکنون نیاز به توسعه یک واسط کاربری یا پنل مدیریت برای نمایش پیشبینیها و آمارهای مربوط به تقاضا است. همچنین باید سیستم هشدار بر اساس میزان پیشبینی و موجودی دوچرخهها هم ایجاد کنیم.
- در نهایت، پروژه را باید با آزمون مدل دادهها تست و پس از با دریافت بازخورد از مدیران سیستم و بهینهسازی، مدل بر اساس نیازهای واقعی تغییر میکند.
4. پروژه تجزیه و تحلیل احساسات
در ادامه معرفی پروژه های دیتاساینس با پایتون میخواهیم به تجزیه و تحلیل احساسات بپردازیم که البته عمل ارزیابی کلمات برای تعیین و تحلیل احساسات با استفاده از قطب مثبت یا منفی نظرات انجام میگیرد. برهمین اساس میتوان مراحل انجام پروژه را به شرح زیر دانست:
-
گام 1: تعریف مسئله و هدف پروژه
در این پروژه، مسئله تحلیل احساسات متنهای مشتریان بوده و هدف از آن، پیشبینی احساسات مثبت، منفی یا خنثی در متون آنها است.
-
گام 2: جمعآوری داده
در این مرحله باید از دیتاستهای متنی مانند دیتاست IMDB برای بررسی نظرات فیلمها یا جمعآوری دادههای مشتریان از وبسایتها، شبکههای اجتماعی یا اسناد دیگر، استفاده کنیم.
-
گام 3: پیشپردازش داده
در قدم بعدی باید به حذف نظرات تکراری یا بدون متن، حذف علائم نگارشی زائد و کاستن متن و همچنین تبدیل متن به بردارهای عددی (Embedding) با استفاده از تکنیکهای مانند TF-IDF یا Word Embeddings بپردازیم.
-
گام 4: تحلیل داده
حال نوبت به تقسیم داده به دو بخش برای آموزش مدل و ارزیابی عملکرد است که باید از الگوریتمهای مدلسازی احساسات مانند Naive Bayes ،Support Vector Machines یا مدلهای عمیق مانند LSTM یا Transformer، استفاده کنیم.
-
گام 5: آموزش مدل
در این مرحله از پروژه باید به آموزش مدل با استفاده از الگوریتمهای انتخاب شده و همچنین تنظیم پارامترها و انجام تعدادی تنظیم و بهینهسازی برای بهبود عملکرد پروژه بپردازیم.
-
گام 6: ارزیابی مدل
بعد از آموزش مدل، نوبت به استفاده از داده تست و ارزیابی عملکرد مدل بر روی دادههای جدید است. معیارهای ارزیابی در این پروژه، استفاده از معیارهایی چون دقت (Accuracy)، ماتریس درهمریختگی (Confusion Matrix) و معیارهای دیگر است.
-
گام 7: بهبود مدل
برای پیشرفت در پروژه، تنظیم پارامترها و الگوریتمها برای بهبود مدل با استفاده از بازخوردهای معیارهای ارزیابی و همچنین اضافه کردن ویژگیهای جدید به داده، اهمیت بالایی دارد.
-
گام 8: پیادهسازی و استفاده از مدل
اکنون نوبت به پیادهسازی مدل در محیط تولیدی با استفاده از مدل ب تحلیل احساسات متنهای واقعی و ایجاد یک واسط کاربری یا API برای استفاده آسان از آن است.
-
گام 9: نظارت و بهروزرسانی
در نهایت شما باید به طور مداوم عملکرد مدل در زمانهای مختلف را انجام دهید و در صورت نیاز، بهروزرسانیهای لازم را اعمال کنید. همچنین باید افزودن دادههای جدید برای بهبود عملکرد مدل خود را در دستور کار قرار دهید.
پروژه های علم داده سطح متوسط با استفاده از پایتون
بعد از معرفی پروژههایی از علم داده برای افردا مبتدی، میخواهیم پروژههایی را معرفی کنیم که سطح بالاتری دارند و کمی سخت و پیچیدهتر از ایدههای قبلی هستند. این پروژه های دیتاساینس عبارتاند از:
5. ساخت یک سیستم توصیه محصولات مناسب به مشتریان
توصیه محصولات مناسب به مشتریان میتواند تاثیر بسیاری روی فروش و مشارکت مشتریان با شرکتها را داشته باشد. این پیشنهادات توسط رتبه بندی و نوع محصولی که مشتریان خریداری کرده، شکل میگیرد که عواملی مانند تعامل با مشتری و بازخورد در فیلترینگ مشارکتی در این پروژه ضروری هستند. البته قبل از بیان مراحل انجام پروژه باید بگوییم کتابخانههایی چون Numpy ،operator و sklearn، بیشترین کاربرد را در این پروژه دارند. بنابراین، مراحل اجرای این پروژه به شرح زیر است:
-
گام 1: تعریف مسئله و هدف پروژه
طرح مسئله، ایجاد یک سیستم توصیه محصولات بر اساس تاریخچه خرید و رفتار بوده و هدف آن، افزایش رضایت مشتریان و افزایش فروش با ارائه پیشنهادات شخصیسازی شده است.
-
گام 2: جمعآوری داده
در این پروژه به دادههایی چون تاریخچه خرید مشتریان، اطلاعات محصولات، اطلاعات پروفایل مشتریان و اطلاعات مربوط به رفتارهای مشتری را نیاز داریم که از پایگاههای داده فروشگاه آنلاین، سیستمهای Point of Sale(POS) و هر منبع داده دیگری، میتوانیم به دست آوریم.
-
گام 3: پیشپردازش داده
در مرحله بعدی باید به حذف دادههای ناقص یا تکراری بپردازیم دادههای متنی را به بردارهای عددی با استفاده از تکنیکهایی مانند TF-IDF یا Word Embeddings تبدیل کنیم.
-
گام 4: ساخت مدل توصیه
برای ساخت مدل توصیه میتوانید از الگوریتمهای معروفی چون Collaborative Filtering یا Content-Based Filtering استفاده کنید. همچنین، میتوانید الگوریتمهای پیشرفتهتر مثل Matrix Factorization یا Deep Learning را نیز امتحان کنید و به آموزش مدل با استفاده از دادههای آموزشی بپردازید.
-
گام 5: ارزیابی مدل
در این مرحله باید علاوهبر ارزیابی عملکرد مدل بر روی دادههای جدید، از معیارهای دیگری مانند Precision، Recall، F1-Score یا معیارهای مخصوص توصیهها برای ارزیابی مدل نیز استفاده کنید.
-
گام 6: ایجاد سیستم توصیه و واسط کاربری
حال نوبت به ایجاد یک سیستم است که توصیههای شخصیسازی شده به مشتریان را ارائه کند و به آنها امکان مشاهده و ارتباط با پیشنهادات و توصیههای دیگر محصولات را فراهم کند.
-
گام 7: بهینهسازی و نظارت
در مرحله آخر و طبق همه پروژهها باید نظارت مداوم بر عملکرد سیستم توصیه انجام و بهینهسازیهای لازم اعمال گردد. همچنین باید با توجه به تغییرات در رفتار مشتریان و اضافه شدن دادههای جدید، سیستم مدلسازی نیز بهروزرسانی شود.
6. پروژه تجزیه و تحلیل رزومهها
استخدامکنندگان و شرکتها هر ماه هزاران رزومه را از متقاضیان کار در صندوق پستی خود دریافت میکنند و غربال کردن این تعداد زیاد از درخواستهای شغلی برای یک فرد بسیار چالش برانگیز و دشوار است. بنابراین اگر سیستمی وجود داشته باشد که کار آنها را سادهتر کند، قطعا از آن استقبال خواهند کرد که در این بین پروژه تجزیه و تحلیل رزومه با پایتون میتواند بهترین گزینه باشد. پس برای انجام این پروژه لازم است که مراحل زیر را انجام دهید:
-
گام 1: تعریف مسئله و هدف پروژه
در این پروژه همانطور که میدانید مسئله، تجزیه و تحلیل رزومهها برای استخدام بهترین کاندیداها و هدف آن شناخت مهارتها، تجربیات، و ویژگیهای کاندیداها به منظور انتخاب بهترینها برای یک موقعیت شغلی است
-
گام 2: جمعآوری داده
در مرحله بعدی رزومههای کاندیداها، دادههای مورد نیاز ما هستند که میتوان آن را از طریق افراد مختلف درخواست کرد یا از سایتهای آنلاین که رزومهها را به اشتراک میگذارند، دادههای مورد نیاز را جمعآوری کنیم.
-
گام 3: پیشپردازش داده
در قدم بعدی باید به استخراج معلومات اساسی از روشهای پردازش زبان طبیعی (NLP) برای مشخص کردن مواردی چون مهارتها، تجربیات، تحصیلات و سایر اطلاعات مهم دیگر استفاده کرد و بعد از حذف دادههای تکراری، ناقص یا نامناسب، متن رزومهها را به بردارهای عددی تبدیل کرد.
-
گام 4: تحلیل داده
اکنون نوبت به ایجاد گزارشی از مهارتها، تجربیات، مدارک تحصیلی و دیگر اطلاعات مهم است که برای اینکار باید از الگوریتمهای ماشین لرنینگ برای پیشبینی مواردی مانند تطابق کاندیداها با یک موقعیت خاص یا رتبهبندی آنها استفاده کنیم.
-
گام 5: ارزیابی مدل
بعد از ارزیابی عملکرد مدل روی دادههای رزومههای جدید و استفاده از معیارهای ارزیابی براساس اهداف مدل، از معیارهایی مانند دقت (Accuracy)، حساسیت (Recall) و دیگر معیارهای مرتبط استفاده کنید.
-
گام 6: ایجاد واسط کاربری
اکنون ایجاد یک واسط کاربری تحت وب یا اپلیکیشن که به کارفرمایان امکان مشاهده گزارشات، افزودن موقعیتهای شغلی و دریافت پیشنهادات برای کاندیداها را فراهم کند، نیاز و ضروری است.
-
گام 7: بهینهسازی و نظارت
هیچگاه نباید نظارت مداوم بر عملکرد سیستم و اعمال بهینهسازیهای لازم و همچنین افزودن دادههای جدید برای بهبود عملکرد مدل را فراموش کرد.
7. سیستم تشخیص چهره با استفاده از FaceNet
تشخیص چهره شخص یا شی که تصویر یا ویدیویی را شناسایی میکند، امروزه در دسته بینایی کامپیوتری هوش مصنوعی قرار دارد و بسیاری از تلفنهای همراه به دلیل محبوبیت چنین پروژه هایی، دارای ویژگی باز کردن قفل تشخیص چهره هستند. همچنین کاربرد این موضوع در امنیت و نظارت نیز گسترده است. تشخیص چهره همچنین برای شناسایی گونههای گیاهی یا اشیا مبهم نیز کاربرد دارد. بنابراین برای انجام چنین پروژههایی، نیاز به مجموعه دادههای زیر است:
-
توضیحات مجموعه داده
مجموعه دادهها شامل چهره افراد است که از ویدیوها یا دوربین استخراج شده است که چهرههای به دست آمده از این طریق، میتواند در اندازه و کیفیت متفاوت باشد. بنابراین تمام تصاویر بهگونهای پردازش میشوند که با نسبت اندازه خاصی متناسب و کیفیت یکنواختی داشته باشند.
هنگامی که مجموعه داده های عادی تصویر را آماده کردیم، اکنون میتوانیم پیادهسازی مدل تشخیص چهره را طبق مراحل زیر شروع کنیم:
- ابتدا با پردازش پیکسلها در هر عکس شروع میکنیم تا روابط معنیدار را برای مدل خود استخراج کنیم.
- در مرحله بعد، الگوریتم یادگیری ماشین بسته به الزامات و شرایط اعمال می شود.
- استخراج چهره از عکسها برای تشکیل یک HAAR جهت استخراج چهر آماده و آموزش مدل برای چهرههای استخراج شده شروع میشود که باید آنها را شناسایی و برچسب گذاری کند.
8. پروژه پیشنهاد هتل
همیشه انتخاب مقصد تعطیلات برای افراد چالش برانگیز بوده و انتخاب هتل نیز این موضوع را بیشتر نشان میدهد، چراکه تورهای زیاد و اپراتورهای هتل از طریق اینترنت، کار را برای افراد سختتر کرده است. بنابراین، وجود یک سیستم توصیه هتل براساس انتخاب و نیازهای کاربر، بسیار مفید و ترغیبکننده است. بنابراین برای شروع این پروژه باید مراحل زیر را در پیش بگیرید:
-
توضیحات مجموعه داده
دادههای این پروژه پایتون علم داده شامل تاریخچه جستجو و رزرو کاربر، جزئیات هتل و همچنین جزئیات کاربر است که جزئیات کاربر شامل نام کاربری، سن کاربر، مکان کاربر، تاریخچه رزرو بوده و تاریخچه جستجوی آن نیز، تمام جستجوهایی است که کاربر در گذشته برای یافتن هتلها انجام داده است. همچنین جزئیات هتل نیز شامل نام هتل، موقعیت مکانی، قیمت و در نهایت رتبهبندی آن است.
اکنون باید یک هتل کلاستر که گروهی از هتلها بوده و دارای ویژگیهای مشابهی چون قیمتگذاری و رتبهبندی است را مشخص کنیم. از آنجایی که نقاط پایانی گسسته هستند، از الگوریتم های طبقه بندی برای پیش بینی خوشههای هتل برای یک کاربر خاص استفاده میکنیم. همچنین در این پروژه شما میتوانید چندین الگوریتم طبقهبندی را برای یافتن بهترین الگوریتم مناسب برای مجموعه داده پیادهسازی کنید که شامل موارد زیر است:
- طبقهبندی تصادفی جنگل
- رگرسیون لجستیک
- طبقه بندی KNN
- طبقه بندی XGBoost
- طبقه بندی درخت تصمیم
9. تشخیص صحیح ارقام دست نویس با استفاده از CNN برای مجموعه داده MNIST
هدف این پروژه شناسایی صحیح ارقام دستنویس و امکان آرشیو دیجیتالی آنها در یک مکان است. قبل از ظهور رایانه ها و بیش از 25 سال پیش، سازمانها برای بایگانی کردن رویدادها و جزئیات، روی کاغذ متکی بودند. دادهها در حال حاضر مهم است که این رکوردهای قدیمی در یک نسخه دیجیتال ذخیره گردد تا در صورت نیاز به آنها ارجاع داده شود. از کتابخانهها و بستههای مهم پایتون برای این پروژه باید مواردی چون NumPy ،Pandas ،Matplotlib ،TensorFlow و آموزش کیت علمی را نام برد. بنابراین برای انجام اینکار بهتر است مراحل زیر را انجام دهیم:
-
مجموعه دادهها
مجموعه دادههای MNSIT یا موسسه ملی استاندارد و فناوری اصلاح شده، برای مدلهای تشخیص رقم دستنویس بسیار محبوب هستند، چراکه بیش از 60000 تصویر از ارقام دست نویس را با هر اندازهای ذخیره کردهاند.
-
پردازش دادهها
در این مرحله باید دادهها از بردار 3 بعدی به بردار 4 بعدی منتقل شوند زیرا مدل، بردارهای 4 بعدی را به عنوان ورودی میگیرد.
-
کدگذاری
در این مرحله تصاویر باید با عددی برچسبگذاری شود تا بتوان آنها را به طور موثر در مدل پردازش کرد. همچنین دستکاری اعداد به نسبت سادهتر از دستکاری تصاویر است.
-
مقیاس بندی ویژگی
در نهایت باید یک ویژگی برای تصاویر قرار داد؛ به عنوان مثال تصاویر از محدوده 0-255 پیکسل به 0-1 کوچک شوند تا مقیاس استاندارد برای همه تصاویر در دسترس باشد.
پروژه های علم داده سطح پیشرفته با استفاده از پایتون
اگر خود را در این زمینه حرفه ای می دانید، بنابراین توجه شما را به ایده پروژه های دیتاساینس زیر که با زبان پایتون نیز قابل پیادهسازی است، جلب میکنم:
10. ساخت پروژه علمی دادهیاب تصویر با Keras و TensorFlow
هدف پروژه، ساخت مدلی است که تصویری را به عنوان ورودی میگیرد و تصاویری مشابه تصویر اصلی ارائه شده توسط کاربر را ارائه میدهد. این موضوع به کاربران کمک میکند با نمایش توصیههای بیشتر، انتخابی آگاهانه داشته باشند. جستجوی الاستیک، Keras ، Tensorflow، Numpy، Pandas، Requests، Sci-Kit از کتابخانههای مورد نیاز پروژه این هستند. در نتیجه مراحل انجام این پروژه به شرح زیر است:
-
توضیحات مجموعه داده
در ابتدا باید مجموعه دادههای خود را مشخص کنیم که برای این پروژه شامل سه ستون URL عمومی برای تصاویر، شناسه منحصر به فرد برای هر تصویر و همچنین یک کلاس برای برچسبگذاری تصاویر بسته به دسته یا ماهیت آنها است.
-
پیشپردازش داده
تقسیم داده به دو بخش برای آموزش مدل و ارزیابی عملکرد تا تصاویر را به اندازه یکسان تبدیل کند تا به فرمتی قابل پردازش برای شبکههای عصبی باشد.
-
ساخت مدل
انتخاب یک معماری مدل عصبی مانند Convolutional Neural Network) CNN) با استفاده از کتابخانه Keras برای ساخت شبکه عصبی و تعیین لایهها و پارامترهای مورد نیاز.
-
آموزش مدل
تعیین دادههای آموزش و انتخاب الگوریتم بهینهسازی مانند Adam برای انجام مراحل آموزش شبکه.
-
ارزیابی مدل
ارزیابی عملکرد مدل روی دادههای تست و استفاده از معیارهایی چون دقت (Accuracy)، ماتریس درهمریختگی (Confusion Matrix)، و اندازه F1) F1 Score).
-
استفاده از مدل برای دادهیابی تصاویر
پیادهسازی مدل برای دادهیابی تصاویر در محیط تولید و نمایش برچسبهای پیشبینی شده برای تصاویر.
11. مدلسازی موضوع با استفاده از خوشه K-Means
مدلسازی موضوع عبارت است از استخراج کلمات مهم از یک متن یا پاراگراف که میتواند به درستی کل پاراگراف را به طور خلاصه توصیف کند. درست است که این پروژه شبیه به خلاصهسازی است اما مدلسازی موضوع، به طور خاص بر جملات کوتاه یا گروههایی از کلمات متمرکز است. از کتابخانههای مهم پایتون در این پروژه میتوان به Nltk، wordcloud، sklearn و درخواستها اشاره کرد.
این هم بدانید که پروژه مدلسازی موضوع از خوشهبندی k-means بدون نظارت، برای شناسایی موضوعات یا ایدههای اصلی در مجموعه دادهها استفاده میکند. از خوشههای مهم آن نیز باید به موارد زیر اشاره کرد:
-
خوشهبندی با هشت مرکز
هشت خوشه به این معنی است که هشت خوشه خروجی الگوریتم وجود خواهد داشت که معناشناسی و آن باید توسط ما استنباط شود.
-
خوشهبندی با دو مرکز
دو مرکز نشان می دهد که 2 خوشه وجود خواهد داشت. تعداد کمتری از مراکز ممکن است بر کارایی الگوریتم تأثیر بگذارد زیرا تنها دو موضوع وجود خواهد داشت.
بنابراین مراحل مربوط به اجرای این پروژه پایتون برای علم داده شامل موارد زیر است:
-
پاکسازی دادهها
در این مرحله تمام الگوها یا نمادهایی که برای الگوریتم موجود در مجموعه داده مفید نیستند مانند «@»، «به»، «a» و«the» حذف میشود. حتی کلماتی با طول کلمه کمتر از 3 ضروری نیستند و اعداد نیز میتواند از توییتها حذف شود.
-
توکن کردن
با اینکار تمام کلمات منفرد در متن استخراج و نمونههای آن در مجموعه داده شمارش میشود.
-
برداشتن دادهها
در این بخش از دورش فرکانس معکوس و همچنین شمارش بردار، استفاده میشود که روش فرکانس معکوس تعیین میکند که یک کلمه خاص چقدر برای یک سند در یک مجموعه داده مهم است. همچنین تعداد دفعاتی که یک کلمه در سند تکرار شده را میشمارد و آن را با سایر اسناد مقایسه میکند. هرچه یک کلمه در چندین سند بیشتر ظاهر شود، عدد TFIDF کمتر است و بالعکس.
روش شمارش بردار، به سادگی تعداد دفعات یک کلمه را در کل مجموعه میشمارد. همچنین تعداد کل ویژگی ها با تعداد کل کلمات منحصر به فرد موجود در مجموعه تعریف می شود.
12. پروژه شناسایی فعالیتهای انسانی
این پروژه، فعالیتهای انسانی مانند دوچرخهسواری، پیادهروی، دراز کشیدن، دویدن را با تجزیه و تحلیل مکان و خوانش شتابسنج شناسایی میکند. این پروژه به 6 فعالیت خاص محدود می شود که شامل راه رفتن، دراز کشیدن، راه رفتن در طبقه بالا، راه رفتن در طبقه پایین، نشستن و ایستادن است.
-
توضیحات مجموعه داده
دادههای آزمایشی برای 30 نفر است که در حین استفاده از تلفنهای هوشمند، فعالیتهای مختلفی را انجام دادهند.
-
پیش پردازش دادهها
در این مرحله مقادیر تهی در مجموعه داده با میانگین، میانه یا صفر جایگزین می شوند که به آن تکنیک جایگزینی حالت میگویند. همچنین لازم است تعداد رخدادها را برای هر فعالیت حفظ کنید تا بررسی شود دادهها به سمت یک فعالیت منحرف می شوند یا خیر؟
در حقیقت، یک مجموعه داده متعادل، مجموعهای است که در آن تعداد وقوع برای هر فعالیت تقریبا یکسان است.
-
تجزیه و تحلیل دادههای اکتشافی
در این مرحله از دو روش برای تجزیه و تحلیل دادهها استفاده میشود که عبارت است از: تجزیه و تحلیل متغیر واحد و تجزیه و تحلیل دو متغیره
در تجزیه و تحلیل متغیر واحد، فیلدهای ضروری مانند انحراف استاندارد، حداقل، حداکثر و مقادیر میانگین در برابر هر متغیر داده در مجموعه رسم میشود اما در تجزیه و تحلیل دو متغیره، دو ویژگی مختلف را بر روی محورهای x و y ترسیم و رابطه آنها را مشخص میکنیم، چراکه یک منحنی گرافیکی، به تشخیص الگوها و وابستگی بین ویژگیها و متغیرها کمک میکند.
-
استفاده از طرح tsne
تجزیه و تحلیل چند متغیره زمانی دشوار می شود که متغیرهای زیادی درگیر باشد، گاهی اوقات 500. نمودار با 500 متغیر منطقی نیست که در این موقع به سراغ استفاده از نمودارهای tSNE میرویم. در واقع این نمودارها زمانی کمک میکنند که متغیرهای متعددی در نمودار وجود دارد و در نتیجه سیستمهای چند متغیره را به دادههای دو بعدی تجسم میکنند.
-
عادی سازی یا استانداردسازی
عادی سازی فرآیندی است برای کاهش دامنه متغیرهای بزرگ زیر 1- و 1که اندازه گیری هر متغیر در برابر یک متریک استاندارد را انجام می دهد. پس از نرمال سازی، خروجی ایده آل زمانی خواهد بود که میانگین صفر و انحراف استاندارد یک باشد.
13. پیشبینی فروش فروشگاه
فروش یک فروشگاه به روز، ماه، زمان روز، تبلیغات، پیشنهادات، فصلی بودن و غیره بستگی دارد. پیشبینی فروش نیز برای بینش شرکت و تامین منابع قبل از پایان یافتن سهام ضروری است. همچنین به ما کمک میکند بدانیم چه زمانی پیشنهادهای فصلی یا روزانه را شروع کنیم تا افراد بیشتری را به فروشگاه جذب کنیم. به همین خاطر برای انجام چنین پروژهای لازم است مراحل زیر را به اجرا برسانیم:
-
گام 1: تعریف مسئله و هدف پروژه
مسئله: پیشبینی فروش فروشگاه براساس ویژگیهای مختلف با هدف ساخت یک مدل پیشبینی که بتواند بر اساس ورودیهایی مانند تبلیغات، قیمت، محصولات موجود و سایر ویژگیها، فروش آینده را تخمین بزند.
-
گام 2: جمعآوری داده
گرفتن اطلاعات فروشگاه طی زمان طولانی (مثلاًفروش روزانه، تبلیغات، موجودی محصولات، قیمتها و ...) که برای آن میتوان از دیتاستهای داخلی یا خارجی (مانند دادههای فروشگاههای مشابه) استفاده کرد یا اینکه دادهها را از سیستم مدیریت فروشگاه جمعآوری کنید.
-
گام 3: پیشپردازش داده
در قدم بعدی باید به تصحیح دادههای ناقص یا نامرتبط، حذف مقادیر نادرست، بررسی تاثیر ویژگیها بر فروش و انتخاب ویژگیهای مهم و همچنین تبدیل متغیرهای موقت به متغیرهای قابل استفاده مثلا تبدیل تاریخ به فصل یا روز هفته را بپردازید.
-
گام 4: انتخاب مدل
انتخاب یک مدل و الگوریتم مانند رگرسیون خطی، رگرسیون لجستیک یا مدلهای پیشرفتهتر بازاریابی شده (مانند RandomForest یا Gradient Boosting) و تقسیم داده به دو بخش آموزش مدل و ارزیابی عملکرد.
-
گام 5: آموزش مدل
اجرای مراحل آموزش مدل با استفاده از الگوریتمهای انتخاب شده و اعمال بهینهسازیها و تنظیم پارامترها به منظور افزایش دقت مدل.
-
گام 6: ارزیابی مدل
ارزیابی عملکرد مدل بر روی دادههای تست و استفاده از معیارهایی مانند میانگین مطلق خطا (MAE)، میانگین مربعات خطا (MSE)، و R-squared
-
گام 7: پیادهسازی در محیط تولیدی
اجرای مدل بر روی دادههای واقعی در محیط فروشگاه و بررسی بررسی نتایج پیادهسازی و اعمال بهبودها در صورت نیاز.
14. طبقهبندی اخبار جعلی
اخبار جعلی در بین خبرها باعث میشود تا حقیقت زیر و رو شده و در حقیقت یک عمل عمدی است که ارائه نادرست دادهها و حقایق آن با دسترسی آسان به اینترنت، رسانههای جدید و خانههای خبری، در سراسر کشور ظاهر میشود. کتابخانههای مهمی که در این پروژه مورد استفاده قرار میگیرد شامل Sci-kit, TensorFlow، Keras، glove، flask، NLTK، pandasو NumPyاست. بنابراین برای انجام چنین پروژهای، توجه به مراحل زیر اهمیت دارد:
-
توضیحات مجموعه داده
تعیین مجموعه داده حاوی اخبار با فیلدهای زیر:
News_id، news_author، news_text، news_label، news_title
-
پاکسازی دادهها
دراین مرحله باید به حذف سوابق از دست رفته ، ادغام تمام متن با هم و حذف کاراکترهای خاص از متن، بپردازیم.
-
آماده سازی دادهها
حال باید به انجام مواردی چون ساخت واژگان برای فیلتر کردن متن، آماده سازی داده های توالی، تعیین حداکثر طول توالی و جاسازی کلمهها بپردازیم و در ادامه، کلمه داده های متنی را به بردارهای عددی تبدیل کنیم.
پروژه های مینی علم داده(دیتاساینس) در پایتون
در ادامه میخواهیم به دو پروژه ساده علم داده در پایتون اشاره کنیم که پیاده سازی آنها بسیار آسان است. این پروژههای کوچک برای علم داده با استفاده از پایتون به ویژه در صورتی که دانشجوی سال آخر باشید، بسیار مفید خواهد بود.
15. پیش بینی ریزش مشتری برای سازمان
نرخ ریزش، درصد سالانهای است که نشان دهنده نرخ لغو اشتراک مشتریان از یک سرویس یا نرخ ترک کار کارکنان است. یک شرکت باید بداند کدام مشتریان آنها را رها میکنند تا تبلیغات و تلاش های خود را به دستی انتخاب کند. از کتابخانههای مهم این پروژه باید به Numpy ،Sklearn ،Keras ،Pandas و joblib اشاره کرد. به همین منظور برای اجرای این پروژه، لازم است به مراحل زیر دقت کنید:
-
توضیحات مجموعه داده
مجموعه داده شامل سوابق بانکی است که در یک دوره زمانی جمع آوری شده است که در این پروژه نیاز به اطلاعاتی چون شناسه مشتری، نام خانوادگی مشتری، جنسیت، موقعیت جغرافیایی مشتری، سن، محصولات مورد استفاده و کارت اعتباری که این این مشخصه یک فیلد باینری است تا نشان دهد مشتری کارت اعتباری دارد یا خیر؟
-
تبدیل داده ها
در این مرحله بسیار مهم است که با حذف ورودیها یا جایگزینی آنها، مجموعه مقادیر خود را درمان کنیم. همچنین مقادیر ضعیف و ناکافی میتواند نتایج را منحرف و ستونهایی با مقادیر زیاد مجموعه داده را حذف کند.
-
رمزگذاری
اکنون باید فرآیند تبدیل مقادیر مجموعه دادهها به مقادیر طبقهبندی را در دستور کار خود قرار دهید که در اینجا باید به سه نوع طبقهبندی رمزگذاری برچسب برای مقادیر دستهبندی یا ترتیبی باینری جهت وردیهای ضروری، رمزگذاری برای متغیرهای طبقهبندی غیرترتیبی با کاردینالیته متوسط(یعنی چندین اتفاق مفید است) و کدگذاری هدف برای نشان دادن متغیرها کاردینالیته بالایی، توجه داشته باشید.
-
انتخاب ویژگی
هر ویژگی برای تجزیه و تحلیل دادهها بسیار مهم نیست و برخی از آنها به دلیل تصادفی بودن، هیچ منحنی توزیعی را نشان نمیدهد. به همین خاطر بسیار مهم است که فقط آن دسته از ویژگی هایی را انتخاب کنید که به تناسب مدل کمک می کنند.
16. پروژه کشف تقلب در کارت اعتباری
شرکتهای کارت اعتباری باید بتوانند تراکنشهای تقلبی را که روی سیستمهایشان اتفاق میافتد را تشخیص دهند تا بتوانند بهطور عادلانه و درست، از مشتری هزینه کنند. شرکتها باید مدلی برای درک اینکه کدام تراکنشها واقعی یا جعلی هستند را داشته باشند.
اصل مدل تشخیص تقلب در کارت اعتباری به مفهوم ماتریس اعتبار سنجی بستگی دارد. ماتریسهای اعتبارسنجی تعیین میکنند که پیش بینیهای واقعی تا چه اندازه در میان دادههای واقعی هستند که از انواع ماتریسهای اعتبار سنجی باید به موارد زیر اشاره کرد:
- ماتریس فراخوان: نسبت تعداد واقعی پیشبینیهای دقیق به تعداد کل مقادیر معتبر است.
- ماتریس دقیق: نسبت مقادیر واقعی واقعی در مجموعه داده به تعداد کل پیشبینیهای واقعی ارائه شده توسط مدل است.
همچنین در این پروژه باید از الگوریتمهایی چون طبقهبندی تصادفی جنگل ، دسته بندی بردار پشتیبانی، طبقهبندی درخت تصمیم، K- نزدیکترین طبقه بندی کننده همسایه یا KNN و رگرسیون لجستیک را میتوان نام برد که در بین همه الگوریتمها، رگرسیون لجستیک و k-پرکاربردترین الگوریتمها در این نوع پروژهها هستند.
در نهایت
ما در این مقاله سعی کردیم تا چندین ایده از پروژه های علم داده را در سه سطح مبتدی، متوسط و پیشرفته به شما معرفی کنیم تا بتوانید در مسیر شغلی خود پیشرفت کنید. گرچه برای پیادهسازی پروژههای بالا باید درک خوبی از آموزش و نحوه پیادهسازی آنها داشته باشید اما سعی ما براین بود تا یک دیدگاه کلی از ایدهها و آنچه که برای پیادهسازی پروژهها نیاز دارید را به شما معرفی کنیم. پس اگر شما هم ایدههای دیگری از پروژههای علم داده(دیتاساینس) را سراغ دارید، آن را با سایت خود یعنی درسمن به اشتراک بگذارید.
سوالات متداول
-
چرا برای ایدههای پروژه علم داده با پایتون را تمرین کنیم؟
پایتون در طول سالها به جایگاه مشهوری در علم داده دست یافته است. همه علاقهمندان آن را دوست دارند و مقدمهای آسان برای علم داده و یادگیری ماشین را فراهم میکند. نوشتن آن آسان است و تعداد زیادی کتابخانه داخلی برای کارهای پیچیده علم داده دارد. همچنین پایتون جایگاه خود را در میان محبوبها مدیون خوانایی آسان کد است. پس پایتون انتخاب خوبی برای مبتدیان و شروع یادگیری علم داده است.
-
چگونه به شروع پروژه علم داده در پایتون بپردازیم؟
برای شروع یک پروژه علم داده، باید موضوعی را انتخاب کنید که جذاب و جالب باشد. پس از ایده پروژه، باید در جمع آوری دادهها و عادی سازی آنها دقت کنید و هنگامی که مجموعه داده آماده شد، باید یک تحلیل دادههای اکتشافی انجام دهیم تا سوگیریها و الگوها را در مجموعه داده پیدا کنیم. همچنین درک روندهای ذاتی در مجموعه دادهها می تواند حقایق و نکات ظریفی را که ممکن است در تحقیق مفید باشد را آشکار کند.
-
چرا تجزیه و تحلیل دادههای اولیه در یک پروژه علم داده مورد نیاز است؟
این موضوع کمک بسیاری به تجسم مجموعه دادهها و بررسی سوگیری ها یا وابستگی های متقابل در داده میپردازد.
-
از پایتون در علم داده برای چه چیزی میتوان استفاده کرد؟
Python به طور گسترده در علم داده برای کارهایی مانند پاکسازی داده، دستکاری و تجزیه و تحلیل استفاده می شود. کتابخانه های محبوب پایتون مانند NumPy ،Pandas وMatplotlib، ابزارهای قدرتمندی برای کار با داده ها ارائه می دهند. همچنین تطبیق پذیری و سهولت استفاده پایتون آن را به انتخابی محبوب برای دانشمندان داده تبدیل کرده است.
-
معمولا از چه کتابخانه هایی در پروژه های علم داده با پایتون استفاده میشود ؟
برخی از کتابخانه های محبوب پایتون برای علم داده عبارتاند از NumPy ،Pandas ،Matplotlib و Seaborn برای دستکاری و تجسم داده، Scikit-learn برای یادگیری ماشین، TensorFlow و PyTorch برای یادگیری عمیق و NLTK و spaCy برای پردازش زبان طبیعی.
-
چگونه ایدههای بیشتری در علم داده به دست بیاورم؟
ایده های پروژه های علم داده را می توان با پیروی از این نکات ساده به دست آورد:
- شرکت در رویدادهای شبکه و معاشرت با مردم.
- از علایق و سرگرمی های خود برای ارائه ایده های جدید استفاده کنید.
- در کار روزانه خود، مشکلات را حل کنید
- با جعبه ابزار علم داده آشنا شوید.
- راه حلهای علم داده خود را بسازید.
نظر شما در تصمیم دیگران اثرگذار است.
لطفا برای همراهان درسمن و بهتر شدن دوره نظر خود را بنویسید.