特徴量エンジニアリング
Keibaproシステムで使用する42個の特徴量について詳細に解説します。 基本情報から高度な複合指標まで、多角的な視点で競走馬の能力を評価します。
特徴量カテゴリ
基本特徴量
馬の基本情報、位置情報、年齢・距離カテゴリ
過去成績
過去レースの成績統計と傾向
高優先度
AI分析による複合指標
基本特徴量(17個)
ターゲット変数
- • is_win: 1着か否か(予測対象)
人気・位置情報
- • tansho_ninkijun: 単勝人気順
- • is_inner: 内枠フラグ(馬番≦4)
- • is_outer: 外枠フラグ(馬番≧14)
性別・馬体情報
- • is_male: 牡馬フラグ
- • is_female: 牝馬フラグ
- • weight_change: 馬体重変化(前走比)
年齢カテゴリ
- • is_young: 若馬(3歳以下)
- • is_prime: 盛年馬(4-6歳)
- • is_veteran: ベテラン馬(7歳以上)
距離カテゴリ
- • is_sprint: 短距離(1400m以下)
- • is_mile: マイル(1400-1800m)
- • is_intermediate: 中距離(1800-2400m)
- • is_long: 長距離(2400m超)
過去成績特徴量(15個)
馬の過去成績(3/5/10走)
- • horse_avg_position_last3/5/10: 過去n走の平均着順
- • horse_win_rate_last3/5/10: 過去n走の勝率
- • horse_place_rate_last3/5/10: 過去n走の連対率(2着以内)
騎手・調教師成績
- • jockey_win_rate_30d: 騎手の直近30日勝率
- • jockey_place_rate_30d: 騎手の直近30日連対率
- • trainer_win_rate_30d: 調教師の直近30日勝率
- • trainer_place_rate_30d: 調教師の直近30日連対率
前走情報・成績安定性
- • days_since_last_race: 前走からの間隔(日数)
- • prev_1_position: 前走着順
- • prev_2_position: 2走前着順
- • prev_3_position: 3走前着順
- • position_std_last5: 過去5走の着順標準偏差
高優先度特徴量(10個)
momentum_score
直近3走の順位改善度。勢いのある馬を検出。
consistency_index
成績の安定性指標。着順のばらつきが小さい馬を高評価。
field_strength_index
フィールドの強さ。レース全体のレベルを評価。
relative_class_rating
クラス内での相対評価。同クラスでの実績を標準化。
jockey_course_expertise
騎手のコース専門性。特定コースでの騎手の専門度。
pace_suitability_score
ペース適性スコア。脚質とレースペースの適合度。
roi_potential
ROI潜在性。投資収益率の可能性を評価。
odds_x_jockey_skill
オッズ×騎手スキル。過小評価されている実力馬を発見。
distance_x_surface
距離×馬場。距離と馬場タイプの相互作用。
weight_per_age
斤量/年齢。年齢に対する斤量負担を評価。
特徴量選択手法
Boruta
ランダムフォレストベースの特徴量重要度判定
RFE
再帰的特徴量削除による最適化
Lasso
L1正則化による特徴量選択
投票
複数手法の多数決による選択
42個の特徴量から最も予測に寄与する特徴量を自動選択。 過学習を防ぎながら予測精度を最大化します。
データ処理の工夫
- • 欠損値処理: LightGBMの自動処理機能を活用
- • カテゴリ変数: Label Encodingで効率的に処理
- • 時系列リーク防止: Point-in-Time特徴量計算
- • 標準化: 一部の特徴量にはRobustScalerを適用
- • 外れ値処理: IQRベースのクリッピング