un

guest
1 / ?
back to lessons

ما هو علم البيانات؟

العلوم البيانية ليست مجرد تعلم الآلة. ليست مجرد إحصاء. ليست مجرد برمجة.

العلوم البيانية هي علم استخراج المعرفة المفيدة من البيانات. معظم هذا العمل ليس جذابًا: تنظيف جداول البيانات المليئة بالخطأ، سؤال الأسئلة المناسبة، وتقديم النتائج للمستخدمين الذين لا يهتمون بأكواد البرمجة.

خطط علم البيانات

تظهر خطط علم البيانات العادية مثل هذا:

1. جمع: جمع البيانات الخام من قواعد البيانات وواجهات برمجة التطبيقات وجدولات البيانات CSV أو استرجاع الويب

2. تنظيف: التعامل مع القيم المفقودة، تصحيح الأنواع، إزالة التكرارات

3. استكشاف: رؤية توزيعات البيانات، اكتشاف الأنماط، سؤال الأسئلة

4. تصميم الميزات: إنشاء ميزات جديدة تساعد النماذج على التعلم

5. نمذجة: تدريب الخوارزميات، تقييم الأداء، التكرار

6. تواصل: تقديم النتائج للمستثمرين الذين يتخذون القرارات

إذا قمت يومًا باستخدام جداول التجميع الإحصائي في إكسل أو التنسيق الشرطي أو بحث VLOOKUP، فقد قمت بالخطوات 1-3 بالفعل. تتعلم هذه الدرس التواصل بين هذا التجربة إلى الوظيفة Python-based المستخدمة في الصناعة.

التمرين الساخن

خبرتك مع البيانات

لقد عمل الجميع مع البيانات في بعض الأشكال: جدول بيانات الميزانية، تتبع الدرجات، تطبيق اللياقة البدنية، حتى قائمة موسيقية مع عد مرات الاستماع.

وصف وقت عملك مع البيانات في جدول بيانات أو تطبيق. ما الذي حاولت تحديده، وهل أعطت البيانات لك الإجابة؟

الخردة إلى الخردة

لماذا تنظيف البيانات مهم

يقضي علماء البيانات 60-80% من وقتهم في تنظيف البيانات. هذا ليس زيفًا: هو إيجاد متمثلة في استطلاعات الصناعة.

السبب بسيط: الخردة إلى الخردة. إذا كانت بياناتك بها أخطاء أو قيم مفقودة أو تنسيقات غير متسقة، ستكون كل التحليلات المبنية على هذا الخلل خاطئة. نموذج مثالي مدرب على بيانات غير نظيفة ينتج إجابات معقولة خاطئة.


المشاكل الشائعة للبيانات

- Missing values: خلايا فارغة. هل لم يتم جمع البيانات، أو هل القيمة صفرية بالفعل؟ هذه حالات مختلفة تتطلب معالجة مختلفة.

- الأنواع الخاطئة من البيانات: عمود من الأعداد محفوظة كنص، التواريخ بتنسيقات غير متسقة (01/02/2024: هل ذلك يناير 2 أو فبراير 1؟)

- الانحرافات: عمود الأجور يحتوي على إدخال واحد بقيمة 1,000,000,000 دولار. هل ذلك حقيقي، أو خطأ في الكتابة؟ في أي حالة، سيؤثر ذلك في المتوسطات.

- التكرارات: يظهر السجل نفسه مرتين بسبب الاندماج غير المثالي بين نظامين

- التحويل التصنيفي: عمود يقول 'نعم'، 'نعم'، 'N'، 'TRUE'، و '1'. جميعها تعني نفس الشيء، لكن جهاز الكمبيوتر الخاص بك لا يعرف ذلك.


في pandas ( المكتبة القياسية للبيانات في لغة بايثون)، يمكنك التعامل مع هذه المشاكل باستخدام وظائف مثل dropna()، fillna()، astype()، و drop_duplicates(). لكن الجزء الصعب ليس الكود: هو اتخاذ القرار حول ما يجب فعله مع كل مشكلة.

مشاكل البيانات الشائعة

تحرير القرارات

اتخاذ القرار حول ما يجب فعله

هنا سيناريو حقيقي. لديك مجموعة من 10,000 سجل عميل. عمود 'العمر' لديه 500 قيمة مفقودة.

خياراتك:

- إزالة السجلات: إزالة جميع السجلات 500. بسيط، لكنك تفقد 5% من البيانات. إذا كانت تلك 500 عميلًا تمتلكوا سمة مشتركة (ربما تجاهلوا حقل العمر بسبب الاهتمام بالخصوصية)، فإزالتها ستؤدي إلى التحيز.

- ملء القيم بالقيمة المتوسطة: استبدال الفواصل بالعمر المتوسط. سريع، لكنها تقلل بشكل مصطنع متغير عمود العمر.

- ملء القيم بالقيمة الوسطية: أفضل من المتوسط إذا كانت توزع العمر غير متجانس (عدد قليل جدًا من العملاء القدامى أو الشباب يؤثر على المتوسط)

- استخدام علمية: إنشاء عمود جديد يسمى 'العمر المفقود' (1 أو 0) وملء الأصل بالوسطية. الآن يمكن لنموذج التعلم ما إذا كان عدم وجود قيم مفيدة.

لا توجد إجابة عالمية صحيحة. يعتمد الاختيار على لماذا تم فقدان البيانات وما تخطط لفعله معها.

لديك مجموعة من أجر الموظفين. 200 من السجلات 5,000 لديها قيم مرجعية مفقودة. لاحظت أن معظم القيم المفقودة من سلاسل الأجور. هل ستضيف تلك السجلات، ستملأ بالقيمة المتوسطة، أو ستفعل شيئًا آخر؟ توضح الأسباب المنطقية.

طرح الأسئلة الصحيحة

تحليل البيانات الاستكشافي (EDA)

قبل بناء أي نموذج ، يجب أن تفهم بياناتك. EDA هو عملية تلخيص وتصوير وطرح الأسئلة حول مجموعة بيانات لمعرفة الأنماط والخوارق والروابط.


الأدوات الرئيسية

- هستوغرام: يظهر توزيع متغير واحد. هل هو مفرط الشكل مثل الصورة؟ مفرط التحول؟ ثنائي الأقصى؟ هستوغرام للأجور دائمًا مفرط التحول نحو اليمين لأن عدد قليل من الأشخاص يربحون أكثر بكثير من الأغلبية.

- خطوط العرض: تظهر العلاقة بين متغيرين. هل الأشخاص الأطول يزنون أكثر؟ هل وقت الدراسة الأكبر يرتبط بنoten الأعلى؟ يخبرك نمط (أو عدم وجود نمط) إذا كان هناك وجود لعلاقة.

- التوافق: رقم بين -1 و +1 يقيّم العلاقة الخطية. +1 يعني علاقة إيجابية مثالية ، -1 يعني علاقة سالبة مثالية ، 0 يعني عدم وجود علاقة خطية. لكن التوافق لا يعني التسبب: مبيعات الجليد والوفيات بسبب الغرق متوافقة لأن كليهما يزداد في الصيف.

- الاستدلالات الإحصائية: المتوسط ، الوسط ، الانحراف المعياري ، الأدنى ، الأقصى. في البانداس: df.describe() يعطيك كل هذه الأشياء في سطر واحد.


المهارة الحقيقية

الأدوات سهلة التعلم. الجزء الصعب هو طرح الأسئلة الصحيحة. سؤال سيء: "ماذا يقول البيانات؟" سؤال جيد: "هل يمتلك العملاء الذين اتصلوا بالدعم الفني خلال الأسبوع الأول معدلات استمرارية أعلى؟"

أدوات EDA

مخاطر التوافق

التوافق مقابل التسبب

هذا هو المفهوم الأكثر أهمية في القراءة البيانية. يمكن أن يكون هناك توافق قوي بين متغيرين بدون أن يسبب أحدهما الآخر.

أمثلة كلاسيكية:

- تتواجد المزيد من رجال الإطفاء في المدن الكبيرة. (لأن المدن الأكبر حجمًا لديها كليهما.)

- تتمتع الطلاب الذين تأكلو الفطور بأفضل الدرجات. (ربما يكون من الأغنياء أكثر عرضة لتوفير الفطور و دعم أكاديمي.)

- الدول التي تستهلك المزيد من الشوكولاته تفوز بميداليات نوبل أكثر. (كلاهما يتناسب مع ثراء الدولة الوطني.)

المتغير المخفي يسمى متغير التضارب: متغير ثالث يوجه كلا من المتغيرين التي تراهما.

التناسب مقابل السببية

وجدت شركة أن الموظفين الذين يستخدمون الحديقة الرياضية في المكتب لديهم 30% أقل يوم مرض. يريد الرئيس التنفيذي إلزام جميع الموظفين باستخدام الحديقة الرياضية. ما هو الخطأ في هذا التفكير؟ ما المتغيرات المتضادة المحتملة التي قد توضح التوافق؟

إنشاء متغيرات مفيدة

ما هو تطوير الميزات؟

الميزة هي متغير مدخل يستخدم نموذج التنبؤ. وتشمل تطوير الميزات فن إضافة ميزات جديدة من البيانات الخام لتعلم النماذج الأنماط التي لم تكنISIBLEA بشكل آخر.

تأتي البيانات الخام بشكل نادر في صيغة التي تحتاجها النماذج. فمثلاً إذا كان لديك ملف تحتوي على عمود 'تاريخ الميلاد'، فلا يمكن للنموذج القيام بشيء مع التواريخ الخام. لكن إذا قمت بإضافة ميزة 'العمر' من خلال هذا العمود، يمكن للنموذج الآن تعلم الأنماط المتعلقة بالعمر.


تقنيات شائعة

- التناسب: مقياس الأعداد إلى نطاق مشترك (0 إلى 1، أو mean=0 و standard deviation=1). بدون ذلك، سيؤدي الميزة المقاسة في الآلاف (الراتب) إلى إغفال الميزة المقاسة في الأرقام الأحادية (سنوات الخبرة).

- كود أحادي: تحويل المتغيرات الفئة إلى أعمدة بنية. إذا كان لديك عمود 'اللون' بقيم [أحمر، أزرق، أخضر]، فسيصبح لديك ثلاث أعمدة: 'color_red'، 'color_blue'، 'color_green'، كلها مع 0 أو 1.

- التصنيف: تحويل المتغير ongoing إلى فئات. العمر 0-17 يصبح 'minor'، 18-64 يصبح 'adult'، 65+ يصبح 'senior'. هذا يساعد عندما ليس هناك علاقة خطية.

- ميزات التفاعل: ضرب متغيرين. 'المساحة المربعة times عدد الحمامات' قد يكون أفضل من التنبؤ بالسعر المنزلي منفرداً.

- المعرفة المجال: أكثر التقنية قوة. إذا كان الطبيب يخلق ميزات لنموذج طبي، فإنه يعرف أي قيم المختبرات مهمة. ويعرف المبيعات أن 'days since last purchase' هو أكثر فائدة من 'purchase date'. لا يمكن أي خوارزمية أن تستبدله.

تكنيكات الهندسة الميكانيكية للمميزات

تمرين المميزات

تطبيق الهندسة الميكانيكية للمميزات

فكتر أنك تتمشى على بناء نموذج لتنبؤ بمن سيترهل حسابهم التابع للشركة التالية في الشهر القادم. لديك بيانات خام تتضمن:

- تاريخ إنشاء الحساب

- تاريخ آخر تسجيل دخول

- عدد الأفلام المشاهدة في الشهر الماضي

- قيمة الشحن شهرياً

- طلبات الدعم العائم

- الدولة

اقترح على الأقل ثلاثة مميزات جديدة من البيانات الخام المذكورة أعلاه. لكل منها، توضح ما الذي يلتقطه و لماذا قد يساعد في التنبؤ بالترحيل.

تقسيم بيانات التدريب/الاختبار

لماذا تقسم بياناتك

النصيحة الأكثر أهمية في النمذجة: لا تقوم بتقدير النموذج على نفس البيانات التي تدربت عليها.

إذا فعلت ذلك، يمكن للنموذج أن يتذكر الإجابات. سيحصل على درجة مائلة على بيانات التدريب ولكن يخفق على بيانات جديدة لم يرها من قبل. يسمى ذلك التكيف الزائد: تعلم النموذج تفاصيل البيانات الخاصة بك بدلاً من الأنماط الحقيقية.

الطريقة القياسية هي تقسيم البيانات:

- البيانات التدريبية (عادة 70-80%): يتعلم النموذج من هذا

- البيانات الاختبارية (عادة 20-30%): تظل محفوظة، ويستخدم فقط لتقدير النموذج النهائي

في scikit-learn: X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)


الخوارزميات الشائعة

- الترجيح الخطي: يرسم خط مستقيم يمر بمنتصف البيانات. بسيط، قابل للفهم، يعمل عندما يكون العلاقة تقريباً خطية. التنبؤ بعدد (السعر، درجة الحرارة، الدرجة).

- الخشبية: مخطط من أسئلة yes/no. سهل الفهم والشرح. عرضة للتكيف الزائد ما لم يتم تقليصها أو تحديدها في العمق.

- Random forests: العديد من الأشجار القصيرة التي تصوت معاً. أكثر دقة من شجرة واحدة، أقل عرضة للاعتماد الزائد، لكن أكثر صعوبة في التفسير.


الاعتماد الزائد مقابل عدم القدرة على التقاط المعلومات

- الاعتماد الزائد: يكون النموذج معقداً. يتعلم بيانات التدريب، بما في ذلك الضجيج. دقة عالية على بيانات التدريب، دقة منخفضة على بيانات الاختبار.

- عدم القدرة على التقاط المعلومات: يكون النموذج بسيطًا. لا يمكنه التقاط الأنماط الحقيقية. دقة منخفضة على كلا بيانات التدريب والاختبار.

الهدف هو النقطة المثالية بين الحالتين.

قسمة بيانات التدريب على بيانات الاختبار وترتيب التمثيل المتناقص-التشويش

متغيرات التقييم

كيف تعرف أن نموذجك جيد؟

دقة وحدها قد تكون مضللة. إذا كانت 95% من البريد غير إعلانية، فإن نموذج يقول دائمًا 'ليس إعلانًا' هو 95% دقيق: لكنه مفيد للغاية.

المتغيرات الرئيسية:

- دقة: نسبة التنبؤات الصحيحة. مفيد عندما يكون التوازن بين الفئات متوازنًا.

- الضبط الدقيق: من كل الأشياء التي حدد النموذج كإيجابي، كم كانت فعلياً? الضبط الدقيق العالي يعني عدد قليل من الأخطاء.

- التذكير: من جميع الإيجابيات الحقيقية، كم تمكن النموذج من ضبطها؟ التذكير العالي يعني عدد قليل من الحالات المنسية.

- متوسط هارمونيك بين الضبط الدقيق والتذكير: مفيد عندما تحتاج إلى توازن بينهما.

- RMSE (الخطأ المربع الجذرى): بالنسبة للتنبؤ بالأعداد. كم هي المسافة المتوسطة بين التنبؤات والحقائق؟

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

متغيرات التقييم وجدول الارتباك

تتخذ نموذجك الحالي قرارات بشأن المعاملات المصرفية غير القانونية. إن نسبة المعاملات المزعجة الحقيقية هي 0.1%. إذا حدد نموذجك كل معاملة كقانونية، ما هو دقتة؟ لماذا يكون دقة سيئة هنا، وما المتغير الذي ستستخدمه بدلاً من ذلك؟

مستشار البيانات مقابل عالم البيانات مقابل مهندس التعلم الآلي

ثلاث وظائف فريدة

لدي الحقل البياني ثلاث مسارات مهنية أساسية، ويتطلب كل منها مهارات مختلفة.


مستشار البيانات

- التركيز: الإجابة على الأسئلة التجارية باستخدام البيانات المتاحة

- الأدوات: SQL، Excel، Tableau، Python الأساسي أو R

- يوميًا: لوحات التحكم، التقارير، تحليل الاختبارات A/B، تقديمات الجهات المعنية

- مدخل المسار: غالبًا ما يكون الأكثر استجابة. يبدأ العديد من المحللين بدون درجة علوم الكمبيوتر.


عالم البيانات

- التركيز: بناء أنماط التنبؤ وتحديد الأنماط في البيانات المعقدة

- الأدوات: Python (pandas، scikit-learn، matplotlib)، الإحصاء، SQL، محركات جupyter

- يوميًا: تحليل EDA، هندسة الميزات، بناء النماذج، التجارب

- مدخل المسار: في العادة يتطلب خلفية إحصائية أو كمية. يمكن أن يكون دورات التدريب والتعلم الذاتي مقبولًا.


مهندس التعلم الآلي

- التركيز: نشر وزيادة نماذج التعلم الآلي في أنظمة الإنتاج

- الأدوات: Python، TensorFlow / PyTorch، Docker، منصات السحاب (AWS / GCP) ، APIs

- يوميًا: تتميز النماذج، البنية التحتية للخطوط، مراقبة نماذج الإنتاج

- مدخل المسار: عادةً ما يتطلب مهارات الهندسة البرمجية القوية بالإضافة إلى المعرفة بعلوم التعلم الآلي.


بناء ملف تعريف المهارات

يتعلق المديرين بالتوظيف بما يمكنك القيام به وليس فقط ما درسته. ملف تعريف مهارات 3-5 مشاريع جيدة على GitHub يهم أكثر من التراخيص. يجب أن تكون المشاريع جيدة تستخدم datasets الحقيقية (لا datasets اللعب) وتحتوي على وثائق واضحة وتظهر كامل المخطط: من البيانات العشوائية إلى الفهم الفعال.

مسارات المهنة في البيانات

خطواتك التالية

أين يذهب من هنا

أدوات العرض والخدمة مجانية ومجانية الوصول:

- pandas: المكتبة القياسية لبيثون لتعديل البيانات

- matplotlib / seaborn: مكتبات الرسم البياني

- scikit-learn: العمود الفقري للتعلم الآلي التقليدية

- Jupyter notebooks: بيئات الكود المتصلة حيث يمكنك خلط الكود والخروجي والملخصات

- Kaggle: datasets مجانية، منافسات، وجماعة من الممارسين

ابدأ بالدataset الحقيقي الواحد الذي يهمك. قم بتنزيله، وتحسينه، وتحديده، وحاول الإجابة على سؤال. ستتعلم من هذا المشروع الواحد أكثر مما يمكن أن يتعلم أي دورة.

بناءً على ما تعلمته في هذا الدرس، أي من الثلاث وظائف (مستشار البيانات، عالم البيانات، أو مهندس التعلم الآلي) يثير اهتمامك أكثر؟ ما هي خطوة عملية واحدة يمكنك اتخاذها هذا الأسبوع لبدء بناء مهارات تلك الوظيفة؟