Skip to content
 
 

Repository files navigation

Basketball Analyse

🏀 پروژه جامع تحلیل داده NBA - بوت‌کمپ کوئرا

Python GitHub SQL BeautifulSoup Selenium

📌 نمای کلی پروژه

این پروژه به عنوان پروژه‌ی اول بوت‌کمپ تحلیل داده کوئرا (بهار ۱۴۰۵) طراحی و پیاده‌سازی شده است. هدف اصلی، شبیه‌سازی یک چرخه‌ی کامل داده‌کاوی از دریافت داده از وب تا ذخیره‌سازی در پایگاه داده و در نهایت تحلیل آماری و آزمون فرضیه می‌باشد.

محوریت این پروژه، وب‌سایت معتبر Basketball-Reference.com و داده‌های لیگ حرفه‌ای بسکتبال NBA است. با اجرای این پروژه، شما قادر خواهید بود تا به سوالات چالش‌برانگیز مدیریتی و مربیگری در حوزه ورزش، با استفاده از استدلال آماری پاسخ دهید.


🧩 ساختار پروژه (سه فاز اصلی)

۱. فاز اول: استخراج داده (Web Scraping)

در این فاز، با استفاده از کتابخانه‌های Requests و BeautifulSoup در پایتون، اقدام به استخراج داده‌های ساختاریافته از صفحات مختلف وب‌سایت بسکتبال رفرنس نموده‌ایم. داده‌های استخراج‌شده شامل موارد زیر است:

  • اطلاعات بازیکنان: نام کامل، تاریخ تولد، سن، قد، وزن، ملیت، پوزیشن، باشگاه فعلی و آمار کلیدی (امتیاز، ریباند، پاس منجر به گل).
  • اطلاعات باشگاه‌ها: نام باشگاه، تاریخ تاسیس، نام لیگ، مربی، ترکیب بازیکنان، میانگین سنی، ارزش تقریبی باشگاه و نام استادیوم.
  • آمار فصلی: داده‌های مربوط به برندگان جوایز (MVP، بهترین تازه‌کار)، رهبران آمار (امتیاز، ریباند، پاس گل، Wins Share) و اطلاعات تیم‌های قهرمان از فصل ۲۰۱۷-۲۰۱۸ تا ۲۰۲۵-۲۰۲۶.

۲. فاز دوم: طراحی و پیاده‌سازی پایگاه داده (Database Design)

پس از استخراج داده‌ها، یک پایگاه داده‌ی رابطهای (Relational Database) با استفاده از SQLite (قابل ارتقا به MySQL یا PostgreSQL) طراحی شده است.

  • مدل‌سازی (ERD): موجودیت‌های اصلی شامل Players، Teams، Seasons، Awards و Statistics با روابط کلید خارجی تعریف شده‌اند.
  • نرمال‌سازی: داده‌ها تا سطح 3NF (Third Normal Form) نرمال‌سازی شده‌اند تا از افزونگی (Redundancy) جلوگیری شده و یکپارچگی داده‌ها حفظ گردد.
  • ذخیره‌سازی: کلیه داده‌های استخراج‌شده، پس از پردازش اولیه، در جداول مربوطه درج (Insert) شده‌اند.

۳. فاز سوم: تحلیل آماری و آزمون فرضیه (Statistical Analysis)

قلب تخصصی این پروژه، بخش تحلیل آماری است. با بهره‌گیری از کتابخانه‌های Pandas، NumPy، SciPy و Matplotlib/Seaborn، به سوالات زیر پاسخ داده شده است:

آمار توصیفی (Descriptive Statistics)

  • تحلیل توزیع قد: بررسی توزیع قد بازیکنانی که در لیست (Michael Jordan Trophy) یا ۵۰ بازیکن برتر فصل حضور داشته‌اند (بازه زمانی ۲۰۱۹ تا ۲۰۲۴).
  • مقایسه تیم قهرمان و بازیکنان برتر: مقایسه توزیع میزان تجربه و قد در تیم قهرمان دو فصل اخیر در برابر ۱۵ بازیکن برتر آن فصل.
  • سیستم توصیه‌گر بازیکن (Point Guard): بر اساس معیار حضور در لیست بهترین‌های فصل (Jordan Trophy) و آمار جامع، لیستی از ۳ گارد رأس (Point Guard) برتر برای سرمایه‌گذاری یک تیم جدید پیشنهاد شده است.

آزمون فرضیه (Hypothesis Testing)

  • فرضیه اول (چابکی): آزمون این ادعا که "میانگین چابکی (نسبت قد به وزن) افراد حاضر در ۲۰ نفر برتر هر فصل، در دوره‌ی ۲۰۲۲ تا ۲۰۲۴ نسبت به دوره‌ی ۲۰۲۰ تا ۲۰۲۲ افزایش یافته است." (با استفاده از Two-Sample t-test).
  • فرضیه دوم (توانایی ذاتی): آزمون این ادعا که "نرخ توانایی ذاتی (نسبت تجربه به سن) بازیکنان تیم قهرمان در دو فصل اخیر، به طور معناداری بیشتر از دو فصل قبل از آن بوده است."

🛠️ تکنولوژی‌ها و کتابخانه‌های استفاده‌شده

  • زبان برنامه‌نویسی: Python 3.9+
  • وب اسکرپینگ: Requests,selenium ,BeautifulSoup4
  • مدیریت کد و همکاری: Git / GitHub

🚀 نحوه اجرا و نصب (Installation & Setup)

برای اجرای این پروژه بر روی سیستم خود، مراحل زیر را به ترتیب دنبال کنید:

  • کلون کردن مخزن:

    git clone https://github.com/your-username/basketball-data-bootcamp.git
    cd basketball-data-bootcamp
  • ایجاد محیط مجاز (Virtual Environment) (اختیاری اما پیشنهادی):

    python -m venv venv
    source venv/bin/activate   # mac/linux
    venv\Scripts\activate      # windows
  • نصب کتابخانه‌های مورد نیاز:

    pip install -r requirements.txt

اجرای اسکریپت استخراج داده و ساخت دیتابیس:

اجرای نوت‌بوک تحلیل آماری:


📈 نتایج و خروجی‌های کلیدی (بخش از نتایج)


👥 اعضای تیم

  • آرمان اقایی - منتور
  • اسماعیل تقی زاده - توسعه‌دهنده بک‌اند و تنظیم کننده
  • پارسا ناصر ترابی و امیرحسین قنبریه و مهدی نصرتی - تحلیلگر داده
  • پارسا ایمان آذری - متخصص پایگاه داده و تست

About

پروژه عملی تحلیل داده بوت کمپ کويرا ۱۴۰۵

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages