Τι έμαθα από τη χρήση του 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
 

Ερμηνεύει επίσης τις οπτικοποιήσεις. Έτσι, παρατηρεί ότι η κατανομή του εισοδήματος είναι ορθά στρεβλή, γεγονός που δείχνει ότι οι περισσότεροι πελάτες έχουν εισόδημα στο χαμηλότερο άκρο του φάσματος και λιγότεροι πελάτες κερδίζουν σημαντικά υψηλότερα εισοδήματα. Το πλαίσιο υποδηλώνει ότι υπάρχουν κάποιες ακραίες τιμές στο υψηλότερο άκρο.

 

Τι έμαθα από τη χρήση του ChatGPT για την Επιστήμη Δεδομένων
Δημιουργήθηκε από Συγγραφέας/ChatGPT
 
Τι έμαθα από τη χρήση του ChatGPT για την Επιστήμη Δεδομένων
Δημιουργήθηκε από Συγγραφέας/ChatGPT
 

Η ίδια ερμηνεία ισχύει για την κατανομή Miles: λοξή προς τα δεξιά και ακραίες τιμές στο υψηλότερο άκρο.

Λαμβάνοντας υπόψη τη φύση των δεδομένων, υποδηλώνει ότι αυτές οι ακραίες τιμές δεν είναι απαραίτητα σφάλματα, αλλά αντιπροσωπεύουν ένα συγκεκριμένο τμήμα πελατών. Όσον αφορά τις λοξές κατανομές, προτείνει μετασχηματισμούς (π.χ. μετασχηματισμό καταγραφής) για την κανονικοποίηση των δεδομένων.

Φυσικά, μπορείτε επίσης να του ζητήσετε να γράψει έναν κώδικα Python για αυτές τις απεικονίσεις.

Μπορώ να χρησιμοποιήσω τα ίδια δεδομένα και να ρωτήσω το ChatGPT αν είναι κατάλληλο λογική παλινδρόμηση. Και αν όχι, τι πρέπει να κάνω για να το μεταμορφώσω ώστε να είναι κατάλληλο;

Απάντησε ότι τα δεδομένα μου είναι κατά κύριο λόγο κατάλληλα για περιγραφική και συμπερασματική ανάλυση συνεχών δεδομένων.

Αυτοί είναι οι προτεινόμενοι τρόποι μετατροπής δεδομένων για λογιστική παλινδρόμηση.

Δημιουργήστε ένα δυαδικό αποτέλεσμα: Δημιουργήστε ένα δυαδικό αποτέλεσμα κατηγοριοποιώντας τους πελάτες ως "υψηλή χρήση" ή "χαμηλή χρήση με βάση μια διάμεση διάκριση στη μεταβλητή Χρήση. Επίσης, το δυαδικό αποτέλεσμα μπορεί να είναι "αγορά διαδρόμου" έναντι "χωρίς αγορά διαδρόμου".

Ελέγξτε για πολυσυγγραμμικότητα: Χρήση μήτρα συσχέτισης or Συντελεστής πληθωρισμού διακύμανσης (VIF) για έλεγχο πολυσυγγραμμικότητας. Εάν υπάρχει πολυσυγγραμμικότητα, οι συσχετισμένες μεταβλητές μπορούν να αφαιρεθούν ή να συνδυαστούν.

Κλιμάκωση χαρακτηριστικών: Ενώ η κλιμάκωση χαρακτηριστικών για την προσαρμογή του μοντέλου δεν είναι απαραίτητη για την λογιστική παλινδρόμηση, μπορεί να είναι επωφελής για σύγκλιση. Αυτό ισχύει ειδικά για χαρακτηριστικά με σημαντικά διαφορετικές κλίμακες.

Αντιμετώπιση της μη γραμμικότητας: Οι μεταμορφώσεις, όπως π.χ κούτσουρο 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;»

Υπολογίζει την πιθανότητα με αυτόν τον τρόπο.

 

Τι έμαθα από τη χρήση του ChatGPT για την Επιστήμη Δεδομένων
 

Μπερδεύει κατά τον υπολογισμό των παραγοντικών. Και αυτό το κάνει με στυλ! Εντελώς λάθος λέγοντας 2! = 12. Δεν είναι, είναι 2. Πώς μπορείς να μπερδέψεις έναν απλό υπολογισμό όπως 2×1 = 2; Αυτό είναι πραγματικά για γέλιο!

Ακόμα πιο αστείο είναι ότι κάποτε, 3! = 36, και τη δεύτερη φορά 3! = 6. Ευχαριστώ, καθώς ήταν σωστό τουλάχιστον μία φορά.

Όταν του ζητάω να διορθώσει τον υπολογισμό χωρίς περαιτέρω εξήγηση, υπολογίζει ξανά και βγάζει την πιθανότητα 0.0001389. Δεν πίστευα στα μάτια μου! Μπορεί να χρησιμοποιήσει ακριβώς τον ίδιο τύπο και τιμές και να καταλήξει σε ένα διαφορετικό αποτέλεσμα που εξακολουθεί να είναι λάθος!

Του ζήτησα ξανά να διορθώσει τον υπολογισμό και τελικά επέστρεψε το σωστό αποτέλεσμα: 0.0008336. Η τρίτη φορά είναι γούρι!

Ομολογουμένως, αυτά τα λάθη έγιναν από το ChatGPT 3.5. Έκανα την ίδια ερώτηση στο ChatGPT 4 και κατέληξε στον σωστό υπολογισμό με την πρώτη προσπάθεια. Μπορείτε επίσης να χρησιμοποιήσετε κάποια μαθηματικά πρόσθετα για να παραμείνετε στην ασφαλή πλευρά.

Το κύριο μάθημα από όλα αυτά είναι ότι το ChatGPT είναι κακός κύριος αλλά πολύ καλός υπηρέτης. Μπορεί να είναι χρήσιμο στη σύνταξη κώδικα, τον εντοπισμό σφαλμάτων, την ανάλυση και την οπτικοποίηση δεδομένων. Ωστόσο, μην το εμπιστεύεστε ποτέ πλήρως και μην παίρνετε ποτέ αυτά που γράφει χωρίς έλεγχο.

Ελέγξτε τον κωδικό που γράφει και ελέγξτε τους υπολογισμούς. Είστε επιστήμονας δεδομένων, τελικά, και το ChatGPT δεν είναι! Μπορεί να μην έχετε τα επιθυμητά αποτελέσματα από το ChatGPT με την πρώτη προσπάθεια. Αλλά δίνοντάς του πιο ακριβείς οδηγίες και δοκιμάζοντας πολλές φορές, πιθανότατα θα φτάσετε στο επιθυμητό αποτέλεσμα.
 
 

Νέιτ Ροσίδη είναι επιστήμονας δεδομένων και στη στρατηγική προϊόντων. Είναι επίσης επίκουρος καθηγητής που διδάσκει αναλυτικά και είναι ο ιδρυτής του StrataScratch, μια πλατφόρμα που βοηθά τους επιστήμονες δεδομένων να προετοιμαστούν για τις συνεντεύξεις τους με πραγματικές ερωτήσεις συνεντεύξεων από κορυφαίες εταιρείες. Συνδεθείτε μαζί του Twitter: StrataScratch or LinkedIn.

Σφραγίδα ώρας:

Περισσότερα από KDnuggets