エキスパートを目指すのでメダルを取りに行く
たまたまカニのゲームがあったので攻略する
分からないことだらけなので
いつものようにchatGPTを使う
Contents
Regression with a Crab Age Dataset
カニの年齢を当てるやつ
評価方法
「平均絶対誤差(MAE)」は、あなたの予想がどれくらい実際の結果からズレているかを見るための方法だよ。
たとえば、あなたが友達に「明日の天気は25度になるよ」と予想したとするね。でも、実際の明日の天気は20度だったとしたら、あなたの予想は5度ずれていたということになるよね。これが「誤差」だよ。それを全部の予想について計算して、その平均をとるのが「平均絶対誤差」だよ。
提出ファイルについては、各行がテストセット内の各IDに対する予測を表すよ。id,yield
は、id
がテストセットの各項目を表し、yield
がその項目に対する予測結果だよ。例えば、74051,10.2
は、IDが74051の項目に対する予測結果が10.2だということを意味するよ。
平均絶対誤差(MAE)
平均絶対誤差(MAE)の計算式は以下のような形になるんだ:
MAE = (|予測値1 - 実際の値1| + |予測値2 - 実際の値2| + ... + |予測値n - 実際の値n|) / n
ここで「n」は全ての予測値の数だよ。そして、「| |」のマークは「絶対値」を意味するんだ。これは、数値がマイナスだったとしてもプラスの数値にする記号だよ。
例えば、あなたが3つの予測をしたとしてみるね。
予測1:あなたが「5」を予測したけど、実際は「3」だった。 予測2:あなたが「7」を予測したけど、実際は「8」だった。 予測3:あなたが「4」を予測したけど、実際は「5」だった。
これらの予測の「平均絶対誤差」は、以下のように計算することができるよ。
MAE = (|5-3| + |7-8| + |4-5|) / 3 = (2 + 1 + 1) / 3 = 1.33
この結果、「1.33」はあなたの予測が平均して実際の値からどれくらいズレているかを表しているんだよ。
データの読み込みと確認
情報も少ないし
欠損値もないから
初心者向けって感じ
train_data = pd.read_csv("/kaggle/input/playground-series-s3e16/train.csv")
train_data
test_data = pd.read_csv("/kaggle/input/playground-series-s3e16/test.csv")
test_data
train_data.info()
train_data.isnull().sum()
test_data.isnull().sum()
データの確認 2
平均10歳だから
わけわからなくなったら
全てのデータを10にすれば良さそう
train_data['Age'].value_counts()
sns.histplot(data=train_data, x='Age', bins=30)
train_data['Age'].max()
train_data['Age'].min()
train_data['Age'].median()
提出
今日はもう寝るので
全てのデータを10にして提出する
別にわけわからなくなったわけじゃないんだからね
10で埋める方法
Kaggleで結果のファイルを出力するためには、pandasのDataFrame
を使って結果を整形し、それをCSVファイルとして保存します。その際に、to_csv
関数のindex
引数をFalse
に設定することで、DataFrameのインデックスをCSVに書き出さないようにします。
あなたの要望に従って、すべてのyield
値を10で埋めるコードは以下の通りです。
# DataFrameを作成します。'id'はtest_dataのIDで、'yield'を全て10で埋めます。 submission = pd.DataFrame({ "id": test_data["id"], # ここで "ID" は test_data 内の正確なIDの列名に変更してください "yield": [10.0] * len(test_data) }) # DataFrameをCSVファイルとして保存します。index=Falseにすることで、インデックスは保存されません。 submission.to_csv('submission.csv', index=False)
このコードを実行すると、出力結果が保存された submission.csv
という名前のCSVファイルが生成されます。これをKaggleに提出することで結果を評価してもらえます。
結果
エラーになった