آنچه از استفاده از ChatGPT برای علم داده آموختم - KDnuggets

آنچه از استفاده از ChatGPT برای علم داده آموختم - KDnuggets

گره منبع: 3093078

آنچه از استفاده از ChatGPT برای علم داده آموختم
تصویر توسط نویسنده
 

تنها یک درس از استفاده از ChatGPT آموختم. این به طرز شگفت انگیزی در علم داده مفید است، اما باید همه چیزهایی را که خروجی آن به دست می‌آید، موشکافی کنید. برای برخی از کارها عالی است و می تواند آنها را خیلی سریع و دقیق انجام دهد. برای برخی از کارهای دیگر، به اندازه کافی خوب است، و باید چندین بار آن را درخواست کنید. و یک کار وجود دارد که متوجه شدم ChatGPT کاملاً در آن بد است.

می توانید مجموعه داده خود را به پیام ChatGPT پیوست کنید و با ارائه چندین دستورالعمل ساده، ChatGPT می تواند داده ها را برای شما کاوش کند.

به عنوان مثال، من می توانم یک مجموعه داده را از آن بگیرم این پروژه داده. دستوراتی که دادم اینه:

«از داده های پیوست برای انجام یک تحلیل آماری توصیفی استفاده کنید. شامل موارد زیر است:

  • خلاصه آمارهای اولیه (میانگین، میانه، انحراف معیار، و غیره).
  • ارزش‌های گمشده را شناسایی کنید و راهبردهایی برای مدیریت آنها پیشنهاد کنید.»

خلاصه ای را که به این شکل است برمی گرداند. برای هر متغیر همان محاسبه را انجام می دهد.

سن:

  • میانگین: 28.79 سال
  • انحراف استاندارد: 6.94 سال
  • محدوده سنی: 18 تا 50 سال

همچنین هیچ مقدار گمشده ای را در مجموعه داده شناسایی نکرد.

اگر برای این محاسبات نیز به کد پایتون نیاز دارید، می توانید از آن بخواهید که آنها را بنویسد.

برای بارگذاری مجموعه داده، از این کد استفاده کنید.

aerofit_data = pd.read_csv(file_path)

برای آمار اولیه، این یکی را می دهد.

basic_stats = aerofit_data.describe()

و با این کد می توانید مقادیر از دست رفته را بررسی کنید.

missing_values = aerofit_data.isnull().sum()

علاوه بر این، می‌توانم از ChatGPT بخواهم که توزیع متغیرهای کلیدی را تجسم کند و نقاط پرت و ناهنجاری بالقوه را شناسایی کند.

هیستوگرام و نمودارهای جعبه ای برای متغیرهای کلیدی ایجاد می کند: سن، درآمد و مایل. این نقاط دورافتاده احتمالی را در توزیع درآمد و مایل شناسایی کرد.

 

آنچه از استفاده از ChatGPT برای علم داده آموختم
ایجاد شده توسط نویسنده/ChatGPT
 
آنچه از استفاده از ChatGPT برای علم داده آموختم
ایجاد شده توسط نویسنده/ChatGPT
 

همچنین تجسم ها را تفسیر می کند. بنابراین، متوجه می شود که توزیع درآمد به سمت راست است، که نشان می دهد اکثر مشتریان درآمدی در انتهای طیف دارند و مشتریان کمتری درآمدهای قابل توجهی بالاتری کسب می کنند. نمودار جعبه نشان می دهد که برخی از نقاط پرت در انتهای بالاتر وجود دارد.

 

آنچه از استفاده از ChatGPT برای علم داده آموختم
ایجاد شده توسط نویسنده/ChatGPT
 
آنچه از استفاده از ChatGPT برای علم داده آموختم
ایجاد شده توسط نویسنده/ChatGPT
 

همین تعبیر برای توزیع مایل نیز قابل اعمال است: دارای انحراف راست و نقاط پرت در انتهای بالاتر.

با توجه به ماهیت داده‌ها، نشان می‌دهد که این مقادیر پرت لزوماً خطا نیستند، بلکه نشان‌دهنده یک بخش مشتری خاص هستند. با توجه به توزیع‌های اریب، تبدیل‌هایی را پیشنهاد می‌کند (مثلاً تبدیل log) برای نرمال کردن داده‌ها.

البته می توانید از آن بخواهید که برای این تجسم ها یک کد پایتون بنویسد.

من می توانم از همان داده استفاده کنم و از ChatGPT بپرسم که آیا مناسب است یا خیر رگرسیون لجستیک. و اگر نه، باید چه کار کنم تا آن را تغییر دهم تا مناسب باشد؟

پاسخ داد که داده های من در درجه اول برای تجزیه و تحلیل توصیفی و استنباطی داده های پیوسته مناسب است.

اینها راه های پیشنهادی برای تبدیل داده ها برای رگرسیون لجستیک هستند.

ایجاد یک نتیجه باینری: با دسته‌بندی مشتریان به‌عنوان «مصرف زیاد» یا «مصرف کم بر اساس تقسیم متوسط ​​روی متغیر Usage، یک نتیجه باینری ایجاد کنید. همچنین، نتیجه باینری می تواند «خرید تردمیل» در مقابل «عدم خرید تردمیل» باشد.

چند خطی بودن را بررسی کنید: استفاده ماتریس همبستگی or ضریب تورم واریانس (VIF) برای بررسی چند خطی بودن اگر چند خطی وجود داشته باشد، متغیرهای همبسته را می توان حذف یا ترکیب کرد.

مقیاس بندی ویژگی: در حالی که مقیاس بندی ویژگی برای برازش مدل برای رگرسیون لجستیک ضروری نیست، می تواند برای همگرایی. این مورد به ویژه برای ویژگی هایی با مقیاس های بسیار متفاوت است.

مقابله با غیر خطی بودن: دگرگونی هایی مانند ورود به سیستم or ریشه دوم، می تواند برای متغیرهایی استفاده شود که فرض خطی بودن را برآورده نمی کنند.

اندازهی نمونه: با توجه به تعداد متغیرهای پیش بینی، مجموعه داده باید به اندازه کافی بزرگ باشد.

پیش پردازش داده ها: رسیدگی به موارد پرت و متغیرهای طبقه بندی شده (توسط رمزگذاری تک داغ یا رمزگذاری برچسب) پیشنهاد می شود. علاوه بر این، مدیریت مقادیر از دست رفته را پیشنهاد می‌کند، اما این در مورد داده‌های من صدق نمی‌کند، زیرا هیچ مقدار گمشده‌ای وجود ندارد.

ChatGPT در واقع می تواند در هر مرحله از پروژه علم داده مفید باشد. می توانید از آن بخواهید که یک کد خراش دادن وب بنویسد. می توانید به آن دستور دهید داده های خود را برای الگوریتم های یادگیری ماشین کاوش و آماده کند. همچنین می‌تواند کدی برای انتخاب الگوریتم مناسب، تقسیم داده‌ها، تست A/B و الگوریتم‌های افزایش عملکرد به شما بدهد. در نهایت، می‌توانید از ChatGPT نیز بخواهید که برای شما کدی برای استقرار مدل بنویسد.

در حالی که ChatGPT می تواند همه این کارها را انجام دهد، کاملاً ممکن است که بلافاصله کدی دریافت نکنید که دقیقاً همان کاری را که می خواهید انجام دهد. بنابراین، باید درک کنید که می خواهید به چه چیزی برسید و کد را بررسی کنید. شانس این است که مجبور شوید ChatGPT را برای اصلاح کدها بخواهید و دستورالعمل های بیشتری در مورد آنچه باید تغییر دهید ارائه دهید.

ChatGPT می تواند به کاربرانی که هنوز در حال یادگیری زبان های کدنویسی جدید هستند کمک کند. تصور کنید که شما یک استاد SQL هستید و هیچ مشکلی برای حل آن ندارید این سوال مصاحبه. با این حال، شما می خواهید پایتون را به مهارت های خود اضافه کنید. ChatGPT می تواند در این زمینه به شما کمک کند. می توانید کد SQL را کپی کنید و از ChatGPT بخواهید که آن را به پایتون تبدیل کند.

بنابراین، کد 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 کد پایتون را بر اساس کد 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، پلتفرمی است که به دانشمندان داده کمک می کند تا برای مصاحبه های خود با سؤالات مصاحبه واقعی از شرکت های برتر آماده شوند. با او ارتباط برقرار کنید توییتر: StrataScratch or لینک.

تمبر زمان:

بیشتر از kdnuggets