精度分析コンペをChat GPTで参加してみた。
従来は、高度な専門知識やプログラミングスキルが必要とされていた精度分析コンペティションですが、今回、私は話題のChatGPTを使用して、精度分析のコンペティションに挑戦してみました。
はじめに
AI技術の発展が目覚ましい近年、精度分析コンペティションは、自身のスキルを試す場として注目を集めています。
従来は、高度な専門知識やプログラミングスキルが必要とされていたAIコンペティションですが、近年はChatGPTのような大規模言語モデルの登場により、誰でも手軽に挑戦できる環境が整いつつあります。
今回、私は話題のChatGPTを使用して、精度分析のコンペティションに挑戦してみました。
挑戦内容
今回私が挑戦したのは、診断データを使った糖尿病発症予測です。
このコンペティションは、患者の診断データから糖尿病を発症したかを予測になっており、初心者向けのものになっておりました。
分析の方法
ChatGPTを使ってコンペティションの提供データ分析の解析と理解を行います。
1:GPTsの作成
主催者から提出されているデータや評価方法などを全てGPTsに入力します。
Instructions:文字を全てここに入力して下さい
Knowledge:テストデータや訓練ファイルはこちらに添付して下さい
2:ファイルを作成
「コンペに提出するために提出ファイルを作成して下さい」と依頼してみて下さい。
そうするとこのような回答がファイルで生成されます。
こちらをそのまま提出するだけで、精度の確認が可能になります。
※提出時にはindexの記載など注意をして下さい
3:精度を上げる方法
ChatGPT内で処理には限界があるため、Googleコラボなど別ツールにコードを移して実行するとさらに精度が上がります。
「Googleコラボで使用するためにコードを作成して下さい」こちらを入力すると以下のようにコードが作成されます。
Googleコラボ上でファイルを作成し、提出して精度を確認後点数をChatGPTに伝えるとさらに改善策を提案してくれるため、コードに反映してみて下さい。
今回意識してた点
どれだけChat GPTにコンペの状況を理解してもらい、改善点を出してもらえるかが重要になっております。一般的なことですが今回は、以下のことを注意して作成を行なっております。
・データの前処理
データクリーニング:欠損値や外れ値の処理を適切に行い、データセットの品質を保持 スケーリング:特徴量のスケールを統一することで、モデルの学習効率と精度を向上
・特徴量エンジニアリング
既存の特徴量から新しい特徴量を作成し、モデルが学習できる情報量を増す。
・モデル選択とハイパーパラメータチューニング
複数のモデルやアンサンブル技術を検討し、データに最も適したモデルを選択 Optuna などのハイパーパラメータ最適化ツールを使用して、最適なモデル設定
・クロスバリデーション
モデルの汎用性を確認するために、Stratified K-Fold クロスバリデーションを適用
・パフォーマンス評価
モデルのパフォーマンスを適切に評価するために、予測精度(Accuracy)だけでなく、他の評価指標も考慮
・反復的なアプローチ
新たな特徴量の追加、ハイパーパラメータの再チューニング、新しいモデルの試行などを通じて、継続的にモデルを改善
提出した結果
今回運営の設定するTier変更の閾値はAccuracy=0.796となっておりますが、
0.8を超え、Tier5 昇格 することができました!
現状20位以内と健闘している状況ですが、今後も改善をしながら上位入賞を目指して行きます。