eitaa logo
آموزش پایتون
63 دنبال‌کننده
244 عکس
106 ویدیو
52 فایل
ارتباط: https://eitaa.com/joinchat/956171922Cb501d5a32f لینک همین کانال: @LearnPythonIcy لینک کانال تلگرام: https://t.me/learnpythonicy
مشاهده در ایتا
دانلود
✔️ نوشتن کد فقط کار کردن نیست؛ تمیز نوشتنه. لیست کامپرهنشن یکی از اون قابلیت‌های جذاب پایتونه که هم کدت رو کوتاه‌تر می‌کنه، هم سریع‌تر اجرا میشه. اگه Python دوست داری، استفاده ازش اجباریه نه انتخاب 😉🐍
تابع reduce در پایتون، ماژول functools دسترسی به قابلیت‌های تابعی (Functional Programming) زبان را فراهم می‌کند. یکی از توابع مهم و کاربردی این ماژول، تابع reduce است که با اعمال متوالی یک تابع مشخص روی عناصر یک مجموعه داده، آن مجموعه را به یک مقدار نهایی کاهش می‌دهد و نتایج میانی را در طول فرآیند حفظ می‌کند. به‌عنوان مثال، می‌توان عملکرد reduce را در ضرب متوالی اعداد مشاهده کرد: ابتدا عدد 1 در 2 ضرب می‌شود، سپس حاصل به‌دست‌آمده در 3 ضرب می‌گردد و این روند به همین شکل ادامه پیدا می‌کند.
✔️ گروه‌بندی آیتم‌ها در پایتون با defaultdict در بسیاری از سناریوهای واقعی (دیتاپروسسینگ، گزارش‌گیری، لاگ‌ها، دسته‌بندی داده‌ها)، نیاز داریم آیتم‌ها را بر اساس یک کلید مشخص گروه‌بندی کنیم. روش‌های معمول با if و in کد را شلوغ می‌کنند. راه‌حل پایتونیک و تمیز: استفاده از defaultdict.
from collections import defaultdict

data = [
    ("apple", "fruit"),
    ("carrot", "vegetable"),
    ("banana", "fruit"),
    ("spinach", "vegetable"),
]

grouped = defaultdict(list)

for item, category in data:
    grouped[category].append(item)

print(dict(grouped))
📌 خروجی: { 'fruit': ['apple', 'banana'], 'vegetable': ['carrot', 'spinach'] } 🔍 مزایا کد خوانا و کوتاه بدون نیاز به چک‌کردن وجود کلید مناسب برای دسته‌بندی دیتا و گزارش‌ها ⚠️ نکته: defaultdict مقدار پیش‌فرض می‌سازد، پس اگر نوع داده اشتباه انتخاب شود، ممکن است باگ پنهان ایجاد کند. | | | | @LearnPythonIcy
🔥 چالش ۳۰ روزه Python for AI 🎯 موضوع: ساخت داشبورد فروش با Streamlit 📝 صورت مسئله: در چالش امروز باید نتایج تحلیل داده‌های فروش را به یک داشبورد تعاملی تبدیل کنید. از فایل زیر استفاده کنید: sales_cleaned.csv این فایل خروجی چالش روز هجدهم است و شامل اطلاعات سفارش‌ها، محصولات، مشتریان، مناطق و درآمد فروش است. برنامه شما باید با استفاده از Streamlit یک داشبورد فروش بسازد. 📌 بخش اول: KPI Cards در بالای داشبورد شاخص‌های زیر را نمایش دهید: ✅ Total Revenue مجموع درآمد فروش ✅ Total Orders تعداد کل سفارش‌ها ✅ Total Customers تعداد مشتریان منحصربه‌فرد ✅ Sales Growth درصد رشد فروش نسبت به ماه قبل 📌 بخش دوم: نمودارها داشبورد باید نمودارهای زیر را داشته باشد: 📈 Monthly Revenue نمایش روند درآمد ماهانه 📊 Top Products نمایش محصولات برتر بر اساس درآمد یا تعداد فروش 🌍 Region Performance مقایسه درآمد مناطق مختلف 🗂 Category Comparison مقایسه دسته‌بندی محصولات 📌 بخش سوم: فیلترهای تعاملی کاربر بتواند اطلاعات داشبورد را بر اساس موارد زیر فیلتر کند: ✅ بازه زمانی ✅ منطقه ✅ دسته‌بندی محصول با تغییر فیلترها، شاخص‌ها و نمودارها نیز باید به‌روزرسانی شوند. 🎯 Bonus Challenge موارد زیر را نیز به داشبورد اضافه کنید: ⭐️ نمایش پرفروش‌ترین محصول ⭐️ نمایش بهترین منطقه ⭐️ نمایش Average Order Value ⭐️ امکان دانلود داده‌های فیلترشده به‌صورت CSV ⭐️ طراحی حرفه‌ای داشبورد با ستون‌بندی و رنگ‌بندی مناسب 📁 نام پیشنهادی فایل: Day20_Sales_Dashboard.py ▶️ اجرای برنامه: streamlit run Day20_Sales_Dashboard.py 📋 هدف امروز: تبدیل تحلیل داده به یک برنامه تعاملی و قابل استفاده؛ مهارتی که در پروژه‌های واقعی Data Science و ساخت Portfolio بسیار مهم است. 🔥 عضویت در چالش: @learnpythonicy
Day20_Sales_Dashboard.py
حجم: 7.7K
✅ پاسخ چالش روز 20ام در این پروژه با استفاده از Streamlit یک داشبورد تعاملی فروش ساختیم که شامل موارد زیر است: نمایش KPIهای فروش نمودار درآمد ماهانه محصولات برتر مقایسه عملکرد مناطق فیلتر تاریخ، منطقه و دسته‌بندی امکان دانلود داده‌های فیلترشده https://t.me/learnpythonicy
🔥 چالش ۳۰ روزه Python for AI 🎯 موضوع: Project Showcase 📝 صورت مسئله: در روزهای ۱۸ تا ۲۰ یک پروژه کامل با عنوان زیر ساختید: Sales Intelligence Dashboard امروز باید این پروژه را برای GitHub و LinkedIn آماده کنید تا به‌عنوان یک نمونه‌کار واقعی در Portfolio شما قرار بگیرد. 📌 کارهای امروز: ✅ فایل‌های پروژه را مرتب کنید. ساختار پیشنهادی:
sales-intelligence-dashboard/

├── Day20_Sales_Dashboard.py
├── sales_cleaned.csv
├── requirements.txt
├── README.md
└── screenshots/
✅ یک فایل README حرفه‌ای بنویسید. README باید شامل این بخش‌ها باشد: 🔹 معرفی پروژه 🔹 هدف پروژه 🔹 قابلیت‌های داشبورد 🔹 ابزارها و کتابخانه‌های استفاده‌شده 🔹 روش نصب و اجرا 🔹 تصاویر داشبورد 🔹 نتایج و Insightهای به‌دست‌آمده ✅ فایل requirements.txt بسازید. محتوای پیشنهادی: pandas streamlit plotly ✅ حداقل ۲ اسکرین‌شات از داشبورد بگیرید. پیشنهاد: نمای کامل داشبورد نمودارها و فیلترهای تعاملی ✅ پروژه را در GitHub آپلود کنید. نام پیشنهادی Repository: sales-intelligence-dashboard ✅ یک ویدیوی کوتاه ۳۰ تا ۶۰ ثانیه‌ای از اجرای داشبورد ضبط کنید. در ویدیو نمایش دهید: 🔹 داشبورد چگونه اجرا می‌شود 🔹 فیلترها چگونه کار می‌کنند 🔹 نمودارها چگونه تغییر می‌کنند 🔹 امکان دانلود CSV 🎯 Bonus Challenge ⭐️ یک توضیح کوتاه انگلیسی برای پروژه بنویسید. نمونه: I built an interactive Sales Intelligence Dashboard using Python, Pandas, Plotly, and Streamlit. The dashboard analyzes sales performance, customer activity, products, categories, and regions through interactive filters and visualizations. ⭐️ لینک GitHub پروژه را در LinkedIn منتشر کنید. 📋 هدف امروز: یادگیری نحوه ارائه یک پروژه واقعی؛ چون فقط نوشتن کد کافی نیست و باید بتوانید پروژه خود را حرفه‌ای معرفی و نمایش دهید. راه ارتباطی: @learnpythonicychat @learnpythonicyBot 🔥 عضویت در چالش: https://t.me/learnpythonicy
آموزش پایتون
🔥 چالش ۳۰ روزه Python for AI #Day21 🎯 موضوع: Project Showcase 📝 صورت مسئله: در روزهای ۱۸ تا ۲۰ ی
Day21_Sales_Intelligence_Dashboard_Project.zip
حجم: 6.8M
✅ پاسخ چالش روز 21 در این مرحله، پروژه Sales Intelligence Dashboard را به یک نمونه‌کار حرفه‌ای و آماده انتشار تبدیل کردیم. 📦 فایل پروژه شامل: 🔹 داشبورد کامل Streamlit 🔹 دیتاست فروش 🔹 README حرفه‌ای برای GitHub 🔹 فایل requirements 🔹 متن آماده LinkedIn 🔹 ساختار استاندارد Portfolio @learnpythonicy
🔥 چالش ۳۰ روزه Python for AI 🚨 مأموریت جدید: مشتری‌ها در حال رفتن هستند! یک شرکت اشتراکی متوجه شده تعداد زیادی از مشتریانش بدون هشدار قبلی سرویس را ترک می‌کنند. مدیر شرکت از تیم هوش مصنوعی کمک خواسته است: «آیا می‌توانیم قبل از رفتن مشتری، آن را پیش‌بینی کنیم؟» از امروز وارد سومین پروژه واقعی چالش می‌شویم: 🤖 Customer Churn Prediction هدف نهایی پروژه این است که یک سیستم هوشمند بسازیم که مشتریان در معرض ریزش را شناسایی کند. اما قبل از ساخت مدل، باید دیتاست را برای Machine Learning آماده کنیم. 📂 فایل مأموریت: customer_churn.csv اطلاعات هر مشتری: 🔹
Customer_ID
— شناسه مشتری 🔹
Age
— سن 🔹
Usage
— میزان استفاده از سرویس 🔹
Contract
— نوع قرارداد 🔹
MonthlyCharge
— هزینه ماهانه 🔹
SupportCalls
— تعداد تماس با پشتیبانی 🔹
Churn
— وضعیت ریزش مشتری معنی ستون
Churn
: 🟢
0
= مشتری باقی مانده است 🔴
1
= مشتری سرویس را ترک کرده است 🎯 مأموریت امروز: ساخت ML Data Pipeline برنامه شما باید: ✅ دیتاست را با Pandas بخواند. ✅ تعداد مشتریان و ستون‌ها را نمایش دهد. ✅ داده‌های گمشده و تکراری را شناسایی کند. ✅ تعداد مشتریان باقی‌مانده و ریزش‌کرده را محاسبه کند. ✅ نرخ ریزش مشتریان را به‌صورت درصد نمایش دهد. ✅ ستون‌های ورودی مدل یا
Features
را مشخص کند. ✅ ستون هدف یا
Target
را جدا کند. ✅ داده‌ها را به دو بخش تقسیم کند: 🧠
80% Training Data
🧪
20% Testing Data
برای تقسیم داده‌ها از
train_test_split
استفاده کنید. 📋 خروجی پیشنهادی:
========== CHURN ALERT SYSTEM ==========

Total Customers: 5000
Active Customers: 3870
Churned Customers: 1130
Churn Rate: 22.6%

Features: 5
Target: Churn

Training Samples: 4000
Testing Samples: 1000

Data is ready for Machine Learning! 🚀
🔥 Bonus Mission تحقیق کنید مشتریان ریزش‌کرده چه تفاوتی با مشتریان باقی‌مانده دارند: 🔍 آیا میزان استفاده آن‌ها کمتر است؟ 💰 آیا هزینه ماهانه بیشتری پرداخت می‌کنند؟ ☎️ آیا تماس بیشتری با پشتیبانی داشته‌اند؟ 📄 آیا نوع قرارداد روی ریزش تأثیر دارد؟ حداقل دو Insight مهم از داده‌ها استخراج کنید. 📊 نمودار پیشنهادی: تعداد مشتریان فعال و ریزش‌کرده را با یک نمودار مقایسه کنید. ⚠️ نکته مهم: امروز هنوز مدل نمی‌سازیم. امروز داده‌ها را برای آموزش اولین مدل Machine Learning در روز ۲۳ آماده می‌کنیم. آیا فردا می‌توانید قبل از رفتن مشتری، او را شناسایی کنید؟ 👀 🔥 ورود به چالش: @learnpythonicy
Day24_Model_Comparison_Solution.py
حجم: 11.1K
✅ پاسخ چالش روز 24 امروز Logistic Regression و Random Forest را برای پیش‌بینی ریزش مشتری مقایسه کردیم. 🤖🌳 📊 نتیجه مهم: 🔹 Random Forest نسبت به مدل قبلی Recall بهتری داشت. 🔹 با فعال‌کردن
class_weight="balanced"
، Recall مدل Logistic Regression از ۱۵.۳۸٪ به ۷۲.۸۵٪ رسید. 🔹 این مدل توانست تعداد بیشتری از مشتریان واقعی در معرض ریزش را شناسایی کند. نکته امروز: در مسائل Churn، همیشه بالاترین Accuracy به معنی بهترین مدل نیست؛ گاهی شناسایی مشتریان پرریسک اهمیت بیشتری دارد. @learnpythonicy
🔥 چالش ۳۰ روزه Python for AI 🎯 موضوع: Explainable AI مدل ما پیش‌بینی می‌کند چه مشتری‌ای در معرض ریزش است؛ اما امروز باید بفهمیم: 🤔 چرا مدل چنین تصمیمی گرفته است؟ 📌 کارهای امروز: ✅ آموزش مدل Random Forest ✅ استخراج
Feature Importance
✅ مشخص‌کردن مهم‌ترین عوامل ریزش مشتری ✅ مرتب‌سازی ویژگی‌ها از بیشترین تا کمترین تأثیر ✅ رسم نمودار اهمیت ویژگی‌ها خروجی پیشنهادی: Top Churn Risk Factors: 1. Usage 2. SupportCalls 3. Contract 4. MonthlyCharge 5. Age 🔥 Bonus Challenge برای یکی از مشتریان پرریسک، اطلاعات زیر را نمایش دهید: Churn Probability: 82% Main Risk Factors: - Low Usage - High Support Calls - Month-to-Month Contract 📁 نام پیشنهادی فایل:
Day25_Explainable_AI.py
📋 هدف امروز: یادگیری اینکه یک مدل خوب فقط نباید پیش‌بینی کند؛ بلکه باید بتوانیم دلیل تصمیم آن را نیز توضیح دهیم. @learnpythonicy
Day25_Explainable_AI_Solution.py
حجم: 7.6K
✅ پاسخ چالش روز بیست‌وپنجم آماده شد! امروز با استفاده از Explainable AI بررسی کردیم که مدل چرا یک مشتری را در معرض ریزش تشخیص می‌دهد. 🔍🤖 📊 مهم‌ترین عوامل پیش‌بینی ریزش: 🔹 نوع قرارداد 🔹 میزان استفاده از سرویس 🔹 هزینه ماهانه 🔹 سن مشتری 🔹 تعداد تماس با پشتیبانی همچنین برای یکی از مشتریان پرریسک، احتمال ریزش و تأثیر هر ویژگی به‌صورت جداگانه محاسبه شد. @learnpythonicy