التعلم الآلي مع 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)
أفضل الممارسات
-
إعداد البيانات
- تنظيف فعّال
- هندسة الخصائص (Feature Engineering)
- معالجة القيم المفقودة
- التطبيع
-
إعداد النماذج
- معاملات فائقة (Hyperparameters) مُحسَّنة
- التحقق المتقاطع
- موازنة الفئات
- المراقبة
-
التقييم
- مقاييس مناسبة
- التحقق على بيانات الاختبار
- قابلية التفسير
- التوثيق
الخاتمة
النقاط الرئيسية التي ينبغي تذكرها:
- AutoML فعّال
- نماذج عالية الأداء
- هندسة الخصائص (Feature Engineering)
- تقييم شامل
التوصيات:
- تحسين المعاملات الفائقة (Hyperparameters)
- التحقق من النتائج
- توثيق التجارب
- التدرّب على H2O
- اتباع أفضل الممارسات
نبذة عن 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 للمشاركة في النقاش