مبادئ وتقنيات علم البيانات

ملحق: المكاتب المستخدمة في الكتاب ودوالها

فهرس الفصل:


مقدمة

هذا الملحق يحتوي على جداول لدوال المكتبات المستخدمة في هذا الكتاب pandas، seaborn، matplotlib و scikit-learn. هدف هذه الجداول أن تكون ملخص ومرجع مفيد للدوال الأكثر استخداماً في هذا الكتاب.

لكل مكتبة، قمنا بإضافة الدالة، الفصل الذي استخدمت في الدالة أول مرة، وشرح بسيط عن طريقة عملها.

Pandas

الدالة الفصل الوصف
pd.DataFrame(data) البيانات المجدولة ومكتبة بانداز إنشاء DataFrame من مصفوفة أو قاموس ثنائي الأبعاد data
pd.read_csv(filepath) البيانات المجدولة ومكتبة بانداز قراءة ملف من النوع CSV في المسار filepath كـ DataFrame
pd.DataFrame.head(n=5)
pd.Series.head(n=5)
البيانات المجدولة ومكتبة بانداز إظهار أول n أسطر في مصفوفة أحادية البعد أو DataFrame
pd.DataFrame.index
pd.DataFrame.columns
البيانات المجدولة ومكتبة بانداز إظهار الأرقام التسلسلية للـDataFrame و أسماء الأعمدة
pd.DataFrame.describe()
pd.Series.describe()
التحليل الاستكشافي للبيانات عرض معلومات إحصائية عن مصفوفة أحادية البعد أو الـDataFrame
pd.Series.unique() التحليل الاستكشافي للبيانات عرض القيم الفريدة (الغير مكررة) في مصفوفة أحادية البعد
pd.Series.value_counts() التحليل الاستكشافي للبيانات عرض عدد مرات تكرار كل قيمة فريدة (غير مكررة) تظهر في المصفوفة أحادية البعد
df[col] البيانات المجدولة ومكتبة بانداز من الـDataFrame df، أظهر العامود col كمصفوفة أحادية البعد
df[[col]] البيانات المجدولة ومكتبة بانداز من الـDataFrame df، أظهر العامود col كـDataFrame
df.loc[row, col] البيانات المجدولة ومكتبة بانداز من الـDataFrame df، أظهر لنا السطر ذو الاسم row واسم عموده col؛ يمكن تبديل row بمصفوفة أحادية البعد بقيم منطقية (True/False)
df.iloc[row, col] البيانات المجدولة ومكتبة بانداز من الـDataFrame df، أظهر لنا السطر ذو الرقم التسلسلي row واسم عموده col؛ يمكن تبديل row بمصفوفة أحادية البعد بقيم منطقية (True/False)
pd.DataFrame.isnull()
pd.Series.isnull()
تنظيف البيانات إظهار القيم المفقودة في مصفوفة أحادية البعد أو DataFrame
pd.DataFrame.fillna(value)
pd.Series.fillna(value)
تنظيف البيانات تعبئة القيم المفقودة في المصفوفة أحادية البعد أو الـDataFrame بالقيمة في المتغير value
pd.DataFrame.dropna(axis)
pd.Series.dropna()
تنظيف البيانات حذف الأسطر أو الأعمدة
pd.DataFrame.drop(labels, axis) تنظيف البيانات حذف الأسطر أو الأعمدة التي اسمها labels من الـDataFrame من المحور axis
pd.DataFrame.rename() تنظيف البيانات إعادة تسمية الأسطر أو الأعمدة في DataFrame
pd.DataFrame.replace(to_replace, value) تنظيف البيانات تبديل القيمة to_replace بالقيمة value في الـDataFrame
pd.DataFrame.reset_index(drop=False) تنظيف البيانات إعادة تعيين الأرقام التسلسلية في الـDataFrame؛ تلقائيًا، يتم حفظ الأرقام السابقة في عمود جديد إلا إذا تم وضع المتغير drop=True
pd.DataFrame.sort_values(by, ascending=True) البيانات المجدولة ومكتبة بانداز ترتيب الـDataFrame بناءًا على العمود في المتغير by، الترتيب التلقائي تصاعدي
pd.DataFrame.groupby(by) البيانات المجدولة ومكتبة بانداز إنشاء كائن GroupBy يحتوي على DataFrame مُجَمعة بناءًا على العامود في المتغير by
GroupBy.<function> البيانات المجدولة ومكتبة بانداز تطبيق الدالة <function> لكل مجموعة في الكائن GroupBy ؛ مثال: mean()، count()
pd.Series.<function> البيانات المجدولة ومكتبة بانداز تطبيق الدالة <function> على مصفوفة أرقام أحادية البعد؛ مثال: mean()، max(), median()
pd.Series.str.<function> البيانات المجدولة ومكتبة بانداز تطبيق الدالة <function> على مصفوفة نصية أحادية البعد؛ مثال: len()، lower(), split()
pd.Series.dt.<property> البيانات المجدولة ومكتبة بانداز استخراج القيمة <property> من مصفوفة تاريخ ووقت أحادية البعد؛ مثال: year، month, date
pd.get_dummies(columns, drop_first=False) تحويل القيم الاسمية في العمود columns لقيم وهمية Dummy؛ الوضع التلقائي بإبقاء جميع القيم إلا إذا تم تحديد المتغير drop_first=True
pd.merge(left, right, how, on) التحليل الاستكشافي للبيانات / قواعد البيانات العلائقية و SQL جمع اثنين DataFrame في المتغيرات left و right معاً باستخدام العمود في المتغير on؛ بناءًا على طريقة الجمع في المتغير how
pd.read_sql(sql, con) قواعد البيانات العلائقية و SQL قراءة أمر SQL في المتغير sql في قاعدة البيانات المتصل بها في con، تعود النتيجة كـDataFrame

Seaborn

الدالة الفصل الوصف
sns.lmplot(x, y, data, fit_reg=True) تصوير البيانات إنشاء مخطط تشتت لـ x و y من الـDataFrame data، وبشكل تلقائي يظهر لنا خط انحدار المربعات الصغرى
sns.distplot(a, kde=True) تصوير البيانات إنشاء مخطط المدرج التكراري لـ a، وبشكل تلقائي يظهر لنا تقدير للكثافة
sns.barplot(x, y, hue=None, data, ci=95) تصوير البيانات إنشاء مخطط شريطي لـ x و y من الـDataFrame data، يتم تحليلها اختيارياً بالخيار في المتغير hue، وبشكل تلقائي رسم خط ثقة بنسبة 95% (والذي يمكن عدم رسمه بتحديد الخيار ci=None)
sns.countplot(x, hue=None, data) تصوير البيانات إنشاء مخطط شريطي لمجموع القيم الفريدة في المتغير x في الـDataFrame data، يتم تحليلها اختيارياً بناءًا على المتغير النوعي hue
sns.boxplot(x=None, y, data) تصوير البيانات إنشاء مخطط صندوق لـ y، يتم تحليله اختيارياً بناءًا على المتغير النوعي x، من الـDataFrame data
sns.kdeplot(x, y=None) تصوير البيانات إذا كانت y=None، أنشأ مخطط كثافة بمتغير واحد x؛ إذا تم تحديد y، أنشأ مخطط كثافة ثنائي
sns.jointplot(x, y, data) تصوير البيانات جمع مخطط التشتت الثنائي المكون من x و y من الـDataFrame data، مع مخطط كثافة ذو المتغير الواحد يتم رسم خط كل متغير في المحاور
sns.violinplot(x=None, y, data) تصوير البيانات جمع وأنشاء مخطط الصندوق و مخطط كثافة للمتغير y، يتم تحليله اختيارياً بناءًا على المتغير النوعي x، من الـDataFrame data

matplotlib

أنواع الرسومات

الدالة الفصل الوصف
plt.scatter(x, y) تصوير البيانات إنشاء مخطط تشتت لـ x و y
plt.plot(x, y) تصوير البيانات إنشاء مخطط خطي لـ x و y
plt.hist(x, bins=None) تصوير البيانات إنشاء مخطط المدرج التكراري لـ x. المتغير bins يمكن أن يكون رقم أو أرقام تسلسلية
plt.bar(x, height) تصوير البيانات إنشاء مخطط شريطي. x تحدد تنسيق الأشرطة، و height تحدد طول الأشرطة
plt.axvline(x=0) تصوير البيانات إنشاء خط عمودي على القيمة المحددة في المتغير x
plt.axhline(y=0) تصوير البيانات إنشاء خط أفقي على القيمة المحددة في المتغير x

إضافة الرسومات

الدالة الفصل الوصف
%matplotlib inline تصوير البيانات السماح بالرسوم البيانية أن تظهر في نفس الصفحة بدلاً من صفحة منفصلة
plt.figure(figsize=(3, 5)) تصوير البيانات إنشاء رسم بياني بعرض 3 وطول 5 إنش
plt.xlim(xmin, xmax) تصوير البيانات تحديد حد للمحور x-limits
plt.xlabel(label) تصوير البيانات تحديد عنوان للمحور
plt.title(label) تصوير البيانات تحديد عنوان للمحاور / الرسم البياني
plt.legend(x, height) تصوير البيانات إضافة عنوان تفصيلي / تفسيري للرسم البياني
fig, ax = plt.subplots() تصوير البيانات إنشاء رسم بياني ومجموعة من الرسوم البيانية داخلة
plt.show() تصوير البيانات عرض الرسم البياني

scikit-learn

النماذج واختيارها

الإستدعاء الدالة الفصل الوصف
sklearn.model_selection train_test_split(*arrays, test_size=0.2) النماذج والتوقعات ينتج عنها قسمين من المصفوفة المرسولة في الدالة، نصف فيه 0.8 من المصفوفة والنصف الآخر 0.2
sklearn.linear_model LinearRegression() النماذج والتوقعات إنشاء نموذج الانحدار الخطي للمربعات الصغرى
sklearn.linear_model LassoCV() النماذج والتوقعات إنشاء نموذج خطي Lasso (الضبط L1) يختار أفضل المتغيرات باستخدام التحقق المتقاطع
sklearn.linear_model RidgeCV() النماذج والتوقعات إنشاء نموذج خطي Ridge (الضبط L2) يختار أفضل المتغيرات باستخدام التحقق المتقاطع
sklearn.linear_model ElasticNetCV() النماذج والتوقعات إنشاء نموذج خطي ElasticNet (الضبط L1 و L2) يختار أفضل المتغيرات باستخدام التحقق المتقاطع
sklearn.linear_model LogisticRegression() النماذج والتوقعات إنشاء نموذج انحدار لوجستي
sklearn.linear_model LogisticRegressionCV() النماذج والتوقعات إنشاء نموذج انحدار لوجستي يختار أفضل المتغيرات باستخدام التحقق المتقاطع

العمل مع النماذج

الدالة الفصل الوصف
model.fit(X, y) النماذج والتوقعات ضبط النموذج باستخدام الخصائص X والنتائج y
model.predict(X) النماذج والتوقعات إيجاد التوقعات لـ X باستخدام النموذج model
model.score(X, y) النماذج والتوقعات إيجاد دقة النتائج للتوقعات القيم X مقارنة بالنتائج الصحيحة في y





إنتهى