0%
التعلم الآلي مع H2O

التعلم الآلي مع H2O

اكتشف كيفية استخدام H2O في التعلم الآلي وأتمتة بناء النماذج.

I

InSkillCoach

· دقيقة

التعلم الآلي مع H2O

اكتشف كيفية استخدام H2O في التعلم الآلي وأتمتة بناء النماذج.

الإعداد الأساسي

1. التثبيت

pip install h2o pandas numpy scikit-learn

2. التهيئة

import h2o
from h2o.automl import H2OAutoML

# تهيئة H2O
h2o.init()

# إعداد الذاكرة
h2o.cluster().show_status()

إعداد البيانات

1. تحميل البيانات

# التحميل من ملف CSV
data = h2o.import_file("data.csv")

# التحميل من DataFrame في pandas
import pandas as pd
df = pd.read_csv("data.csv")
data = h2o.H2OFrame(df)

# تقسيم البيانات إلى تدريب/اختبار
train, test = data.split_frame(ratios=[0.8], seed=42)

2. إعداد الخصائص (Features)

# تحديد الأعمدة
y = "target"  # المتغير الهدف
x = [col for col in data.columns if col != y]

# تحويل الأنواع
data["target"] = data["target"].asfactor()  # للتصنيف
data["target"] = data["target"].asnumeric()  # للانحدار

# معالجة القيم المفقودة
data = data.fillna(method="forward")

AutoML مع H2O

1. إعداد AutoML

# إعداد AutoML
aml = H2OAutoML(
    max_models=10,
    seed=42,
    max_runtime_secs=300,
    sort_metric="AUTO",
    balance_classes=True,
    nfolds=5
)

# التدريب
aml.train(x=x, y=y, training_frame=train)

2. تقييم النماذج

# لوحة الترتيب (Leaderboard)
lb = aml.leaderboard
print(lb)

# أفضل نموذج
best_model = aml.leader

# التنبؤات
predictions = best_model.predict(test)

# مقاييس الأداء
performance = best_model.model_performance(test)
print(performance)

نماذج محددة

1. Random Forest

from h2o.estimators import H2ORandomForestEstimator

# إعداد النموذج
rf = H2ORandomForestEstimator(
    ntrees=100,
    max_depth=10,
    min_rows=5,
    seed=42
)

# التدريب
rf.train(x=x, y=y, training_frame=train)

# التقييم
rf_performance = rf.model_performance(test)

2. Gradient Boosting

from h2o.estimators import H2OGradientBoostingEstimator

# إعداد النموذج
gbm = H2OGradientBoostingEstimator(
    ntrees=100,
    max_depth=6,
    learn_rate=0.1,
    seed=42
)

# التدريب
gbm.train(x=x, y=y, training_frame=train)

# التقييم
gbm_performance = gbm.model_performance(test)

ميزات متقدمة

1. هندسة الخصائص (Feature Engineering)

# إنشاء خصائص جديدة
data["new_feature"] = data["feature1"] * data["feature2"]

# الترميز الفئوي
data["categorical"] = data["categorical"].asfactor()

# التطبيع
from h2o.preprocessing import H2OScaler
scaler = H2OScaler()
data_scaled = scaler.fit_transform(data)

2. اختيار الخصائص

# أهمية الخصائص
feature_importance = best_model.varimp(use_pandas=True)
print(feature_importance)

# اختيار الخصائص المهمة
important_features = feature_importance[feature_importance["relative_importance"] > 0.01]["variable"]

الحفظ والتحميل

1. حفظ النماذج

# حفظ النموذج
h2o.save_model(best_model, path="models/")

# حفظ التنبؤات
h2o.export_file(predictions, "predictions.csv")

2. تحميل النماذج

# تحميل النموذج
loaded_model = h2o.load_model("models/best_model")

# استخدام النموذج المحمّل
new_predictions = loaded_model.predict(test)

أفضل الممارسات

  1. إعداد البيانات

    • تنظيف فعّال
    • هندسة الخصائص (Feature Engineering)
    • معالجة القيم المفقودة
    • التطبيع
  2. إعداد النماذج

    • معاملات فائقة (Hyperparameters) مُحسَّنة
    • التحقق المتقاطع
    • موازنة الفئات
    • المراقبة
  3. التقييم

    • مقاييس مناسبة
    • التحقق على بيانات الاختبار
    • قابلية التفسير
    • التوثيق

الخاتمة

النقاط الرئيسية التي ينبغي تذكرها:

  • AutoML فعّال
  • نماذج عالية الأداء
  • هندسة الخصائص (Feature Engineering)
  • تقييم شامل

التوصيات:

  • تحسين المعاملات الفائقة (Hyperparameters)
  • التحقق من النتائج
  • توثيق التجارب
  • التدرّب على H2O
  • اتباع أفضل الممارسات
InSkillCoach

نبذة عن InSkillCoach

خبير في التدريب والتقنيات

مدرّب متخصص في التقنيات المتقدمة والذكاء الاصطناعي، تدعمه شركة GNeurone Inc.

الشهادات:

  • AWS Certified Solutions Architect – Professional
  • شهادات Google Cloud
  • Microsoft Certified: DevOps Engineer Expert
  • Certified Kubernetes Administrator (CKA)
  • CompTIA Security+
2.0k
322

التعليقات

التعليقات مدعومة عبر GitHub Discussions

سجّل الدخول باستخدام GitHub للمشاركة في النقاش

تم نسخ الرابط!