以下の内容はhttps://cysec148.hatenablog.com/entry/2025/10/07/063744より取得しました。


自分でモデルの精度を確認する方法

Hello there, ('ω')ノ

✅ 精度を自分で確認する方法:2つあります

方法 内容 精度が見えるか
① train/test を分けてKaggleに提出 提出後にスコア(RMSE)で確認 ✅ できる(Public Score)
② train データの中で分割して検証 自分でRMSEを計算できる ✅ 自分で見れる!(オススメ)

あなたが聞いているのは「②」の方法ですね。以下で具体的にやってみましょう!


🧪 例:train データを学習用と検証用に分けて精度を確認

📦 ステップ①:trainデータを学習・検証に分ける

from sklearn.model_selection import train_test_split

# 訓練データと検証データに分割(80%学習、20%検証)
X_train_split, X_valid_split, y_train_split, y_valid_split = train_test_split(
    X_train, y, test_size=0.2, random_state=42
)

📊 ステップ②:モデルを学習し、予測する

from sklearn.linear_model import LinearRegression

# モデルの作成と学習
model = LinearRegression()
model.fit(X_train_split, y_train_split)

# 検証用データで予測
y_pred = model.predict(X_valid_split)

🧮 ステップ③:RMSEで精度を計算する

from sklearn.metrics import mean_squared_error
import numpy as np

# RMSEを計算
rmse = np.sqrt(mean_squared_error(y_valid_split, y_pred))
print("Validation RMSE:", rmse)

✅ この rmse の値が、Kaggle提出前に自分で確認できる精度の目安になります!


🎯 自分で見れるRMSEとKaggleのスコアの違いは?

比較対象 特徴 コメント
自分で分けたvalidation RMSE trainデータの一部だけで検証 開発中のテスト。参考になるが過信しすぎない
Kaggle提出スコア(Public) testデータ(正解は非公開) 最終提出スコアに近い。重要な評価指標

✅ この数値の意味は?

🔢 RMSE = 29,476

  • RMSE(Root Mean Squared Error) は、「実際の価格」と「予測した価格」のズレの平均的な大きさを表します。
  • 今回の場合、予測が約3万ドルくらいズレているという意味です。

🎯 初心者としての評価ポイント

評価基準(目安) RMSEの範囲 コメント
入門としてまずまず 30,000〜50,000 いい出発点!
なかなか良い精度 20,000〜30,000 あと一歩で上位圏
高精度モデル 10,000〜20,000 コンペ中級者レベル
超高精度(上位) 〜10,000 特徴量とモデルの工夫が光る

📌 これからできること(ステップアップ)

🔧 モデル改善

  • モデル変更(たとえば RandomForest、XGBoost)
  • ログ変換(Log Transform)SalePriceの分布を正規化して予測精度UP

🧹 前処理改善

  • ✅ 不要な特徴量の削除
  • ✅ 外れ値の除去(例:極端に高額な物件)

📈 クロスバリデーション(KFold)でより安定した精度評価


✅ まとめ:自分で精度を見るには?

方法 目的
train_test_split() trainの中で「学習・検証」に分ける
model.predict() 検証データに対して予測
mean_squared_error() RMSEで誤差を数値化

Best regards, (^^ゞ




以上の内容はhttps://cysec148.hatenablog.com/entry/2025/10/07/063744より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14