Tôi học được gì từ việc sử dụng ChatGPT cho khoa học dữ liệu - KDnuggets

Tôi học được gì từ việc sử dụng ChatGPT cho khoa học dữ liệu – KDnuggets

Nút nguồn: 3093078

Tôi học được gì từ việc sử dụng ChatGPT cho khoa học dữ liệu
Hình ảnh của Tác giả
 

Có một bài học duy nhất tôi học được từ việc sử dụng ChatGPT. Nó cực kỳ hữu ích trong khoa học dữ liệu, nhưng bạn phải xem xét kỹ lưỡng mọi thứ nó tạo ra. Thật tuyệt vời cho một số nhiệm vụ và có thể thực hiện chúng rất nhanh chóng và chính xác. Đối với một số tác vụ khác, như vậy là đủ tốt và bạn sẽ phải nhắc nó nhiều lần. Và có một nhiệm vụ mà tôi thấy ChatGPT hoàn toàn kém.

Bạn có thể đính kèm tập dữ liệu của mình vào tin nhắn ChatGPT và bằng cách đưa ra một số hướng dẫn đơn giản, ChatGPT có thể khám phá dữ liệu cho bạn.

Ví dụ: tôi có thể lấy tập dữ liệu từ dự án dữ liệu này. Các hướng dẫn tôi đã đưa ra là:

“Sử dụng dữ liệu đính kèm để thực hiện phân tích thống kê mô tả. Bao gồm những điều sau đây:

  • Tóm tắt các số liệu thống kê cơ bản (trung bình, trung vị, độ lệch chuẩn, v.v.).
  • Xác định các giá trị còn thiếu và đề xuất các chiến lược để xử lý chúng.”

Nó trả về bản tóm tắt trông như thế này. Nó thực hiện tính toán tương tự cho mỗi biến.

Tuổi:

  • Trung bình: 28.79 năm
  • Độ lệch chuẩn: 6.94 năm
  • Phạm vi: 18 đến 50 năm

Nó cũng xác định không có giá trị bị thiếu trong tập dữ liệu.

Nếu bạn cũng cần mã Python cho những phép tính này, bạn có thể nhắc nó viết chúng.

Để tải tập dữ liệu, hãy sử dụng mã này.

aerofit_data = pd.read_csv(file_path)

Đối với số liệu thống kê cơ bản, nó đưa ra cái này.

basic_stats = aerofit_data.describe()

Và bạn có thể kiểm tra các giá trị còn thiếu bằng mã này.

missing_values = aerofit_data.isnull().sum()

Hơn nữa, tôi có thể yêu cầu ChatGPT trực quan hóa việc phân phối các biến chính và phát hiện các ngoại lệ và điểm bất thường tiềm ẩn.

Nó tạo biểu đồ và sơ đồ hình hộp cho các biến chính: Tuổi, Thu nhập và Số dặm. Nó đã phát hiện các ngoại lệ có thể có trong phân phối Thu nhập và Dặm.

 

Tôi học được gì từ việc sử dụng ChatGPT cho khoa học dữ liệu
Tạo bởi tác giả/ChatGPT
 
Tôi học được gì từ việc sử dụng ChatGPT cho khoa học dữ liệu
Tạo bởi tác giả/ChatGPT
 

Nó cũng diễn giải các hình dung. Vì vậy, nó nhận thấy rằng sự phân phối thu nhập bị lệch phải, điều này cho thấy rằng hầu hết khách hàng có thu nhập ở mức dưới của dải phổ và ít khách hàng có thu nhập cao hơn đáng kể. Boxplot cho thấy có một số ngoại lệ ở cấp cao hơn.

 

Tôi học được gì từ việc sử dụng ChatGPT cho khoa học dữ liệu
Tạo bởi tác giả/ChatGPT
 
Tôi học được gì từ việc sử dụng ChatGPT cho khoa học dữ liệu
Tạo bởi tác giả/ChatGPT
 

Cách giải thích tương tự cũng có thể áp dụng cho phân phối Dặm: lệch phải và các giá trị ngoại lệ ở cấp cao hơn.

Xem xét bản chất của dữ liệu, nó cho thấy rằng những ngoại lệ này không nhất thiết là lỗi mà đại diện cho một phân khúc khách hàng cụ thể. Về phân phối sai lệch, nó đề xuất các phép biến đổi (ví dụ: chuyển đổi nhật ký) để chuẩn hóa dữ liệu.

Tất nhiên, bạn cũng có thể yêu cầu nó viết mã Python cho những hình ảnh trực quan này.

Tôi có thể sử dụng cùng một dữ liệu và hỏi ChatGPT xem nó có phù hợp với không hồi quy logistic. Và nếu không thì tôi phải làm gì để biến đổi cho phù hợp?

Nó trả lời rằng dữ liệu của tôi chủ yếu phù hợp để phân tích mô tả và suy luận dữ liệu liên tục.

Đây là những cách được đề xuất để chuyển đổi dữ liệu cho hồi quy logistic.

Tạo một kết quả nhị phân: Tạo kết quả nhị phân bằng cách phân loại khách hàng là “mức sử dụng cao” hoặc “mức sử dụng thấp dựa trên mức phân chia trung bình của biến Mức sử dụng. Ngoài ra, kết quả nhị phân có thể là “mua máy chạy bộ” và “không mua máy chạy bộ”.

Kiểm tra đa cộng tuyến: Sử dụng Ma trận tương quan or Yếu tố lạm phát phương sai (VIF) để kiểm tra hiện tượng đa cộng tuyến. Nếu có hiện tượng đa cộng tuyến, các biến tương quan có thể được loại bỏ hoặc kết hợp lại.

Chia tỷ lệ tính năng: Mặc dù việc chia tỷ lệ đặc điểm để điều chỉnh mô hình là không cần thiết cho hồi quy logistic nhưng nó có thể có lợi cho hội tụ. Đây là trường hợp đặc biệt đối với các tính năng có quy mô khác nhau đáng kể.

Giải quyết vấn đề phi tuyến tính: Những chuyển biến như đăng nhập or căn bậc hai, có thể được sử dụng cho các biến không thỏa mãn giả định tuyến tính.

Cỡ mẫu: Tập dữ liệu phải đủ lớn với số lượng biến dự đoán.

Tiền xử lý dữ liệu: Xử lý các ngoại lệ và các biến phân loại (bằng mã hóa một nóng hoặc mã hóa nhãn) Được gợi ý. Ngoài ra, nó còn đề xuất xử lý các giá trị bị thiếu, nhưng điều này không áp dụng cho dữ liệu của tôi vì không có giá trị nào bị thiếu.

ChatGPT thực sự có thể hữu ích trong mọi giai đoạn của dự án khoa học dữ liệu. Bạn có thể nhắc nó viết mã quét web. Bạn có thể hướng dẫn nó khám phá và chuẩn bị dữ liệu cho các thuật toán học máy. Nó cũng có thể cung cấp cho bạn mã để chọn thuật toán phù hợp, phân tách tập dữ liệu, thử nghiệm A/B và thuật toán tăng hiệu suất. Cuối cùng, bạn cũng có thể yêu cầu ChatGPT viết cho bạn mã để triển khai mô hình.

Mặc dù ChatGPT có thể làm tất cả những điều đó nhưng rất có thể bạn sẽ không nhận được ngay mã thực hiện chính xác những gì bạn muốn. Vì vậy, bạn phải hiểu những gì bạn muốn đạt được và kiểm tra mã. Rất có thể bạn sẽ phải nhắc ChatGPT sửa mã và cung cấp thêm hướng dẫn về những gì cần thay đổi.

ChatGPT có thể giúp ích cho những người dùng vẫn đang học ngôn ngữ mã hóa mới. Hãy tưởng tượng bạn là bậc thầy về SQL và bạn không gặp vấn đề gì khi giải quyết câu hỏi phỏng vấn này. Tuy nhiên, bạn muốn thêm Python vào kỹ năng của mình. ChatGPT có thể giúp bạn điều đó. Bạn có thể sao chép mã SQL và yêu cầu ChatGPT chuyển đổi nó sang Python.

Vì vậy, mã SQL là thế này.

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 đã viết mã Python dựa trên mã SQL ở trên nhưng nó không hoạt động đúng. Vì vậy, tôi tham gia vào việc chỉ trích ChatGPT vì viết mã không chính xác. Và tôi yêu cầu nó thử lại vì đầu ra không giống với mã SQL. Nó thử lại và trả về kết quả chính xác.

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

Như bạn có thể thấy, bạn nhận được một mã đẹp kèm theo các nhận xét trước mỗi khối mã. Để cải thiện việc học của bạn, bạn có thể yêu cầu nó giải thích mã này. Bằng cách đó, bạn sẽ hiểu sâu hơn về chức năng và cách thức thực hiện của từng dòng mã.

Khi tôi nói xấu, tôi có nghĩa là thực sự xấu! Nó đi đến mức sử dụng đúng công thức và nhập đúng giá trị nhưng bằng cách nào đó lại làm rối tung các phép tính không quá phức tạp.

Có một cái nhìn tại đây. Tôi yêu cầu nó giải quyết vấn đề này: “Giả sử bạn tung xúc xắc sáu mặt đều nhau 10 lần. Xác suất để tung được hai số 1, ba số 2, một số 3, số 4, ba số 5 và một số 6 là bao nhiêu?”

Nó tính xác suất theo cách này.

 

Tôi học được gì từ việc sử dụng ChatGPT cho khoa học dữ liệu
 

Nó gây rối khi tính giai thừa. Và nó làm điều đó với phong cách! Câu 2 hoàn toàn sai! = 12. Không phải, nó là 2. Làm sao bạn có thể làm sai một phép tính đơn giản như 2×1 = 2? Điều này thực sự buồn cười!

Buồn cười hơn nữa là có một lần, 3! = 36, và lần thứ hai là 3! = 6. Ghi công cho nó, vì nó đã đúng ít nhất một lần.

Khi tôi yêu cầu nó sửa lại phép tính mà không giải thích thêm, nó sẽ tính toán lại và đưa ra xác suất là 0.0001389. Tôi không thể tin vào mắt mình! Nó có thể sử dụng chính xác cùng một công thức và giá trị và đưa ra một kết quả khác nhưng vẫn sai!

Tôi yêu cầu nó sửa lại phép tính và cuối cùng nó trả về kết quả đúng: 0.0008336. Lần thứ ba là một cơ duyên!

Phải thừa nhận rằng những lỗi này là do ChatGPT 3.5 mắc phải. Tôi đã hỏi ChatGPT 4 câu hỏi tương tự và nó đã đưa ra phép tính chính xác trong lần thử đầu tiên. Bạn cũng có thể sử dụng một số plugin toán học để đảm bảo an toàn.

Bài học chính từ tất cả những điều này là ChatGPT là một ông chủ tồi nhưng lại là một người hầu rất tốt. Nó có thể hữu ích trong việc viết mã, gỡ lỗi, phân tích và trực quan hóa dữ liệu. Tuy nhiên, đừng bao giờ tin tưởng nó hoàn toàn và đừng bao giờ lấy những gì nó viết mà không xem xét kỹ lưỡng.

Kiểm tra mã nó viết và kiểm tra các tính toán. Suy cho cùng thì bạn là một nhà khoa học dữ liệu còn ChatGPT thì không! Bạn có thể không nhận được kết quả mong muốn từ ChatGPT trong lần thử đầu tiên. Nhưng việc đưa ra những hướng dẫn chính xác hơn và thử lại nhiều lần có thể sẽ giúp bạn đạt được kết quả như mong muốn.
 
 

Nate Rosidi là một nhà khoa học dữ liệu và trong chiến lược sản phẩm. Anh ấy cũng là một giáo sư trợ giảng dạy phân tích và là người sáng lập StrataScratch, một nền tảng giúp các nhà khoa học dữ liệu chuẩn bị cho cuộc phỏng vấn của họ với các câu hỏi phỏng vấn thực tế từ các công ty hàng đầu. Kết nối với anh ấy trên Twitter: StrataScratch or LinkedIn.

Dấu thời gian:

Thêm từ Xe đẩy