Was ich durch die Verwendung von ChatGPT für Data Science gelernt habe – KDnuggets

Was ich aus der Verwendung von ChatGPT für Data Science gelernt habe – KDnuggets

Quellknoten: 3093078

Was ich durch die Verwendung von ChatGPT für Data Science gelernt habe
Bild vom Autor
 

Es gibt eine einzige Lektion, die ich durch die Verwendung von ChatGPT gelernt habe. Es ist wunderbar hilfreich in der Datenwissenschaft, aber Sie müssen alles, was es ausgibt, genau unter die Lupe nehmen. Für einige Aufgaben eignet es sich hervorragend und kann diese sehr schnell und genau erledigen. Für einige andere Aufgaben reicht es aus, und Sie müssen es mehrmals aufrufen. Und es gibt eine Aufgabe, bei der ChatGPT meiner Meinung nach absolut schlecht ist.

Sie können Ihren Datensatz an die ChatGPT-Nachricht anhängen und durch Erteilen einiger einfacher Anweisungen kann ChatGPT die Daten für Sie untersuchen.

Ich kann zum Beispiel einen Datensatz daraus übernehmen dieses Datenprojekt. Die Anweisungen, die ich gegeben habe, sind:

„Verwenden Sie die beigefügten Daten, um eine deskriptive statistische Analyse durchzuführen. Das Folgende einschließen:

  • Fassen Sie grundlegende Statistiken zusammen (Mittelwert, Median, Standardabweichung usw.).
  • Identifizieren Sie fehlende Werte und schlagen Sie Strategien vor, um damit umzugehen.“

Es wird eine Zusammenfassung zurückgegeben, die so aussieht. Für jede Variable wird die gleiche Berechnung durchgeführt.

Alter:

  • Mittelwert: 28.79 Jahre
  • Standardabweichung: 6.94 Jahre
  • Bereich: 18 bis 50 Jahre

Es wurden auch keine fehlenden Werte im Datensatz identifiziert.

Wenn Sie für diese Berechnungen auch den Python-Code benötigen, können Sie ihn zum Schreiben veranlassen.

Verwenden Sie diesen Code, um den Datensatz zu laden.

aerofit_data = pd.read_csv(file_path)

Für grundlegende Statistiken gibt es diese hier.

basic_stats = aerofit_data.describe()

Mit diesem Code können Sie die fehlenden Werte überprüfen.

missing_values = aerofit_data.isnull().sum()

Darüber hinaus kann ich ChatGPT bitten, die Verteilung von Schlüsselvariablen zu visualisieren und potenzielle Ausreißer und Anomalien zu erkennen.

Es erstellt Histogramme und Boxplots für Schlüsselvariablen: Alter, Einkommen und Meilen. Es wurden mögliche Ausreißer in der Einkommens- und Meilenverteilung erkannt.

 

Was ich durch die Verwendung von ChatGPT für Data Science gelernt habe
Erstellt von Autor/ChatGPT
 
Was ich durch die Verwendung von ChatGPT für Data Science gelernt habe
Erstellt von Autor/ChatGPT
 

Es interpretiert auch die Visualisierungen. Es wird also festgestellt, dass die Einkommensverteilung rechtsschief ist, was darauf hindeutet, dass die meisten Kunden ein Einkommen am unteren Ende des Spektrums haben und weniger Kunden deutlich höhere Einkommen erzielen. Das Boxplot deutet darauf hin, dass es am oberen Ende einige Ausreißer gibt.

 

Was ich durch die Verwendung von ChatGPT für Data Science gelernt habe
Erstellt von Autor/ChatGPT
 
Was ich durch die Verwendung von ChatGPT für Data Science gelernt habe
Erstellt von Autor/ChatGPT
 

Die gleiche Interpretation gilt für die Miles-Verteilung: rechtsschief und Ausreißer am oberen Ende.

Angesichts der Art der Daten lässt sich vermuten, dass es sich bei diesen Ausreißern nicht unbedingt um Fehler handelt, sondern vielmehr um ein bestimmtes Kundensegment. Bezüglich der verzerrten Verteilungen werden Transformationen (z. B. Log-Transformation) zur Normalisierung der Daten vorgeschlagen.

Natürlich können Sie es auch bitten, einen Python-Code für diese Visualisierungen zu schreiben.

Ich kann dieselben Daten verwenden und ChatGPT fragen, ob sie geeignet sind logistische Regression. Und wenn nicht, was soll ich tun, um es so umzuwandeln, dass es angemessen ist?

Es wurde geantwortet, dass meine Daten in erster Linie für die deskriptive und inferenzielle Analyse kontinuierlicher Daten geeignet seien.

Dies sind die vorgeschlagenen Methoden zur Transformation von Daten für die logistische Regression.

Erstellen Sie ein binäres Ergebnis: Erstellen Sie ein binäres Ergebnis, indem Sie Kunden basierend auf einer Medianaufteilung der Nutzungsvariablen in „starke Nutzung“ oder „geringe Nutzung“ kategorisieren. Das binäre Ergebnis kann auch „Laufbandkauf“ vs. „kein Laufbandkauf“ lauten.

Auf Multikolinearität prüfen: Verwenden Korrelationsmatrix or Varianz-Inflationsfaktor (VIF) um auf Multikolinearität zu prüfen. Bei Multikollinearität können die korrelierten Variablen entfernt oder kombiniert werden.

Funktionsskalierung: Während die Merkmalsskalierung zur Modellanpassung für die logistische Regression nicht erforderlich ist, kann sie für Folgendes von Vorteil sein Konvergenz. Dies ist insbesondere bei Merkmalen mit deutlich unterschiedlichen Maßstäben der Fall.

Bekämpfung der Nichtlinearität: Die Transformationen, wie z Log or Quadratwurzel, kann für Variablen verwendet werden, die die Linearitätsannahme nicht erfüllen.

Stichprobenumfang: Der Datensatz muss angesichts der Anzahl der Prädiktorvariablen groß genug sein.

Datenvorverarbeitung: Umgang mit Ausreißern und kategorialen Variablen (von One-Hot-Codierung oder Label-Codierung) wird vorgeschlagen. Darüber hinaus wird vorgeschlagen, mit fehlenden Werten umzugehen. Dies gilt jedoch nicht für meine Daten, da keine Werte fehlen.

ChatGPT kann tatsächlich in jeder Phase eines Data-Science-Projekts hilfreich sein. Sie können es auffordern, einen Web-Scraping-Code zu schreiben. Sie können es anweisen, Ihre Daten zu untersuchen und für die Algorithmen des maschinellen Lernens vorzubereiten. Es kann Ihnen auch einen Code für die Auswahl des richtigen Algorithmus, die Aufteilung von Datensätzen, A/B-Tests und Algorithmen zur Leistungssteigerung liefern. Schließlich können Sie ChatGPT auch bitten, Ihnen einen Code für die Modellbereitstellung zu schreiben.

Obwohl ChatGPT all das kann, ist es durchaus möglich, dass Sie nicht sofort einen Code erhalten, der genau das tut, was Sie wollen. Sie müssen also verstehen, was Sie erreichen möchten, und den Code überprüfen. Möglicherweise müssen Sie ChatGPT um Codekorrekturen bitten und weitere Anweisungen zu den Änderungen geben.

ChatGPT kann Benutzern helfen, die noch neue Programmiersprachen lernen. Stellen Sie sich vor, Sie sind ein SQL-Meister und haben keine Probleme beim Lösen diese Interviewfrage. Sie möchten jedoch Python zu Ihren Fähigkeiten hinzufügen. ChatGPT kann Ihnen dabei helfen. Sie können den SQL-Code kopieren und ChatGPT bitten, ihn in Python zu konvertieren.

Der SQL-Code ist also dieser.

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 hat den Python-Code basierend auf dem obigen SQL-Code geschrieben, aber er funktioniert nicht richtig. Deshalb beschimpfe ich ChatGPT, weil es nicht den richtigen Code geschrieben hat. Und ich bitte es, es noch einmal zu versuchen, da die Ausgabe nicht die gleiche ist wie bei SQL-Code. Es versucht es erneut und gibt das richtige Ergebnis zurück.

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

Wie Sie sehen, erhalten Sie vor jedem Codeblock einen schönen Code mit Kommentaren. Um Ihr Lernen zu verbessern, können Sie ihn bitten, diesen Code zu interpretieren. Auf diese Weise erfahren Sie noch tiefer, was jede Codezeile tut und wie.

Wenn ich schlecht sage, meine ich wirklich schlecht! Es geht so weit, dass es die richtige Formel verwendet und die richtigen Werte eingibt, es aber irgendwie schafft, nicht so komplizierte Berechnungen durcheinander zu bringen.

Guck dir das an. Ich habe es gebeten, dieses Problem zu lösen: „Angenommen, Sie würfeln zehnmal mit einem fairen sechsseitigen Würfel. Wie groß ist die Wahrscheinlichkeit, zwei Einsen, drei Zweien, eine Drei, null Vieren, drei Fünfen und eine Sechs zu würfeln?“

Auf diese Weise wird die Wahrscheinlichkeit berechnet.

 

Was ich durch die Verwendung von ChatGPT für Data Science gelernt habe
 

Bei der Berechnung von Fakultäten kommt es zu Problemen. Und das mit Stil! Völlig falscher Spruch 2! = 12. Das ist es nicht, es ist 2. Wie kann man eine einfache Berechnung wie 2×1 = 2 durcheinander bringen? Das ist wirklich lächerlich!

Noch lustiger ist das einmal, 3! = 36, und das zweite Mal 3! = 6. Dank dafür, dass es mindestens einmal richtig war.

Wenn ich es auffordere, die Berechnung ohne weitere Erklärung zu korrigieren, rechnet es erneut und kommt auf die Wahrscheinlichkeit von 0.0001389. Ich konnte meinen Augen nicht trauen! Es kann genau die gleiche Formel und die gleichen Werte verwenden und zu einem anderen Ergebnis kommen, das immer noch falsch ist!

Ich habe es erneut gebeten, die Berechnung zu korrigieren, und es hat schließlich das richtige Ergebnis zurückgegeben: 0.0008336. Das dritte Mal ist ein Zauber!

Zugegebenermaßen wurden diese Fehler von ChatGPT 3.5 gemacht. Ich habe ChatGPT 4 die gleiche Frage gestellt und es kam beim ersten Versuch zu der richtigen Berechnung. Um auf der sicheren Seite zu bleiben, können Sie auch einige mathematische Plug-Ins verwenden.

Die wichtigste Erkenntnis aus all dem ist, dass ChatGPT ein schlechter Meister, aber ein sehr guter Diener ist. Es kann beim Schreiben von Code, beim Debuggen, Analysieren und Visualisieren von Daten hilfreich sein. Vertrauen Sie ihm jedoch niemals vollständig und nehmen Sie niemals das, was es schreibt, ohne zu prüfen.

Überprüfen Sie den geschriebenen Code und die Berechnungen. Sie sind schließlich ein Datenwissenschaftler und ChatGPT nicht! Möglicherweise erhalten Sie mit ChatGPT beim ersten Versuch nicht die gewünschten Ergebnisse. Aber eine genauere Anleitung und mehrere Versuche führen wahrscheinlich zum gewünschten Ergebnis.
 
 

Nate Rosidi ist Data Scientist und in der Produktstrategie. Er ist auch außerplanmäßiger Professor für Analytik und Gründer von StrataScratch, eine Plattform, die Datenwissenschaftlern hilft, sich mit echten Interviewfragen von Top-Unternehmen auf ihre Interviews vorzubereiten. Verbinde dich mit ihm auf Twitter: StrataScratch or LinkedIn.

Zeitstempel:

Mehr von KDnuggets