هذا المشروع يهدف إلى بناء نموذج تعلم آلة يمكنه املخص تنفيذي
تم تطوير نموذج تعلم آلة لتصنيف الأورام إلى حميدة أو خبيثة اعتمادًا على خصائص مستخرجة من صور FNA لعيّنات أنسجة الثدي ضمن مجموعة بيانات Wisconsin التشخيصية، مع بناء خط عمل يشمل المعالجة المسبقة، اختيار الميزات، وضبط المعاملات، وإصدار تقرير تقييم متكامل. المشروع يقدّم مخرجات عملية تشمل مصفوفة الالتباس، منحنى ROC-AUC، ومؤشرات الدقة والاستدعاء وF1، مع حفظ النموذج لاستخدامه تشغيليًا.
البيانات والمشكلة
مجموعة بيانات Breast Cancer Wisconsin (Diagnostic) تضم 569 عيّنة و30 سمة رقمية مشتقة من صور FNA، مع تصنيف ثنائي لورم حميد أو خبيث.
الهدف: بناء مصنف موثوق قابل للنشر كخدمة أو دمجه في واجهة تقدّم تنبؤات مساعدة للقرار الطبي تحت إشراف مختصين.
المنهجية وخط التجهيز
تحميل البيانات من sklearn وتحو̄يلها لإطار بيانات، ثم تقسيمها إلى تدريب/اختبار مع Stratified K-Fold لضمان توازن الفئات.
معالجة مسبقة: توحيد القياس Standardization، معالجة القيم المتطرفة عند الحاجة، وتقليل الأبعاد اختياريًا عبر PCA للحفاظ على أكبر قدر من التباين.
نماذج مجرّبة: Logistic Regression، SVM، Random Forest، وGradient Boosting مع ضبط معاملات عبر Grid/Random Search ومقارنة الأداء عبر مقاييس متعددة.
التقييم والنتائج
استخدام دقة، استدعاء، F1، وROC-AUC مع تقارير تصنيف ومصفوفة التباس لتوضيح حساسية التنبؤ بالخبيث مقابل الحميد.
النتائج النموذجية على هذه البيانات تصل إلى دقة مرتفعة عند الضبط الجيد، مع ROC-AUC عادة فوق 0.95 في الأدبيات، ما يؤكد ملاءمتها كمجموعة مرجعية للتجارب.
اختيار النموذج الأفضل بناءً على توازن المقاييس وتفضيل الحساسية العالية لتقليل إغفال الحالات الخبيثة عند نفس مستوى الخصوصية.
المخرجات والتسليم
كود موثق بلغة Python باستخدام scikit-learn، وملف نموذج محفوظ joblib/pickle، وتقارير تقييم مصورة، مع Notebook يوضح التجارب وخيارات الضبط.
خيار واجهة مبسّطة لاستلام ملف CSV جديد وإرجاع التنبؤات، أو تكامل API لاحقًا وفق الحاجة.
الحوكمة والأخلاقيات
هذا النموذج لأغراض بحثية/تعليمية ولا يُستخدم للتشخيص الطبي دون إشراف سريري وبيانات معتمدة وتحقق خارجي مناسب.
الالتزام بأفضل الممارسات في التحقق المتقاطع والتقييم العادل مع توثيق القيود وحدود التعميم خارج بيانات Wisconsin.
المهارات والتقنيات
Python، Scikit-learn، Machine Learning، Classification، Model Evaluation، ROC-AUC، PCA، Hyperparameter Tuning، Data Cleaning.
لتنبؤ بإصابة المريض بسرطان الثدي بناءً على بيانات طبية مأخوذة من صور الأشعة.
## هيكل المشروع
```
ML-project/
├── data/ # ملفات البيانات (raw, processed, interim)
├── notebooks/ # دفاتر Jupyter للتجربة والتحليل
├── reports/ # التقارير والرسومات الناتجة
├── cancer_prediction_with_python/
│ ├── dataset.py # تحميل وتنظيف البيانات
│ ├── plots.py # التصوير البياني
│ └── modeling/
│ └── train.py # تدريب النماذج وضبط المعاملات
├── requirements.txt
├── pyproject.toml
└── README.md
```
## وصف البيانات
- **المصدر**: [Breast Cancer Wisconsin (Diagnostic) Data Set](https://www.kaggle.com/da...)
- يحتوي على 569 عينة، و30 ميزة مشتقة من صور الأشعة.
- المتغير المستهدف `diagnosis`:
- `M` = ورم خبيث
- `B` = ورم حميد
## هدف المشروع
تطوير نموذج دقيق يمكنه تصنيف الأورام إلى حميدة أو خبيثة بناءً على الخصائص الفيزيائية للخلايا.
## ️ خطوات العمل
1. تحميل البيانات من Kaggle وتنظيفها.
2. استكشاف البيانات بصريًا لفهم التوزيعات والأنماط.
3. تجهيز الميزات وتقسيم البيانات إلى تدريب واختبار.
4. تدريب نموذج Decision Tree مع ضبط المعاملات باستخدام Grid Search.
5. تقييم النموذج على بيانات الاختبار.
## الأداء
- تم استخدام خوارزمية Decision Tree.
- تم استخدام `GridSearchCV` لضبط المعاملات.
- دقة التصنيف على مجموعة الاختبار تم تقييمها باستخدام accuracy score.
## ️ المتطلبات
```
pandas
matplotlib
seaborn
scikit-learn
```
لتثبيت الحزم:
```bash
pip install -r requirements.txt
```
## كيف تبدأ
```bash
git clone https://github.com/userna...
cd breast-cancer-prediction
jupyter notebook
```
## ? نماذج مستقبلية
- تجربة خوارزميات أخرى مثل:
- Random Forest
- Logistic Regression
- SVM
- استخدام تقنيات تحسين الميزات Feature Selection.
## الرخصة
هذا المشروع مفتوح المصدر تحت رخصة MIT.