Python Programming for Machine Learning
Python programming language تعتبر أداة أساسية لتنفيذ خوارزميات التعلم الآلي والعمل مع
البيانات. دعونا نقسم كل مكون:
1. أساسيات لغة برمجة Python :
- تتميز Python ببساطتها وقراءتها،
مما يجعلها خيارًا مثاليًا للمبتدئين والخبراء على حد سواء.
- تدعم عدة نماذج للبرمجة، بما في ذلك البرمجة
الإجرائية، الكائنية، والوظيفية.
- تشمل المفاهيم الرئيسية المتغيرات، وأنواع
البيانات (integers, floats, strings, booleans)، وسيطرة التدفق (if-else statements, loops)، والوظائف، (functions) والوحدات.
- المكتبة القياسية الواسعة لـ Python والحزم الطرفية تجعله
متعدد الاستخدامات لمهام مختلفة، بما في ذلك تعلم الآلة.
2. مكتبات لتعلم الآلة:
- NumPy:
Numerical Python، توفر دعمًا للمصفوفات
والمصفوفات متعددة الأبعاد، بالإضافة إلى الوظائف الرياضية للعمل على هذه
المصفوفات بكفاءة. إنها الأساس للعديد من المكتبات الأخرى في Python.
- Pandas:
Python Data Analysis Library، توفر هياكل بيانات (Series، DataFrame) ووظائف لتلاعب
وتحليل البيانات المهيكلة. إنها تبسط المهام مثل تنظيف البيانات، والتجميع،
والتصور.
- : Matplotlib مكتبة رسم قوية لإنشاء تصورات ثابتة، تفاعلية، ومتحركة في Python. توفر وظائف
لإنشاء رسوم بيانية خطية، ورسوم بيانية الانتشار، والهيستوغرامات، والرسوم
البيانية الشريطية، وغيرها.
- : Scikit-learn مكتبة شاملة لخوارزميات التعلم الآلي، بما في ذلك التصنيف،
والتحويل، والتجميع، وتقليص الأبعاد، واختيار النموذج. إنها مبنية على NumPy و SciPy و Matplotlib وتوفر واجهة موحدة
لتدريب وتقييم النماذج.
3. معالجة البياناتData Preprocessing
- معالجة القيم المفقودة:
- القيم المفقودة شائعة في مجموعات البيانات
الحقيقية ويمكن أن تؤثر سلبًا على أداء نماذج التعلم الآلي.
- تقدم مكتبات مثل Pandas وظائف لاكتشاف ومعالجة
القيم المفقودة، مثل `isna()`، `fillna()`، و `dropna()`.
- تشمل تقنيات معالجة القيم المفقودة الاستبدال
(استبدال القيم المفقودة بإحصائية مثل المتوسط، أو الوسيط، أو الوضع) أو الحذف
(إزالة الصفوف أو الأعمدة ذات القيم المفقودة).
- تسوية الميزات Feature Scaling
- غالبًا ما تستفيد خوارزميات التعلم الآلي
من تسوية الميزات (Feature Scaling) لضمان أن الميزات على نفس المقياس.
- Standardization (تسوية الميزات للحصول على متوسط 0 وانحراف
معياري 1) وnormalization (تسوية الميزات إلى نطاق بين 0 و 1) هما تقنيات تسوية شائعة.
- توفر Scikit-learn `StandardScaler` وMinMaxScaler ` ل Standardization و normalization على التوالي.
- ترميز المتغيرات الفئوية Encoding
Categorical Variables
- تتطلب العديد من خوارزميات التعلم الآلي
إدخالًا رقميًا، لذا يجب ترميز المتغيرات الفئوية (مثل "أحمر"،
"أزرق"، "أخضر") إلى قيم رقمية.
- One-hot encoding و label
encoding هما تقنيات شائعة
للتعامل مع المتغيرات الفئوية.
- تيسر `LabelEncoder` و `OneHotEncoder` من Scikit-learn ترميز المتغيرات
الفئوية إلى تمثيلات رقمية.
باختصار، فإن إتقان أساسيات
برمجة Python، بالإضافة إلى استخدام المكتبات الأساسية مثل NumPy و Pandas و Matplotlib و Scikit-learn، أمر ضروري للتلاعب
الفعّال بالبيانات، وتصورها، وبناء نماذج التعلم الآلي. فهم تقنيات معالجة
البيانات مثل معالجة القيم المفقودة، وتسوية الميزات، وترميز المتغيرات الفئوية
ضروري لتحضير البيانات لمهام التعلم الآلي.
تعتبر NumPy (Numerical Python) أحد أهم المكتبات في Python للعمل مع البيانات الرقمية، وتوفير الدعم للمصفوفات والعمليات الرياضية عليها بطريقة فعّالة. إليك نظرة عامة عن NumPy مع أمثلة:
1. إنشاء المصفوفات: يُستخدم NumPy لإنشاء
مصفوفات بشكل سهل وفعّال.
import numpy as np
# إنشاء مصفوفة
arr = np.array([1, 2, 3, 4, 5])
print(arr)
# Output: [1 2 3 4 5]
2. العمليات الرياضية: NumPy توفر مجموعة كبيرة من الدوال الرياضية للعمل على المصفوفات.
# جمع المصفوفات
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
result = arr1 + arr2
print(result)
# Output: [5 7 9]
# ضرب المصفوفات
arr3 = np.array([[1, 2], [3, 4]])
arr4 = np.array([[5, 6], [7, 8]])
result = np.dot(arr3, arr4) # ضرب النقطي
print(result)
# Output: [[19 22]
# [43 50]]
3. الوظائف الرياضية: NumPy توفر العديد من الوظائف الرياضية للعمل على المصفوفات.
# جذر التربيعي
arr = np.array([4, 9, 16])
result = np.sqrt(arr)
print(result)
# Output: [2. 3. 4.]
# القوة
arr = np.array([1, 2, 3])
result = np.power(arr, 3)
print(result)
# Output: [ 1 8 27]
4. تنقيح المصفوفات: يمكن استخدام NumPy لتنقيح المصفوفات بسهولة.
# تنقيح مصفوفة
arr = np.array([[1, 2, 3], [4, 5, 6]])
sliced_arr = arr[:, 1:] # احتفاظ بالأعمدة من العمود الثاني إلى النهاية
print(sliced_arr)
# Output: [[2 3]
# [5 6]]
5. توليد الأرقام العشوائية: NumPy يوفر وظائف لتوليد الأرقام العشوائية.
# توليد مصفوفة عشوائية
random_arr = np.random.rand(2, 2) # مصفوفة 2x2 من الأرقام العشوائية بين 0 و 1
print(random_arr)
هذه
المثال تبرز بعض استخدامات NumPy الشائعة،
والتي تشمل إنشاء المصفوفات، والقيام بالعمليات الرياضية، والوظائف الرياضية،
وتنقيح المصفوفات، وتوليد الأرقام العشوائية.
NumPy هي مكتبة أساسية لأي عملية تحليلية أو علمية في
Python، وتعد أحد الأساسيات في تعلم الآلة.
-: Pandas
هي مكتبة قوية لتحليل وتنظيم البيانات في Python، وهي مصممة لتوفير هياكل بيانات قوية وسهلة الاستخدام لتسهيل العمليات الشائعة مثل تنظيف البيانات وتحليلها وتحويلها. إليك نظرة عامة عن Pandas مع أمثلة:
1. إنشاء
هياكل بيانات: يمكنك استخدام Pandas لإنشاء
هياكل بيانات مثل Series
و DataFrame بسهولة
import pandas as pd
# إنشاء Series
s = pd.Series([1, 2, 3, 4, 5])
print(s)
# Output:
# 0 1
# 1 2
# 2 3
# 3 4
# 4 5
# dtype: int64
# إنشاء DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'Salary': [50000, 60000, 70000]}
df = pd.DataFrame(data)
print(df)
# Output:
# Name Age Salary
# 0 Alice 25 50000
# 1 Bob 30 60000
# 2 Charlie 35 70000
2. قراءة وكتابة الملفات: يمكنك استخدام Pandas لقراءة البيانات من مصادر مختلفة مثل ملفات CSV و Excel.
# قراءة ملف CSV
df = pd.read_csv('data.csv')
# كتابة DataFrame إلى ملف Excel
df.to_excel('data.xlsx', index=False)
3. الوصول إلى البيانات: يمكنك استخدام Pandas للوصول إلى البيانات وتنقيحها بسهولة.
# الوصول إلى البيانات في DataFrame
print(df['Name']) # اطبع عمود "Name"
print(df.iloc[0]) # اطبع الصف الأول
# تنقيح البيانات
filtered_df = df[df['Age'] > 25] # احتفظ بالصفوف حيث العمر أكبر من 25
4. التحليل الاسترجاعي والتجميع: يمكنك استخدام Pandas لتنفيذ التحليل الاسترجاعي والتجميع بسهولة.
# التحليل الاسترجاعي
print(df.describe()) # احصل على إحصائيات وصفية للبيانات
# التجميع
grouped_df = df.groupby('Name').mean() # حساب المتوسط لكل فئة "Name"
5. التصور: يمكنك استخدام Pandas بالتعاون مع مكتبات التصور مثل Matplotlib لإنشاء تصورات بيانية.
import matplotlib.pyplot as plt
# تصور بياني
df['Age'].plot(kind='hist', bins=10)
plt.xlabel('Age')
plt.ylabel('Frequency')
plt.title('Distribution of Age')
plt.show()
Pandas هي
أداة قوية لتحليل البيانات وتنظيمها في Python،
وتتيح للمستخدمين العديد من الوظائف لتسهيل العمليات اليومية مثل قراءة وكتابة
البيانات، والوصول إليها وتنقيحها، والتحليل الاسترجاعي والتجميع، والتصور.
-:Matplotlib
هي مكتبة رسوم بيانية قوية في Python تسمح لك بإنشاء مجموعة متنوعة من التصورات البيانية بشكل بسيط وفعّال. إليك نظرة عامة عن Matplotlib مع أمثلة:
1. رسم
البيانات البسيطة: يمكنك
استخدام Matplotlib لرسم
البيانات البسيطة مثل الخطوط والنقاط.
import matplotlib.pyplot as plt
# بيانات السلسلة
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
# رسم البيانات
plt.plot(x, y)
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Simple Line Plot')
plt.show()
2. رسم البيانات المتعددة: يمكنك رسم البيانات المتعددة مثل الخطوط والنقاط على نفس الرسم البياني.
# بيانات السلسلة
x = [1, 2, 3, 4, 5]
y1 = [2, 4, 6, 8, 10]
y2 = [1, 3, 5, 7, 9]
# رسم البيانات المتعددة
plt.plot(x, y1, label='Line 1')
plt.plot(x, y2, label='Line 2')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Multiple Line Plot')
plt.legend()
plt.show()
3. الرسم البياني للبيانات ثلاثية الأبعاد: يمكنك استخدام Matplotlib لرسم البيانات ثلاثية الأبعاد.
# بيانات السلسلة
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
z = [5, 4, 3, 2, 1]
# رسم البيانات ثلاثية الأبعاد
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(x, y, z)
ax.set_xlabel('X-axis')
ax.set_ylabel('Y-axis')
ax.set_zlabel('Z-axis')
plt.title('3D Scatter Plot')
plt.show()
4. الرسم البياني للبيانات التصنيفية: يمكنك استخدام Matplotlib لرسم البيانات التصنيفية مثل العموديات.
# بيانات السلسلة
categories = ['A', 'B', 'C', 'D']
values = [20, 35, 30, 25]
# رسم البيانات التصنيفية
plt.bar(categories, values)
plt.xlabel('Categories')
plt.ylabel('Values')
plt.title('Bar Chart')
plt.show()
5. التصورات المتقدمة: يمكنك إنشاء تصورات متقدمة مثل الهيستوغرامات والرسوم البيانية الشريطية والرسوم الدائرية باستخدام Matplotlib.
# بيانات السلسلة
data = [1, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 6, 6, 7]
# رسم الهيستوغرام
plt.hist(data, bins=7)
plt.xlabel('Values')
plt.ylabel('Frequency')
plt.title('Histogram')
plt.show()
Matplotlib توفر واجهة سهلة الاستخدام لرسم مجموعة
متنوعة من التصورات البيانية. من خلال استخدام هذه الأمثلة، يمكنك البدء في إنشاء
تصورات بيانية متعددة وتخصيصها حسب احتياجاتك.
#برمجة #ذكاء_اصطناعي #تكنولوجيا #تعلم_آلي #تعلم_عميق #برمجة_الذكاء_الاصطناعي #تطوير #أخبار_التكنولوجيا #تطبيقات_ذكاء_اصطناعي #تطوير_البرمجيات #تطبيقات_ذكاء_اصطناعي #AI_Logical_Programming