この記事は以下の記事の続きです。
機械学習分類器で算出した傾向スコアを調整する話ですが、最後に課題として残ったのがprobability calibrationによる実践。探してみると前回の記事でもやったisotonic regressionとか色々出てくるんですが、もう一つ出てくるのがPlatt's scaling。これはあのSVMのSMOを提案したPlatt*1がprobability calibrationのために提案しているもので、web上にも幾つか資料があるようです。
やってることは極めて単純で、最初の分類確率値の計算をする際に0 / 1の二値への分類モデリングをやるのではなく、
という別の二値に変換した上で(ただしは正例の数では負例の数)、これを回帰したモデルで分類確率値を予測させるというだけです。
ということで、サクッとやってみましょう。ただしPlatt's scalingは流石はと言うべきかSVMの研究者が提案したものゆえ、SVMによる傾向スコア(というか分類確率値)のcalibrationのみを念頭に置いたものということなので、SVMの場合のみここでは扱います。その他の分類器による傾向スコアの調整は皆さんご自身でお願いしますということで。
*1:昨年移籍して現在同じ会社にいるのだと知りました笑