# كيف تدرب نموذجك الأول للتعلم الآلي وتشغله داخل تطبيقات iOS عبر CoreML

> تعرف على كيفية تدريب نموذج التعلم الآلي باستخدام لغة Python وتشغيله محلياً على الجهاز داخل تطبيق iOS الخاص بك باستخدام تقنية CoreML من Apple.

- Canonical URL: https://coreiten.com/article/كيف-تدرب-نموذجك-الأول-للتعلم-الآلي-وتشغله-داخل-تطبيقات-ios-عبر-coreml
- Language: ar
- Section: أفضل البرامج و التطبيقات
- Author: Sami
- Published: 2026-09-10T06:03:18+03:00
- Modified: 2026-09-10T06:03:18+03:00
- Publisher: CoreITen (https://coreiten.com)
- Keywords: تطبيقات iOS, التعلم الآلي على الجهاز, أدوات CoreMLTools, لغة Python, نماذج CoreML, منصة ContextSDK

## ملخص

تتيح تقنية CoreML من Apple تدريب نماذج تعلم آلي مخصصة بلغة Python وتشغيلها محلياً داخل تطبيقات iOS للتنبؤ بسلوك المستخدم بخصوصية وسرعة عالية.

- تعتمد شركة Apple على تقنية CoreML لتمكين المطورين من تشغيل النماذج محلياً، مما يتخلص من مشاكل التأخير ومخاطر الخصوصية المرتبطة بطلبات واجهات برمجة التطبيقات للخوادم.
- يُستخدم إطار بيانات pandas بلغة Python لتجهيز مجموعة البيانات الخام التي تتضمن نتائج المستخدم ومستويات البطارية وحالة الشحن.
- يتم تقسيم البيانات عبر مكتبة sklearn لضمان وجود بيانات معزولة لتقييم دقة النموذج، ثم تدريب مصنف RandomForest الأساسي لبناء المنطق التنبؤي.
- يتم تحويل وتصدير نموذج Python إلى ملف .mlmodel باستخدام أدوات CoreMLTools ليصبح متوافقاً ومحسناً لشرائح التعلم الآلي من Apple.
- يُدمج ملف CoreML في مشروع Xcode لإنشاء فئة Swift تلقائياً، مما يسمح بتشغيل التنبؤات محلياً عبر تمرير المعلمات مثل مستوى البطارية وحالة الشحن.
- تعالج منصات مثل ContextSDK أكثر من 180 إشارة مختلفة في وقت واحد، وتتجه الفرق نحو تحديث ملفات CoreML عبر الهواء (OTA) متجاوزة مراجعة متجر التطبيقات.

**لماذا يهم:** يُظهر المقال كيفية الاستفادة من المعالجة المحلية للبيانات عبر شرائح Apple لتطوير تطبيقات ذكية تحافظ على خصوصية المستخدم وتعمل بدون إنترنت.

---

يؤدي تشغيل نماذج التعلم الآلي (Machine Learning) مباشرة على الجهاز إلى التخلص من مشاكل التأخير ومخاطر الخصوصية المرتبطة بطلبات واجهة برمجة التطبيقات (API) من الخوادم. تتيح تقنية CoreML من شركة Apple للمطورين تدريب نماذج مخصصة باستخدام بيانات واقعية وتشغيلها محلياً على أجهزة نظام iOS. يُمكّن هذا النهج التطبيقات من التنبؤ بسلوك المستخدم، مثل احتمالية شراء ترقية مدفوعة، بناءً على إشارات محلية مثل مستوى البطارية وحالة الشحن.

يُعد هذا المسار العملي مثالياً لمطوري نظام iOS ومهندسي البيانات لدمج الميزات التنبؤية دون الحاجة إلى خبرة سابقة في علوم البيانات الخلفية. يساهم تنفيذ التعلم الآلي على الجهاز (On-device ML) في تقليل تكاليف الخوادم، ويضمن بقاء بيانات المستخدم خاصة، ويسمح للتطبيقات بالعمل بسلاسة حتى عند عدم الاتصال بالإنترنت.

### كيفية تدريب ونشر نموذج CoreML الخاص بك

1. **حمّل** البيانات المسجلة في إطار بيانات pandas باستخدام لغة Python. *يُجهّز هذا الإجراء مجموعة البيانات الخام، مثل نتائج المستخدم ومستويات البطارية، لعملية المعالجة.*

```python
import pandas as pd

rows = [
    ['Dismissed', 0.90, False],
    ['Dismissed', 0.10, False],
    ['Purchased', 0.24, True],
    ['Dismissed', 0.13, True]
]
data = pd.DataFrame(rows, columns=['Outcome', 'Battery Level', 'Phone Charging?'])
print(data)
```

1. **قسّم** البيانات إلى مجموعة تدريب ومجموعة اختبار باستخدام مكتبة sklearn. *يضمن ذلك امتلاك بيانات معزولة لتقييم دقة النموذج بعد التدريب، وهو مفهوم مشروح بتفصيل أكبر في [مقطع فيديو CGP](https://www.youtube.com/watch?v=R9OHn5ZF4Uo).*

```python
from sklearn.model_selection import train_test_split

X = data.drop("Outcome", axis=1)
Y = data["Outcome"]

X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.2, shuffle=True)
```

1. **درّب** النموذج باستخدام مصنف RandomForest الأساسي. *يبني هذا الخطوة المنطق التنبؤي بناءً على بيانات التدريب ويُنشئ تقرير التصنيف للتحقق من الدقة.*

```python
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import classification_report

classifier = RandomForestClassifier()
classifier.fit(X_train, Y_train)
Y_pred = classifier.predict(X_test)
print(classification_report(Y_test, Y_pred, zero_division=1))
```

1. **صدّر** المصنف المُدرّب إلى ملف.mlmodel باستخدام أدوات CoreMLTools من شركة Apple. *يُحوّل هذا الإجراء نموذج Python إلى تنسيق أصلي مُحسّن لشرائح التعلم الآلي من Apple.*

```python
import coremltools

coreml_model = coremltools.converters.sklearn.convert(classifier, input_features="input")
coreml_model.short_description = "My first model"
coreml_model.save("MyFirstCustomModel.mlmodel")
```

1. **ادمج** ملف CoreML عن طريق سحبه وإفلاته مباشرة في مشروع تطبيق Xcode. *يسمح ذلك لبيئة Xcode بإنشاء فئة Swift تلقائياً بناءً على مدخلات ومخرجات النموذج.*
2. **نفّذ** نموذج التعلم الآلي على الجهاز عبر تمرير المعلمات إلى فئة Swift المُنشأة. *يُشغّل هذا التنبؤ محلياً، مما يُرجع احتمالية اتخاذ المستخدم لإجراء معين دون أي تأخير في الشبكة.*

```swift
let batteryLevel = UIDevice.current.batteryLevel
let batteryCharging = UIDevice.current.batteryState == .charging || UIDevice.current.batteryState == .full
do {
    let modelInput = MyFirstCustomModelInput(input: [
       Double(batteryLevel),
       Double(batteryCharging ? 1.0 : 0.0)
    ])
    let result = try MyFirstCustomModel(configuration: MLModelConfiguration()).prediction(input: modelInput)
    let classProbabilities = result.featureValue(for: "classProbability")?.dictionaryValue
    let upsellProbability = classProbabilities?["Purchased"]?.doubleValue ?? -1

    print("Chances of Upsell: \(upsellProbability)")
} catch {
    print("Error running CoreML file: \(error)")
}
```

### التحول نحو الذكاء المحلي

يمثل الانتقال من المعالجة القائمة على الخوادم إلى الاستدلال (Inference) على الجهاز تحولاً جذرياً في كيفية تعامل تطبيقات الأجهزة المحمولة مع بيانات المستخدمين. ورغم أن هذا الدليل يوضح تنفيذاً أساسياً باستخدام مدخلين فقط، فإن بيئات الإنتاج الفعلي توسع هذا المفهوم بشكل هائل. تقوم منصات مثل ContextSDK حالياً بمعالجة أكثر من 180 إشارة مختلفة في وقت واحد، مما يثبت أن شرائح Apple الحديثة قادرة تماماً على التعامل مع نماذج تنبؤية معقدة ومتعددة المتغيرات دون استنزاف البطارية.

بالنظر إلى المستقبل، لن يكون التحدي الحقيقي للمطورين هو تدريب النماذج، بل إدارة دورة حياتها. يُعد دمج النماذج الثابتة داخل حزمة التطبيق نقطة انطلاق جيدة، لكنه يحد من المرونة. الخطوة المنطقية التالية للفرق التي تتبنى هذه البنية هي تنفيذ التحديثات عبر الهواء (OTA) لملفات CoreML. يتيح ذلك للمطورين نشر نماذج مُحسّنة، وإدارة اختبارات A/B المعقدة، وتعديل معلمات الإدخال الديناميكية عبر ملايين الأجهزة فوراً، متجاوزين بذلك دورة المراجعة التقليدية لمتجر التطبيقات (App Store) عند تحديث المنطق البرمجي.

## المصادر

- [krausefx.com](https://krausefx.com/blog/how-to-train-your-first-machine-learning-model-and-run-it-inside-your-ios-app-via-coreml)

## مواضيع ذات صلة

- [تطبيقات iOS](https://coreiten.com/topic/%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-ios)
