สิ่งที่ได้เรียนรู้จากการใช้ ChatGPT สำหรับ Data Science - KDnuggets

สิ่งที่ฉันเรียนรู้จากการใช้ ChatGPT สำหรับ Data Science – KDnuggets

โหนดต้นทาง: 3093078

สิ่งที่ฉันเรียนรู้จากการใช้ ChatGPT สำหรับ Data Science
ภาพโดยผู้เขียน
 

มีบทเรียนเดียวที่ฉันได้เรียนรู้จากการใช้ 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 สำหรับ Data Science
สร้างโดยผู้แต่ง/ChatGPT
 
สิ่งที่ฉันเรียนรู้จากการใช้ ChatGPT สำหรับ Data Science
สร้างโดยผู้แต่ง/ChatGPT
 

นอกจากนี้ยังตีความการสร้างภาพข้อมูลด้วย ดังนั้นจึงสังเกตเห็นว่าการกระจายรายได้มีความเบ้ขวา ซึ่งบ่งชี้ว่าลูกค้าส่วนใหญ่มีรายได้ในระดับล่างสุดของสเปกตรัม และลูกค้าจำนวนน้อยรายที่ได้รับรายได้ที่สูงขึ้นอย่างมีนัยสำคัญ Boxplot แนะนำว่ามีค่าผิดปกติบางอย่างในส่วนที่สูงกว่า

 

สิ่งที่ฉันเรียนรู้จากการใช้ ChatGPT สำหรับ Data Science
สร้างโดยผู้แต่ง/ChatGPT
 
สิ่งที่ฉันเรียนรู้จากการใช้ ChatGPT สำหรับ Data Science
สร้างโดยผู้แต่ง/ChatGPT
 

การตีความเดียวกันนี้สามารถใช้ได้กับการกระจายไมล์: การเอียงขวาและค่าผิดปกติในส่วนที่สูงกว่า

เมื่อพิจารณาถึงลักษณะของข้อมูล พบว่าค่าผิดปกติเหล่านี้ไม่จำเป็นต้องเป็นข้อผิดพลาด แต่เป็นตัวแทนของกลุ่มลูกค้าที่เฉพาะเจาะจง เกี่ยวกับการแจกแจงที่บิดเบี้ยว จะแนะนำการแปลง (เช่น การแปลงบันทึก) เพื่อทำให้ข้อมูลเป็นมาตรฐาน

แน่นอน คุณยังสามารถขอให้เขียนโค้ด Python สำหรับการแสดงภาพเหล่านี้ได้

ฉันสามารถใช้ข้อมูลเดียวกันและถาม ChatGPT ได้ว่ามันเหมาะกับหรือไม่ การถดถอยโลจิสติก. แล้วถ้าไม่ต้องทำอย่างไรจึงจะเหมาะสม?

โดยตอบว่าข้อมูลของฉันเหมาะสมที่สุดสำหรับการวิเคราะห์เชิงพรรณนาและเชิงอนุมานของข้อมูลต่อเนื่อง

นี่เป็นวิธีที่แนะนำในการแปลงข้อมูลสำหรับการถดถอยโลจิสติก

สร้างผลลัพธ์ไบนารี: สร้างผลลัพธ์ไบนารี่โดยจัดหมวดหมู่ลูกค้าเป็น “การใช้งานสูง” หรือ “การใช้งานต่ำโดยพิจารณาจากการแบ่งค่ามัธยฐานของตัวแปรการใช้งาน นอกจากนี้ ผลลัพธ์ไบนารีอาจเป็น "การซื้อลู่วิ่ง" กับ "ไม่มีการซื้อลู่วิ่ง"

ตรวจสอบความเป็นหลายเส้นตรง: ใช้ เมทริกซ์สหสัมพันธ์ or ปัจจัยเงินเฟ้อแปรปรวน (VIF) เพื่อตรวจสอบความเป็นเส้นตรงหลายเส้น หากมี multicollinearity ตัวแปรที่สัมพันธ์กันสามารถลบออกหรือรวมเข้าด้วยกันได้

การปรับขนาดคุณสมบัติ: แม้ว่าการปรับขนาดคุณลักษณะสำหรับการปรับโมเดลให้เหมาะสมนั้นไม่จำเป็นสำหรับการถดถอยโลจิสติก แต่ก็สามารถเป็นประโยชน์ได้ การลู่เข้า. เป็นกรณีนี้โดยเฉพาะอย่างยิ่งสำหรับคุณสมบัติที่มีขนาดแตกต่างกันอย่างมาก

การแก้ปัญหาความไม่เป็นเชิงเส้น: การเปลี่ยนแปลงต่างๆ เช่น เข้าสู่ระบบ or รากที่สองสามารถใช้กับตัวแปรที่ไม่เป็นไปตามสมมติฐานความเป็นเส้นตรง

ขนาดตัวอย่าง: ชุดข้อมูลต้องมีขนาดใหญ่เพียงพอเมื่อพิจารณาจากจำนวนตัวแปรทำนาย

การประมวลผลข้อมูลล่วงหน้า: การจัดการค่าผิดปกติและตัวแปรเชิงหมวดหมู่ (โดย การเข้ารหัสแบบร้อนเดียวหรือการเข้ารหัสฉลาก) ได้รับการแนะนำ นอกจากนี้ ยังแนะนำการจัดการค่าที่หายไป แต่สิ่งนี้ใช้ไม่ได้กับข้อมูลของฉัน เนื่องจากไม่มีค่าที่ขาดหายไป

ChatGPT มีประโยชน์ในทุกขั้นตอนของโครงการวิทยาศาสตร์ข้อมูลจริงๆ คุณสามารถแจ้งให้เขียนโค้ดขูดเว็บได้ คุณสามารถสั่งให้สำรวจและเตรียมข้อมูลของคุณสำหรับอัลกอริทึมการเรียนรู้ของเครื่องได้ นอกจากนี้ยังสามารถให้รหัสสำหรับการเลือกอัลกอริทึมที่เหมาะสม การแยกชุดข้อมูล การทดสอบ A/B และอัลกอริธึมการเพิ่มประสิทธิภาพ สุดท้ายนี้ คุณยังสามารถขอให้ ChatGPT เขียนโค้ดสำหรับการปรับใช้โมเดลให้กับคุณได้

แม้ว่า ChatGPT จะสามารถทำทุกอย่างดังกล่าวได้ แต่ก็มีความเป็นไปได้ที่คุณจะไม่ได้รับโค้ดที่ตรงกับความต้องการในทันที ดังนั้นคุณต้องเข้าใจสิ่งที่คุณต้องการบรรลุและตรวจสอบโค้ด โอกาสที่คุณจะต้องแจ้งให้ ChatGPT แก้ไขโค้ดและให้คำแนะนำเพิ่มเติมเกี่ยวกับสิ่งที่ต้องเปลี่ยนแปลง

ChatGPT สามารถช่วยเหลือผู้ใช้ที่ยังเรียนรู้ภาษาการเขียนโค้ดใหม่ๆ ได้ ลองนึกภาพว่าคุณเป็นผู้เชี่ยวชาญด้าน SQL และคุณไม่มีปัญหาในการแก้ปัญหา คำถามสัมภาษณ์นี้. อย่างไรก็ตาม คุณต้องการเพิ่ม Python ให้กับทักษะของคุณ 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 วินาที XNUMX ครั้ง และ XNUMX วินาที XNUMX ครั้งเป็นเท่าใด”

มันคำนวณความน่าจะเป็นด้วยวิธีนี้

 

สิ่งที่ฉันเรียนรู้จากการใช้ ChatGPT สำหรับ Data Science
 

มันเลอะเทอะเมื่อคำนวณแฟคทอเรียล และทำแบบนั้นอย่างมีสไตล์! พูดผิดข้อ 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 LinkedIn.

ประทับเวลา:

เพิ่มเติมจาก KD นักเก็ต