はてなキーワード: ホールドアウトとは
答えるから、お前も俺と同じレベルの精度で自分の仕事を開陳してね。逃げるなよ
期待利益とは具体的にどうやって出すんですか?
過去にユーザーがそのアイテムを「消費した」というデータがある
アイテムにはdescription属性があり、これを特徴量として使う(tfidf)
ネガティブサンプルは誰も消費していないアイテムの中からサンプリングする
ユーザー属性も取り入れるために、ユーザー属性のOneHotをベクトルに結合する
あとは「消費=True」「非消費=False」としてランダムフォレストを学習
汎化性能が確認できたら、それを「消費確率P」を予測するために使う
単価Vはアイテムの属性についているのでE=PVで期待利益を出す
それをどのようにレコメンドするんですか?
具体的にはクリック履歴のアイテムの属性をベクトル化し、近時最近傍法でn件抽出
特徴はユーザー属性のOneHotとアイテムのtfidf。ランダムフォレストは決定木を複数用いたアンサンブルアルゴリズム
トレーニングで苦労した部分はどのあたりですか?
消費確率PをABテストした時に、実際の消費確率と予測した消費確率が相関すること
pandas,numpy,scipy,sklearn。こんな要素技術の話はどうでも良し。
コンテンツ検索エンジンなので、「うちのサイトをクロールしてください」というフォームを作っている
単価あり=優先表示、単価なし=クロールするが非優先、という扱い
コンテンツにschema.orgで指定された方式でコンテンツを乗せるように依頼主に要求してあるので、あとはそのフォーマットに合致するものを再帰的に取得するだけ
はい、交差検証法はホールドアウト分割を繰り返し行う手法です。
## 交差検証法の手順
1. データセットを複数のフォールド(部分集合)に分割する。[1][2]
2. 1つのフォールドをテストデータ、残りをトレーニングデータとしてモデルを構築する。[1][2]
3. テストデータでモデルを評価し、評価指標(精度など)を記録する。[1][3]
4. 2と3を、すべてのフォールドが1回ずつテストデータになるまで繰り返す。[1][2]
5. 各フォールドでの評価指標の平均を最終的な評価値とする。[1][2][3]
つまり、交差検証法はホールドアウト分割(トレーニングデータとテストデータに分割)を複数回行い、その結果を平均化することで、より信頼性の高い汎化性能評価を行う手法なのです。[1][2][3]
この繰り返しによって、特定のデータ分割に左右されずに、より客観的な評価ができるというメリットがあります。[1][2]
代表的な交差検証法には、k分割交差検証やLOOCV(Leave-One-Out Cross-Validation)などがあり、データ量に応じて使い分けられます。[1][2]
Citations:
[1] https://shoblog.iiyan.net/cross-validation/
[2] https://ja.wikipedia.org/wiki/%E4%BA%A4%E5%B7%AE%E6%A4%9C%E8%A8%BC
[3] https://qiita.com/RyutoYoda/items/4ca997771e99d6c39ddb
はい、Kaggleのようなブラックボックスのリーダーボードで評価する現場は存在します。
機械学習モデルの評価には、一般的に以下の2つの方法があります。
1. **ホールドアウト評価**: 学習データを訓練データとテストデータに分割し、テストデータでモデルを評価する方法。[1]
2. **ブラックボックス評価**: 評価用のデータセットが公開されず、サーバーにモデルを提出して評価される方法。Kaggleのコンペティションがこの方式。[1][2]
つまり、Kaggleのようなブラックボックス評価は、機械学習の様々な現場で採用されている評価方式の1つであり、特に実運用に近い評価が求められる場合に有効な手段となっています。[1][2][3]
Citations:
[1] https://qiita.com/Shun_PI/items/896d05ed9689f4b24347
[2] https://www.kikagaku.co.jp/kikagaku-blog/kaggle-competition/
[3] https://www.kikagaku.co.jp/kikagaku-blog/signate-competition/
[4] https://www.topgate.co.jp/blog/google-service/8707
[5] https://www.jst.go.jp/crds/pdf/2023/RR/CRDS-FY2023-RR-02.pdf