データ サイエンスに ChatGPT を使用して学んだこと - KDnuggets

データ サイエンスに ChatGPT を使用して学んだこと – KDnuggets

ソースノード: 3093078

データ サイエンスに ChatGPT を使用して学んだこと
著者による画像
 

ChatGPT の使用から学んだ教訓が 1 つあります。これはデータ サイエンスに非常に役立ちますが、出力されるものはすべて精査する必要があります。一部のタスクには最適で、非常に迅速かつ正確に実行できます。他のタスクではこれで十分ですが、何度かプロンプトを表示する必要があります。そして、ChatGPT が完全に苦手だと私が感じたタスクが 1 つあります。

データセットを 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によって作成されました
 

同じ解釈がマイル分布にも当てはまります。右に偏り、上限が外れ値になります。

データの性質を考慮すると、これらの外れ値は必ずしも誤差ではなく、特定の顧客セグメントを表していることが示唆されます。偏った分布に関しては、データを正規化するための変換 (対数変換など) を提案します。

もちろん、これらの視覚化用の Python コードを作成するように依頼することもできます。

同じデータを使用して、ChatGPT にそれが適しているかどうかを尋ねることができます。 ロジスティック回帰。そうでない場合、適切になるように変換するにはどうすればよいでしょうか?

私のデータは主に連続データの記述的および推論的分析に適しているとの返答がありました。

これらは、ロジスティック回帰のためにデータを変換する推奨される方法です。

バイナリ結果を作成します。 使用量変数の中央値分割に基づいて顧客を「使用率が高い」または「使用率が低い」に分類することで、バイナリ結果を作成します。また、二者択一の結果は、「トレッドミルを購入する」か「トレッドミルを購入しない」になる可能性があります。

多重共線性をチェックします。 使用 相関行列 or 分散拡大係数(VIF) 多重共線性をチェックします。多重共線性がある場合、相関変数を削除または結合できます。

機能のスケーリング: モデルフィッティングのための特徴スケーリングはロジスティック回帰には必要ありませんが、次のような場合には有益です。 収束。これは、スケールが大きく異なるフィーチャの場合に特に当てはまります。

非線形性への取り組み: などの変換 ログ or 平方根、線形性の仮定を満たさない変数に使用できます。

サンプルサイズ: 予測変数の数を考慮すると、データセットは十分な大きさである必要があります。

データの前処理: 外れ値とカテゴリ変数の処理 (による) ワンホットエンコーディングまたはラベルエンコーディング)が提案されます。さらに、欠損値の処理を提案しますが、欠損値がないため、これは私のデータには当てはまりません。

ChatGPT は、データ サイエンス プロジェクトのあらゆる段階で実際に役立ちます。 Web スクレイピング コードを作成するように促すことができます。機械学習アルゴリズム用にデータを探索して準備するように指示できます。また、適切なアルゴリズム、データセット分割、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 は上記の SQL コードに基づいて Python コードを作成しましたが、正しく動作しません。そこで私は、正しいコードを書かなかったとして 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 つ、XNUMX が XNUMX つ、XNUMX が XNUMX つ出る確率はいくらですか?

このようにして確率を計算します。

 

データ サイエンスに ChatGPT を使用して学んだこと
 

階乗を計算するときに混乱します。そしてそれをスタイリッシュに実現します。完全に間違った言い方2! = 12。そうではありません、2 です。2×1 = 2 のような単純な計算をどうして台無しにすることができますか?これは本当に笑える!

さらに面白いのは、3 回の 36 回です。 = 3、6 回目は XNUMX! = XNUMX. 少なくとも一度は正しかったので、それを称賛します。

何も説明せずに計算を修正するよう依頼すると、再度計算して、0.0001389 という確率を出します。自分の目が信じられませんでした!まったく同じ式と値を使用しても、それでも間違っている別の結果が導き出される可能性があります。

計算を修正するためにもう一度要求したところ、最終的には正しい結果、0.0008336 が返されました。 XNUMX回目は魅力的です!

確かに、これらの間違いは ChatGPT 3.5 によって犯されました。 ChatGPT 4 に同じ質問をしたところ、最初の試行で正しい計算が得られました。安全を確保するために、いくつかの数学的プラグインを使用することもできます。

これらすべてから得られる主な教訓は、ChatGPT はマスターとしては悪いが、非常に優れた従者であるということです。コードの作成、デバッグ、分析、データの視覚化に役立ちます。ただし、決して完全に信用したり、書かれていることを鵜呑みにしたりしないでください。

記述されたコードを確認し、計算を確認してください。結局のところ、あなたはデータ サイエンティストですが、ChatGPT はそうではありません。最初の試行では ChatGPT から望ましい結果が得られない可能性があります。ただし、より正確な指示を与え、何度か試してみると、おそらく望ましい結果が得られるでしょう。
 
 

ネイト・ロシディ データサイエンティストであり、製品戦略に携わっています。 彼はまた、分析を教える非常勤教授であり、 ストラタスクラッチ、データサイエンティストがトップ企業からの実際の面接の質問で面接の準備をするのを支援するプラットフォーム。 彼とつながる Twitter:StrataScratch or LinkedIn.

タイムスタンプ:

より多くの KDナゲット