モデルを作成しました。 しかし、それはどれくらい良いですか?
このレッスンでは、モデル検証を使用してモデルの品質を測定する方法を学習します。 モデルの品質を測定することは、モデルを繰り返し改善するための鍵です。
モデル検証とは
これまでに作成したほぼすべてのモデルを評価する必要があります。ほとんどの(すべてではありませんが)アプリケーションでは、モデル品質の関連する尺度は予測精度です。言い換えれば、モデルの予測は実際に起こることに近いのでしょうか。
多くの人が予測精度を測定するときに大きな間違いを犯します。彼らはトレーニングデータを使用して予測を行い、それらの予測をトレーニングデータの目標値と比較します。このアプローチの問題とそれを解決する方法はすぐにわかりますが、最初にこれをどのように行うかを考えてみましょう。
まず、モデルの品質をわかりやすい方法で要約する必要があります。 10,000戸の住宅の予測値と実際の住宅値を比較すると、良い予測と悪い予測が混在していることがわかります。 10,000の予測値と実際の値のリストを確認しても意味がありません。これを単一のメトリックに要約する必要があります。
モデルの品質を要約するための多くのメトリックがありますが、平均絶対誤差(MAEとも呼ばれる)と呼ばれるものから始めます。最後の単語であるエラーから始めて、このメトリックを分解してみましょう。
各家の予測誤差は次のとおりです。
したがって、家の費用が150,000ドルで、100,000ドルかかると予測した場合、エラーは50,000ドルになります。
MAEメトリックを使用して、各エラーの絶対値を取得します。 これにより、各エラーが正の数に変換されます。 次に、これらの絶対誤差の平均を取ります。 これは、モデルの品質の尺度です。 平易な英語では、次のように言うことができます
平均して、私たちの予測は約Xずれています。
MAEを計算するには、最初にモデルが必要です。 これは下の非表示のセルに組み込まれており、コードボタンをクリックして確認できます。
モデルができたら、平均絶対誤差を計算する方法は次のとおりです。
「サンプル内」スコアの問題
計算したばかりのメジャーは、「サンプル内」スコアと呼ばれます。モデルの構築と評価の両方に、家の単一の「サンプル」を使用しました。これが悪い理由です。
大規模な不動産市場では、ドアの色が住宅価格とは無関係であると想像してみてください。
ただし、モデルの作成に使用したデータのサンプルでは、緑のドアのあるすべての家は非常に高価でした。モデルの仕事は、住宅価格を予測するパターンを見つけることです。そのため、このパターンが表示され、緑のドアのある住宅の高価格が常に予測されます。
このパターンはトレーニングデータから導出されたものであるため、モデルはトレーニングデータで正確に表示されます。
ただし、モデルが新しいデータを確認したときにこのパターンが当てはまらない場合、実際に使用するとモデルは非常に不正確になります。
モデルの実用的な価値は、新しいデータを予測することから得られるため、モデルの構築に使用されなかったデータのパフォーマンスを測定します。これを行う最も簡単な方法は、モデル構築プロセスから一部のデータを除外し、それらを使用して、これまでに見たことのないデータでモデルの精度をテストすることです。このデータは検証データと呼ばれます。
コーディングする
scikit-learnライブラリには、データを2つに分割する関数train_test_splitがあります。 そのデータの一部をモデルに適合させるためのトレーニングデータとして使用し、他のデータを検証データとして使用してmean_absolute_errorを計算します。
コードは次のとおりです。
Wow!
サンプル内データの平均絶対誤差は約500ドルでした。 サンプル外では250,000ドル以上です。
これは、ほぼ正確に正しいモデルと、ほとんどの実用的な目的に使用できないモデルの違いです。 参考までに、検証データの平均住宅価格は110万ドルです。 したがって、新しいデータの誤差は、平均住宅価格の約4分の1です。
このモデルを改善する方法はたくさんあります。たとえば、より良い機能やさまざまなモデルタイプを見つけるための実験などです。
あなたの番です
このモデルの改善を検討する前に、モデル検証を自分で試してください。
データサイエンスの森 Kaggleの歩き方 [ 坂本俊之 ] 価格:2,904円 |
価格:3,608円 |
すぐに使える!業務で実践できる!PythonによるAI・機械学習・深層学習アプリ [ クジラ飛行机 ] 価格:3,520円 |