ما تعلمته من استخدام ChatGPT لعلوم البيانات - KDnuggets

ما تعلمته من استخدام ChatGPT لعلوم البيانات – KDnuggets

عقدة المصدر: 3093078

ما تعلمته من استخدام ChatGPT لعلوم البيانات
صورة المؤلف
 

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

يمكنك إرفاق مجموعة البيانات الخاصة بك برسالة ChatGPT، ومن خلال إعطاء عدة تعليمات بسيطة، يمكن لـ ChatGPT استكشاف البيانات نيابةً عنك.

على سبيل المثال، يمكنني الحصول على مجموعة بيانات من مشروع البيانات هذا. التعليمات التي أعطيتها هي:

"استخدام البيانات المرفقة لإجراء تحليل إحصائي وصفي. قم بتضمين ما يلي:

  • تلخيص الإحصائيات الأساسية (المتوسط، الوسيط، الانحراف المعياري، إلخ).
  • تحديد القيم المفقودة واقتراح استراتيجيات للتعامل معها.

تقوم بإرجاع الملخص الذي يبدو مثل هذا. يقوم بنفس الحساب لكل متغير.

العمر:

  • يعني: 28.79 سنة
  • الانحراف المعياري: 6.94 سنة
  • المدى: من 18 إلى 50 سنة

كما حددت أيضًا عدم وجود قيم مفقودة في مجموعة البيانات.

إذا كنت بحاجة أيضًا إلى كود Python لهذه الحسابات، فيمكنك مطالبته بكتابتها.

لتحميل مجموعة البيانات، استخدم هذا الرمز.

aerofit_data = pd.read_csv(file_path)

بالنسبة للإحصاءات الأساسية، فهو يعطي هذا.

basic_stats = aerofit_data.describe()

ويمكنك التحقق من القيم المفقودة باستخدام هذا الرمز.

missing_values = aerofit_data.isnull().sum()

علاوة على ذلك، يمكنني أن أطلب من ChatGPT تصور توزيع المتغيرات الرئيسية واكتشاف القيم المتطرفة والشذوذات المحتملة.

يقوم بإنشاء رسوم بيانية ومخططات مربعة للمتغيرات الرئيسية: العمر والدخل والأميال. لقد اكتشف القيم المتطرفة المحتملة في توزيع الدخل والأميال.

 

ما تعلمته من استخدام ChatGPT لعلوم البيانات
تم إنشاؤها بواسطة المؤلف/ChatGPT
 
ما تعلمته من استخدام ChatGPT لعلوم البيانات
تم إنشاؤها بواسطة المؤلف/ChatGPT
 

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

 

ما تعلمته من استخدام ChatGPT لعلوم البيانات
تم إنشاؤها بواسطة المؤلف/ChatGPT
 
ما تعلمته من استخدام ChatGPT لعلوم البيانات
تم إنشاؤها بواسطة المؤلف/ChatGPT
 

وينطبق نفس التفسير على توزيع الأميال: منحرف إلى اليمين والقيم المتطرفة في الطرف الأعلى.

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

بالطبع، يمكنك أيضًا أن تطلب منه كتابة كود بايثون لهذه المرئيات.

يمكنني استخدام نفس البيانات وأسأل ChatGPT عما إذا كان مناسبًا لها الانحدار اللوجستي. وإذا لم يكن كذلك، ماذا علي أن أفعل لتحويله إلى أن يكون مناسبا؟

أجاب بأن بياناتي مناسبة في المقام الأول للتحليل الوصفي والاستنتاجي للبيانات المستمرة.

هذه هي الطرق المقترحة لتحويل البيانات للانحدار اللوجستي.

إنشاء نتيجة ثنائية: أنشئ نتيجة ثنائية من خلال تصنيف العملاء على أنهم "استخدام مرتفع" أو "استخدام منخفض" استنادًا إلى تقسيم متوسط ​​لمتغير الاستخدام. أيضًا، يمكن أن تكون النتيجة الثنائية "شراء جهاز المشي" مقابل "عدم شراء جهاز المشي".

التحقق من وجود تعدد الخطوط: إستخدم مصفوفة الارتباط or عامل تضخم الفروق (VIF) للتحقق من وجود تعدد الخطوط. إذا كان هناك علاقة خطية متعددة، فيمكن إزالة المتغيرات المرتبطة أو دمجها.

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

معالجة عدم الخطية: التحولات مثل سجل or الجذر التربيعي، يمكن استخدامه للمتغيرات التي لا تفي بافتراض الخطية.

حجم العينة: يجب أن تكون مجموعة البيانات كبيرة بما يكفي بالنظر إلى عدد متغيرات التوقع.

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

يمكن أن يكون ChatGPT مفيدًا في كل مرحلة من مراحل مشروع علم البيانات. يمكنك مطالبته بكتابة رمز تجريف الويب. يمكنك إرشاده لاستكشاف بياناتك وإعدادها لخوارزميات التعلم الآلي. يمكن أن يوفر لك أيضًا رمزًا لاختيار الخوارزمية الصحيحة وتقسيم مجموعة البيانات واختبار A/B وخوارزميات تعزيز الأداء. أخيرًا، يمكنك أيضًا أن تطلب من ChatGPT أن يكتب لك رمزًا لنشر النموذج.

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

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

لذلك، رمز SQL هو هذا.

SELECT 
  company, 
  profit 
FROM 
  (
    SELECT 
      *, 
      rank() OVER (
        ORDER BY 
          profit DESC
      ) as rank 
    FROM 
      (
        SELECT 
          company, 
          sum(profits) AS profit 
        FROM 
          forbes_global_2010_2014 
        GROUP BY 
          company
      ) sq
  ) sq2 
WHERE 
  rank = 3;

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

import pandas as pd

# Assuming 'forbes_global_2010_2014' is a pandas DataFrame with columns 'company' and 'profits'
# Since we don't have the actual data, this code assumes that the DataFrame is already loaded

# Step 1: Group by company and sum the profits
company_profits_sum = forbes_global_2010_2014.groupby('company')['profits'].sum().reset_index()

# Step 2: Rank the companies by profit in descending order
company_profits_sum['rank'] = company_profits_sum['profits'].rank(ascending=False, method='max')

# Step 3: Filter the top 3 companies
top_companies = company_profits_sum[company_profits_sum['rank'] = 3]

# Final selection of columns
result = top_companies[['company', 'profits']].sort_values('profits', ascending=False)

result  # This will display the top 3 companies by profit

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

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

الق نظرة على هذا. طلبت منه حل هذه المشكلة: "لنفترض أنك رميت حجر نرد ذو ستة جوانب 10 مرات. ما هو احتمال ظهور اثنتين من 1، وثلاثة 2، وواحدة 3، وصفر 4، وثلاثة 5، وواحدة 6؟

ويحسب الاحتمال بهذه الطريقة.

 

ما تعلمته من استخدام ChatGPT لعلوم البيانات
 

إنه يعبث عند حساب العوامل. ويفعل ذلك بأناقة! كلام خاطئ تماما 2! = 12. إنه ليس كذلك، إنه 2. كيف يمكنك أن تفسد عملية حسابية بسيطة مثل 2×1 = 2؟ هذا أمر مثير للضحك حقا!

والأكثر تسلية هو أنه مرة واحدة، 3! = 36، والمرة الثانية 3! = 6. يُنسب إليه الفضل، إذ كان صحيحًا مرة واحدة على الأقل.

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

طلبت منه مرة أخرى تصحيح الحساب، وأخيرًا أعاد النتيجة الصحيحة: 0.0008336. المرة الثالثة سحر!

من المسلم به أن هذه الأخطاء ارتكبت بواسطة ChatGPT 3.5. لقد طرحت نفس السؤال على ChatGPT 4، وتوصلت إلى الحساب الصحيح في المحاولة الأولى. يمكنك أيضًا استخدام بعض المكونات الإضافية الرياضية للبقاء في الجانب الآمن.

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

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

نيت روزيدي هو عالم بيانات وفي استراتيجية المنتج. وهو أيضًا أستاذ مساعد يقوم بتدريس التحليلات ، وهو مؤسس ستراتا سكراتش، وهي منصة تساعد علماء البيانات على الاستعداد لمقابلاتهم مع أسئلة مقابلة حقيقية من الشركات الكبرى. تواصل معه تويتر: StrataScratch or لينكدين:.

الطابع الزمني:

اكثر من KD nuggets