إيه هو Machine Learning؟
هو فرع من الذكاء الاصطناعي بيعلم الكمبيوتر "يتعلم من البيانات" من غير ما نكتب له قوانين صريحة.
مثال: لو عندك بيانات عن أسعار الشقق (المساحة – الموقع – عدد الغرف → السعر)، ممكن تبني نموذج يتعلم العلاقة ويتنبأ بسعر أي شقة جديدة.
---
## خطوات بناء Machine Learning Model
### 1. **تجميع البيانات (Data Collection)**
* البيانات هي الأساس.
* ممكن تكون من: CSV, Excel, قواعد بيانات, Web Scraping, أو APIs.
### 2. **تنظيف وتجهيز البيانات (Data Preprocessing)**
* إزالة البيانات الناقصة أو المكررة.
* تحويل النصوص لأرقام (Encoding).
* توحيد القيم (Normalization/Standardization).
### 3. **تقسيم البيانات (Train/Test Split)**
* بنقسم البيانات عادةً:
* 70-80% للتدريب (Training set).
* 20-30% للاختبار (Testing set).
### 4. **اختيار الخوارزمية (Algorithm Selection)**
حسب نوع المشكلة:
* **انحدار (Regression)** → لو عايز تتنبأ برقم (مثلاً: سعر شقة).
* **تصنيف (Classification)** → لو عايز تحدد نوع/فئة (مثلاً: هل الإيميل Spam أو لا).
* **Clustering** → تجميع البيانات في مجموعات (مثلاً: تقسيم عملاء حسب السلوك).
### 5. **تدريب النموذج (Model Training)**
* النموذج يتعلم من البيانات عن طريق ضبط **الأوزان/المعاملات** لتقليل الخطأ.
### 6. **تقييم النموذج (Evaluation)**
* نقيس أداء النموذج باستخدام:
* Accuracy, Precision, Recall, F1 Score (للتصنيف).
* MSE, RMSE, R² (للانحدار).
### 7. **تحسين النموذج (Optimization)**
* ضبط المعاملات (Hyperparameter Tuning).
* إضافة بيانات أكتر.
* تجربة خوارزميات مختلفة.
### 8. **النشر (Deployment)**
* بعد ما النموذج يبقى كويس، ممكن:
* تضيفه في موقع ويب (باستخدام Flask/Django).
* تخليه API يرد على الطلبات.
* تستخدمه في تطبيق موبايل.
---
## مثال عملي (بايثون – انحدار خطي)
```python
import numpy as np
from sklearn.linear_model import LinearRegression
# بيانات (المساحة بالمتر - السعر بالألف)
X = np.array([[50], [60], [80], [100], [120]])
y = np.array([150, 180, 240, 300, 360])
# تدريب النموذج
model = LinearRegression()
model.fit(X, y)
# تجربة التنبؤ
area = np.array([[90]])
price_pred = model.predict(area)
print("سعر الشقة المتوقّع:", price_pred[0], "ألف")
```
---
تحب أشرحلك **بالمع math** إزاي النموذج بيتعلم (يعني معادلات Gradient Descent و Optimization)؟ ولا تفضل أمثلة عملية بالكود على مشاكل مختلفة (تصنيف/تنبؤ/Clustering)؟