برنامهسازی برای تحلیل داده
| مدرس: دکتر امیرمهدی صادقزاده | پیشنیاز: برنامهسازی پایتون |
| ترم: پاییز ۱۴۰۵ | محل برگزاری: کلاس مجازی |
| زمان ارائه: یکشنبه ۱۷:۰۰ تا ۱۸:۳۰ | مشاهده: دریافت لایسنس |
معرفی درس
برنامهسازی برای تحلیل داده؛ از کار با پایتون تا استخراج بینش از دادهها
در بسیاری از حوزههای علمی، صنعتی و کسبوکار، دادهها زمانی ارزشمند میشوند که بتوان آنها را بهدرستی سازماندهی و تحلیل کرد و نتایج را به شکلی روشن و قابلفهم ارائه داد. زبان برنامهنویسی پایتون و کتابخانههای تخصصی آن، ابزارهایی پرکاربرد برای انجام این کار هستند.
درس برنامهسازی برای تحلیل داده با هدف آموزش مهارتهای عملی لازم برای کار با دادهها در محیط پایتون طراحی شده است. در این درس، با محیطهای برنامهنویسی تعاملی آشنا میشوید و یاد میگیرید چگونه دادهها را ذخیره، سازماندهی، پاکسازی و آمادهسازی کنید. سپس با استفاده از کتابخانههایی مانند Pandas، NumPy و SciPy، روشهای تحلیل داده را به کار میگیرید و با ابزارهای Matplotlib، Seaborn و Plotly نتایج را بهصورت نمودارها و نمایشهای بصری مناسب ارائه میکنید.
این درس صرفاً به معرفی ابزارهای برنامهنویسی محدود نمیشود؛ بلکه بر فرایند کار با داده، از آمادهسازی و پردازش اولیه تا تحلیل و مصورسازی نتایج، تمرکز دارد. آشنایی با مفاهیمی مانند ساختارهای ذخیرهسازی داده، چارچوبهای دادهای، خطلولههای پردازش و روشهای نمایش بصری، به شما کمک میکند مسائل دادهمحور را با رویکردی منظمتر حل کنید.
در پایان این درس چه تواناییهایی کسب میکنید؟
- استفاده از پایتون در محیطهای تعاملی IPython و Jupyter و بهرهگیری از کتابخانههای برنامهنویسی
- سازماندهی، ذخیرهسازی و دستکاری دادهها با استفاده از DataFrameها و کتابخانه Pandas
- آمادهسازی دادهها، از جمله قالبدهی، نرمالسازی، سطلبندی و مدیریت مقادیر گمشده
- شناخت توزیع دادهها و بهکارگیری روشهای پایه تحلیل داده با استفاده از NumPy و SciPy
- طراحی خطلولههای پردازش داده برای ساماندهی مراحل مختلف تحلیل
- انجام تحلیل اکتشافی داده و انتخاب روشهای مناسب برای مصورسازی نتایج
- ترسیم نمودارهای متنوع با استفاده از Matplotlib، Seaborn و Plotly و آشنایی با اصول ارائه مؤثر دادهها
این درس برای دانشجویان، دانشآموختگان، پژوهشگران و متخصصانی مناسب است که میخواهند مهارت عملی خود را در برنامهنویسی پایتون برای تحلیل داده توسعه دهند. آموختههای این درس میتواند در پروژههای پژوهشی، تحلیل دادههای کسبوکار و صنعت و بهعنوان پایهای برای یادگیری مباحث پیشرفتهتر علم داده و یادگیری ماشین به کار گرفته شود.
پیشنیاز
آشنایی مقدماتی با برنامهنویسی و مفاهیم پایه پایتون برای بهرهگیری بهتر از این درس توصیه میشود. اگرچه بخشی از درس به مرور مباحث برنامهنویسی پایتون اختصاص دارد، آشنایی قبلی با متغیرها، ساختارهای کنترلی و توابع میتواند به یادگیری مؤثرتر مطالب کمک کند.
سرفصلها
- مرور برنامهسازی به زبان پایتون (۲ جلسه)
- کار با پایتون در محیطهای تعاملی IPython و Jupyter
- برنامهسازی پیمانهای و استفاده از کتابخانهها
- تولید اعداد تصادفی و شبیهسازی مونتکارلو
- ذخیرهسازی و کار با داده (۵ جلسه)
- ساختارهای ذخیرهسازی داده
- سازماندهی داده با استفاده از dataframes
- پایگاههای داده رابطهای و غیررابطهای و انبار داده
- دستکاری (manipulation) داده با Pandas
- آمادهسازی داده (۲ جلسه)
- قالبدهی (formatting)، نرمالسازی و سطلبندی (binning) داده
- پر کردن دادههای گم (missing)
- تحلیل داده (۵ جلسه)
- درک توزیع داده
- ایجاد خطلوله (pipeline) داده
- اعمال تکنیکهای تحلیل روی مجموعه دادههای واقعی با کتابخانههای Numpy و Scipy
- مصورسازی داده و ترسیم نمودار (۵ جلسه)
- تحلیل داده اکتشافی (exploratory)
- ترسیم نمودار در پایتون با کتابخانههای Matplotlib و Seaborn و plotly
- انواع تکنیکهای مصورسازی داده
- نکات مهم مرتبط با مصورسازی داده
ارزیابی
- تمرینها: ۲۰ درصد
- آزمونکها: ۲۰ درصد
- آزمون نهایی: ۶۰ درصد
منابع
- Wes McKinney. Python for Data Analysis: Data Wrangling with pandas. NumPy, and Jupyter, 3rd Edition, 2022.