2024/09/30

System.Data.SQLite.Core Version 1.0.119

待ちに待った新バージョンが現地時間で9月29日にリリースとなってました。以前6月公開予定だったものが先月9月公開予定に変更されまた。予告通りには行かないのかと心配していましたが、無事に9月中のリリースとなり早速さらだにも適応、バグ対策のリトライはコメントアウトしてアプリのバージョンも上げてJRA-VANにも変更申請行いました。

フルセットアップに掛かる時間が短縮された感じなのでSQLiteの進化が伺えます。まあ、バグ修正だけがこのバージョンアップの内容ではなく、逆に他の進化に今回のバグ修正も含まれたと思うので喜ばしい事だと思います。

例年的に11月には24H2が出てくると思うし、それに合わせてかどうかは別として昨年も11月後半辺りに.NET8が出てきてますので今年も.NET9が期待されます。なにって.NETに合わせてML.NETもバージョンアップするらしいので、現在PreviewのML.NET v4.0.0も正式版になるだろうし、それに合わせて使われるLightGBMも最新版とまでは行かないまでも新しい物になればAI予想の精度アップに繋がってくれる事が期待出来るかなぁっとね。

LightGBMのC APIでの利用も徐々に進めてはいますが、簡単なものではないです。情報が少なくてどう進めていけるかは手探り状態なので全く読めません。なので可能ならML.NET自体が進化してくれる事なんですけどね。 

2024/09/29

LightGBMを直接

Copilotに質問ぶつけながら、まあ、何故ここまで嘘を教えるのか疑問がありますが、間違いを指摘すると修正はしてくれます。しかし、その間違いを見つけるのに当然苦労します。LightGBMをC APIの利用で使おうとしてメソッドの引数の数がそもそも違ったり、順番が違ったりでどうにか動かす事が出来る様にはなりましたが、RMSEがもう一つだし、安定した結果が得られません。

大分苦労してどうにか動く所まではこぎ着けましたが、これが実際にモノになるのかが疑問です。ここまで苦労して結局AutoMLに及ばなかったりModel Builderに及ばなかったり、まあ、そもそもAutoMLで最新LightGBMを採用してくれたりModel Builderで採用してくれたりしたら結果的にはこの苦労が無駄になるのかも😓

// LightGBM.dllの関数をインポート
[DllImport("lib_lightgbm.dll", CallingConvention = CallingConvention.Cdecl)]
// public static extern int LGBM_DatasetCreateFromFile(string filename, string parameters, ref IntPtr handle);
public static extern int LGBM_DatasetCreateFromFile(
    string filename,
    string parameters,
    IntPtr reference,
    out IntPtr dataset);

[DllImport("lib_lightgbm.dll", CallingConvention = CallingConvention.Cdecl)]
// public static extern int LGBM_BoosterCreate(IntPtr trainData, string parameters, ref IntPtr handle);
public static extern int LGBM_BoosterCreate(
    IntPtr trainData,
    string parameters,
    out IntPtr booster);

[DllImport("lib_lightgbm.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int LGBM_BoosterUpdateOneIter(
    IntPtr booster,
    out int isFinished);

[DllImport("lib_lightgbm.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int LGBM_BoosterPredictForMat(
    IntPtr booster,
    double[] data,
    int dataType,
    int numRows,
    int numCols,
    int isRowMajor,
    int predictType,
    int startIteration,
    int numIteration,
    string parameters,
    out int outLen,
    IntPtr outResult);

[DllImport("lib_lightgbm.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern IntPtr LGBM_GetLastError();

LightGBMの最新バージョンのソースをダウンロードしてDLLをビルド。プロジェクトにlib_lightgbm.dllとlib_lightbgm.pdbを追加する。

string filename = this.CSV_name; // データファイルのパス
var lines = File.ReadAllLines(filename);
var header = lines[0].Split(',');
var data = lines.Skip(1).Select(line => line.Split(',').Select(double.Parse).ToArray()).ToArray();

// データのランダム分割
var rand = new Random();
data = data.OrderBy(x => rand.Next()).ToArray();
int trainSize = (int)(data.Length * 0.8);
var trainData = data.Take(trainSize).ToArray();
var testData = data.Skip(trainSize).ToArray();

// トレーニングデータの保存
string trainFilename = "train_data.csv";
File.WriteAllLines(trainFilename, new[] { string.Join(",", header) }.Concat(trainData.Select(row => string.Join(",", row))));

// テストデータの保存
string testFilename = "test_data.csv";
File.WriteAllLines(testFilename, new[] { string.Join(",", header) }.Concat(testData.Select(row => string.Join(",", row))));

学習データはこんな感じで準備して

// データセットの作成
IntPtr reference = IntPtr.Zero;
IntPtr dataset;
string datasetParameters = "max_bin=255 header=true label_column=name:Souha";
int datasetResult = LGBM_DatasetCreateFromFile(trainFilename, datasetParameters, reference, out dataset);

データセットを作成して

// ブースターの作成
string boosterParameters = "objective=regression;metric=rmse;num_leaves=31;learning_rate=0.05;feature_fraction=0.8";
IntPtr booster;
int boosterResult = LGBM_BoosterCreate(dataset, boosterParameters, out booster);

ブースターの作成? これ学習モデルなんだと思います。

// ブースターのトレーニング
int numIterations = (int)nudRepeat.Value;
int earlyStoppingRounds = 10; // 早期停止のラウンド数
double bestScore = double.MaxValue;
int bestIteration = 0;

for (int i = 0; i < numIterations; i++)
{
    int isFinished;
    int updateResult = LGBM_BoosterUpdateOneIter(booster, out isFinished);
    if (updateResult != 0)
    {
        rtbLog.AppendText("Failed to update booster at iteration " + i + Environment.NewLine);
        break;
    }

    // 早期停止のチェック
    IntPtr outResult = Marshal.AllocHGlobal(sizeof(double) * trainSize);
    int outLength;
    LGBM_BoosterPredictForMat(booster, trainData.SelectMany(x => x).ToArray(),
                                1, trainSize, trainData[0].Length,
                                1, 0, 0, -1, "predict_type=normal", out outLength, outResult);
    double[] resultArray = new double[trainSize];
    Marshal.Copy(outResult, resultArray, 0, trainSize);
    double rmse = CalculateRMSE(trainData.Select(row => row.Last()).ToArray(), resultArray);

    if (rmse < bestScore)
    {
        bestScore = rmse;
        bestIteration = i;
    }
    else if (i - bestIteration >= earlyStoppingRounds)
    {
        rtbLog.AppendText("Early stopping at iteration " + i + Environment.NewLine);
        break;
    }
}

過剰学習を防ぐ為(?)に早期停止とかの確認入れてって事で

// テストデータの準備
var testFeatures = testData.Select(row => row.Take(row.Length - 1).ToArray()).ToArray();
var actualValues = testData.Select(row => row.Last()).ToArray();
double[] testDataFlat = testFeatures.SelectMany(x => x).ToArray();
int numRows = testFeatures.Length;
int numCols = testFeatures[0].Length;
int isRowMajor = 1; // 1: 行優先, 0: 列優先
string predictParameters = "predict_type=normal";
IntPtr outResultPtr = Marshal.AllocHGlobal(sizeof(double) * numRows);
int outLen;

// 予測の実行
int predictResult = LGBM_BoosterPredictForMat(booster, testDataFlat, 1, numRows, numCols, isRowMajor, 0, 0, -1, predictParameters, out outLen, outResultPtr);

if (predictResult == 0)
{
    // Console.WriteLine("Prediction completed successfully.");
    rtbLog.AppendText("Prediction completed successfully." + Environment.NewLine);
    // 予測結果を表示
    double[] resultArray = new double[numRows];
    Marshal.Copy(outResultPtr, resultArray, 0, numRows);

    // RMSEの計算
    double rmse = CalculateRMSE(actualValues, resultArray);
    rtbLog.AppendText("RMSE: " + rmse + Environment.NewLine);
}
else
{
    rtbLog.AppendText("Failed to predict." + Environment.NewLine);
}

こんな感じにRMSEも表示出来る。

追記 2024.10.1
早期停止判断時のRMSE用の予想とRMSEの計算時に渡しているものが微妙らしく、Copilotのコードでは判断時のRMSEを表示させてみるとおかしな値になっていたので、終了時にひょうじされるRMSEがそれっぽかったので、そちらを採用して書き直してみた所、やっとそれっぽくなってきた😁

2024/09/28

第58回スプリンターズステークス

相変わらず自分が開発してるにも関わらずGIではまるのりする気になれなくて

こんな感じで行く予定です。

AI的には3番人気1番人気4番人気とかなり堅い予想です。

オッズマスターズ グランプリ 2024 秋

今日から始まりましたね。ちと対策迷いましたが本日は全馬券1点って事で800円/Rで行ってみた。これって負け勝負な気はしてますが、くれば勝機あり?

本日は回収率75%程度で負けました。実際、本来なら買わない馬券に手を出してます。具体的には1倍代の1番人気の単勝とかね。これ、当てても全く嬉しくないし、収支的にもねぇ。それでも、JRAの取り分的にイーブンだったのは結果オーライかなぁ。明日に期待です。

追記 2024.9.29 16:38
惨敗です😭

本日は回収率61%程度と負けました。ちょっと何かする必要がありそうですが...困りました。

追記 2024.10.5 18.29
う~ん、先週はフライングでしたorz
本日からスタートですね。

2024/09/25

Microsoft Rewards 15回目

前回から44日での獲得は大分早まってます。スマホのBingでの継続で12週継続で1,000ポイントとか今あるのが理由だと思います。が!実は昨日既に交換可能だったんですが、PCからはエラーだったので本日スマホで。更に先月まであった楽天ポイントは消えてます。5,460ポイントでamazonの600ポイントにしました。それと、自動で必要ポイントに到達したら交換っての設定してると思うんですが機能してません。流石です!Microsoft!!

2024/09/21

通常用CKの学習を更に24時間

懲りずにひたすらやれる事はやる様にしてます。現状LightGBMを直接利用する方法を模索してますが、若干情報も少なくてCopilotに質問しても微妙な回答で苦労はしてます。勤務中でもひたすら自動で学習してくれるので、今回は通常用CKを24時間学習させてみた最適RMSEは1.3376で2024.7.1~2024.9.16の検証が

633R 1点 芝(321R) ダート(286R) 障害(26R) 8頭以下(44R) 9~12頭(184R) 13頭以上(405R) 多点
単勝 24.80%
(77.80%)
23.99%
(84.98%)
23.78%
(65.35%)
46.15%
(126.15%)
47.73%
(104.32%)
29.35%
(80.38%)
20.25%
(73.75%)
53.71%
(78.64%)
複勝 53.71%
(81.61%)
48.91%
(73.49%)
57.69%
(89.90%)
69.23%
(90.77%)
63.64%
(78.18%)
60.33%
(86.20%)
49.63%
(79.90%)
88.78%
(79.57%)
枠連 12.36%
(91.16%)
10.78%
(77.73%)
13.33%
(94.41%)
27.27%
(340.00%)
--
(--)
13.04%
(94.13%)
10.86%
(81.04%)
26.55%
(74.65%)
馬連 9.16%
(71.80%)
7.48%
(60.22%)
9.79%
(81.96%)
23.08%
(103.08%)
22.73%
(71.82%)
11.96%
(94.51%)
6.42%
(61.48%)
20.54%
(66.18%)
ワイド 21.96%
(78.03%)
20.87%
(73.64%)
21.33%
(81.36%)
42.31%
(95.38%)
43.18%
(80.23%)
26.09%
(84.13%)
17.78%
(75.01%)
40.92%
(75.50%)
馬単 5.06%
(65.61%)
4.05%
(53.24%)
4.90%
(70.52%)
19.23%
(164.23%)
13.64%
(75.91%)
7.07%
(106.90%)
3.21%
(45.73%)
20.54%
(66.62%)
三連複 6.16%
(101.97%)
5.61%
(67.29%)
5.94%
(143.18%)
15.38%
(76.92%)
13.64%
(37.95%)
8.70%
(78.21%)
4.20%
(119.73%)
15.96%
(91.30%)
三連単 1.42%
(39.34%)
1.25%
(38.60%)
1.40%
(35.84%)
3.85%
(86.92%)
2.27%
(23.64%)
2.17%
(32.93%)
0.99%
(43.95%)
15.96%
(99.17%)
総合 54.98%
(75.66%)
50.47%
(65.91%)
58.39%
(82.73%)
73.08%
(119.53%)
72.73%
(67.44%)
60.33%
(82.17%)
50.62%
(72.57%)
89.57%
(87.26%)

ちょっとまた判断がし辛いレベルで...でも、先週は散々な結果だったので今週末はこれで行ってみます。日曜日はまた出勤なんですが、午後には戻れるかな。

iPhone 16到着

妻用の無印iPhone 16が予定通りの発売日に到着しましたが、日付変わったほんの少し前まで散々苦労させられました。まず、クイックスタートを利用すればとiPhone Xsと並べて諸々進めるが何故かLINEとかが復元されず、やり直すかって事で工場出荷状態に戻すべくiPhone自身のリセット諸々試すも全てNG。結局PCのiTunes使ってやっとクイックスタートからやり直せる状態になりました。

更にdocomoのeSIMなんですが、これがまた面倒だし説明が悪いっていうかもう本当に疲れました。まあ、自分のではないのでいちいち顔認証を求められると妻に渡してって感じでうんざりでした。これまた自分のが届いたらまたやるのが辛いですが、一度やったので少し学習出来ていればもう少しスムーズに行けるかなぁ。docomoには本当にキャリアメール有効にする度にゴミを画面にまき散らすのをやめて欲しい。

まっ、次の機種変更はしないで電池交換数回で20年位行ければもう生きてないかもだし😏 老いて本当に小さい字が辛いからやりたくないです。

2024/09/16

新たに50時間の学習慣行

めげずに50時間学習に挑みましたが今回も撃沈?

|--------------------------------------------------------------------|
|                          Experiment Results                        |
|--------------------------------------------------------------------|
|                               Summary                              |
|--------------------------------------------------------------------|
|ML Task: regression                                                 |
|Dataset: E:\My Project\MBJuniFullCK\RaceJuniFullCK.csv              |
|Label : Juni                                                        |
|Total experiment time : 180000.0000 Secs                            |
|Total number of models explored: 849                                |
|--------------------------------------------------------------------|
|                        Top 5 models explored                       |
|--------------------------------------------------------------------|
|      Trainer                             RMSE       Duration       |
|--------------------------------------------------------------------|
|107   LightGbmRegression                  2.9438     108.7280       |
|480   LightGbmRegression                  2.9446     140.0260       |
|472   LightGbmRegression                  2.9446     203.7740       |
|665   LightGbmRegression                  2.9453     86.3900        |
|471   LightGbmRegression                  2.9454     141.1520       |
|--------------------------------------------------------------------|

これ見る限50時間の学習で849トライアルして、最適RMSEは107回目で出てます。ってこれまた700回程度が無駄orz

追記 2024.9.17 20:47
検証してみると

647R 1点 芝(360R) ダート(264R) 障害(23R) 8頭以下(59R) 9~12頭(191R) 13頭以上(397R) 多点
単勝 22.41%
(73.82%)
21.94%
(79.50%)
21.59%
(64.58%)
39.13%
(90.87%)
32.20%
(70.17%)
27.75%
(83.77%)
18.39%
(69.57%)
51.93%
(73.10%)
複勝 52.09%
(81.70%)
48.89%
(75.86%)
55.68%
(89.62%)
60.87%
(82.17%)
59.32%
(73.56%)
59.16%
(86.02%)
47.61%
(80.83%)
86.86%
(82.32%)
枠連 12.15%
(76.13%)
13.03%
(79.33%)
11.20%
(71.40%)
11.11%
(106.67%)
--
(--)
13.61%
(77.33%)
10.08%
(66.93%)
24.68%
(66.46%)
馬連 9.12%
(63.06%)
9.44%
(65.39%)
7.58%
(56.74%)
21.74%
(99.13%)
25.42%
(105.42%)
12.04%
(74.24%)
5.29%
(51.39%)
20.09%
(61.29%)
ワイド 21.64%
(73.52%)
20.56%
(67.67%)
20.83%
(78.33%)
47.83%
(110.00%)
44.07%
(84.75%)
24.61%
(70.31%)
16.88%
(73.40%)
41.42%
(81.32%)
馬単 5.10%
(66.60%)
5.00%
(73.11%)
4.17%
(50.72%)
17.39%
(146.96%)
11.86%
(95.93%)
7.33%
(81.15%)
3.02%
(55.24%)
20.09%
(60.19%)
三連複 6.49%
(106.43%)
6.39%
(80.14%)
5.30%
(142.84%)
21.74%
(100.00%)
13.56%
(53.05%)
7.85%
(74.40%)
4.79%
(129.77%)
15.61%
(79.69%)
三連単 1.08%
(33.38%)
0.56%
(14.39%)
1.14%
(40.64%)
8.70%
(247.39%)
1.69%
(23.05%)
1.57%
(31.52%)
0.76%
(35.82%)
15.61%
(75.90%)
総合 53.32%
(71.74%)
50.00%
(66.59%)
56.82%
(74.38%)
65.22%
(124.24%)
66.10%
(72.28%)
59.16%
(72.34%)
48.61%
(70.37%)
87.64%
(73.46%)

これは良いのか悪いのか...

JRAアニバーサリー

ダービーでもそうでしたが、今回も踊らさせて全レース500円以上を既に投資。ってのも明日は普通に日勤で仕事です。

昨日と今日は本当にサラッと買ってサラッと負けました。この二日のしわ寄せがここで爆発してくれれば吉😉

これダービーの時にもらえた奴です。

本日は散々でしたorz

結局本週末は1万円程度の負けorz

2024/09/13

iPhone 16シリーズ

現在もう6年前のiPhone Xs Maxを使ってるんですが、何となくiOS18では対象外になるんじゃないかと思っていたんですが、対象になりました。が!娘に妻のiPhoneのバッテリーがもちが悪く買い替えてあげてと昨年言われ、16の発表待って買い替えるよって言ってたんです。iOS 18の発表ではXs Maxはまだ対象だと分かって微妙な感じです。キャリアで割賦で買うのも有りですが高いです😖 今回は妻用と自分用が買い替えです。

  • iPhone 16 128GB 124,800円
  • iPhone 16 Pro Max 256GB 189,800円

合計 314,600円です😖 Apple Careとか無で行きます。キャリアではもっと高いと思うし、今晩の予約スタートで無事に行ければと思ってます。これが今回同様6年程度行ければ、その時には自分自身は67歳となり、継続して勤務出来てるのか年金生活で死んでるかもなので...リタイアしてたら、別に自宅でのんびり状態だと思うので、アップルに電池交換お願いするかなぁ😅

追記 2024.9.13 21:42
夜勤明けで20:30頃までテレビ見ながら待ってたんですが、気が付くと21:25とかで慌ててPCに行って予約。iPhone 16の妻用は普通に9/20に配送予定となりましたが、iPhone 16 Pro Maxは10月下旬の配送予定でしたorz

2024/09/11

久しぶりにLightGBMのビルド

LightGBM Version 4.5.0の直接的な利用にはC#からC++ API経由で呼び出す必要があるとCopilotに言われ、その為にはDLLをビルドする必要があるって事で久しぶりに行う事にしたのですが、若干スムーズに進まなかったのでメモします。

まず、Visual Studio Community 2022は既に当然ながらインストールされているのでこれを使ってビルドする事にしました。説明からRelease・microsoft/LightGBMに飛ぶと現時点(2024.9.11)ではv4.5.0だよって事で下にスクロールしていくと"▼Assets"があり、その下にダウンロード可能な一覧があります。しかし、欲しいファイルは表示されてないので"Show all 20 assets"をクリックすれば"LightGBM-complete_source_code_zip.zip"が出てくるのでクリックしてダウンロード。適当な場所に解凍します。説明では"LightGBM-master/windows"フォルダにある"LightGBM.sln"をとありますが、そもそも普通に回答すると"LightGBM-complete_source_code_zip"というフォルダになり"LightGBM-master"ではありません。なのでVisual Studioで"プロジェクトやソリューションを開く"で"LightGBM-complete_source_code_zip/windows/LightGBM.sln"を選択します。

Visual Studio Community 2022のインストール時にC++での開発にチェックを入れてないとプロジェクトを開こうとするとVisual Studio Installerが起動してインストールが始まります。で、この時点で開いているVisual Studioは無条件に終了されます。実はModel BuilderはVisual Studioの拡張機能なので24時間学習中で残り2時間だったのも強制的に終了させられます。その時点での最適RMSEの学習モデルは保存されるんですがRMSEが不明だったりします。

で、C++のインストールが済んだら強制的に閉めたVisual Studioも再度開きますけど...まっ、学習モデルはあきらめるとして作業を進めるには開けようとしている"LightGBM.sln"はVisual Studio 2015とかのものらしく、古いので対応したものにコンバートしますか的な確認が出て表示されているものをそのまま適応させる感じで進め、指示通り"Debug"ではなく"Release"にしてビルドを開始すると"common.h"の33行目で

#include "fast_double_parser.h"

となっている部分とその次の行の

#include "fmt/format.h"

がファルイが見つからないとエラーになります。この部分を修正する必要があり

#include "../../external_libs/fast_double_parser/include/fast_double_parser.h"
#include "../../external_libs/fmt/include/fmt/format.h"

としてやるとビルドが成功します。で、まあ、今回必要なのはDLLでそれを使うプロジェクトに追加して利用する様なので"Release"から"DLL"にして再度ビルドすれば"LightGBM-complete_source_code_zip/windows/x64/DLL"フォルダにDLLが出来上がる。

追記 2024.9.14
C言語での開発とかまだMS-DOSの頃とかUnixでの経験で30年以上前になるので記憶が曖昧だけど、MS-DOSでは環境変数とかでもしかしてincludeのヘッダーファイルのパスとか指定して置けば行けるんだったのかも? Githubで公開されているソースなので上記のようなエラーが出るままって事では無い様にも思えてきた😅

2024/09/08

順位フルCKのミス

何度も学習させてロード時にエラーになってる順位フルCKですが、自分がよくエラー内容確認してなかったのが悪いんですが、Model Builderで学習させる時にCSVの設定が必要なんですが、ここがヘンテコに変わってしまってました。それに気が付かないまま何度も学習させていたので全くの無駄でした😓 今朝気か付いて取敢えず1時間学習させて最適RMSE 2.9745が出ました。

599R 1点 芝(338R) ダート(240R) 障害(21R) 8頭以下(48R) 9~12頭(174R) 13頭以上(377R) 多点
単勝 20.70%
(76.19%)
21.60%
(89.38%)
18.33%
(56.25%)
33.33%
(91.90%)
35.42%
(93.33%)
24.14%
(82.30%)
17.24%
(71.19%)
52.42%
(77.04%)
複勝 50.42%
(82.30%)
48.22%
(79.88%)
52.92%
(86.50%)
57.14%
(73.33%)
62.50%
(83.13%)
53.45%
(80.92%)
47.48%
(82.84%)
88.15%
(84.06%)
枠連 12.13%
(75.07%)
10.66%
(73.93%)
13.91%
(78.26%)
11.11%
(27.78%)
--
(--)
14.37%
(86.21%)
9.81%
(61.96%)
24.07%
(72.09%)
馬連 9.35%
(69.20%)
7.40%
(50.83%)
10.83%
(93.87%)
23.81%
(82.86%)
22.92%
(70.00%)
13.22%
(92.87%)
5.84%
(58.17%)
20.87%
(72.53%)
ワイド 20.03%
(74.72%)
18.05%
(62.66%)
20.42%
(89.58%)
47.62%
(99.05%)
43.75%
(80.63%)
24.14%
(80.11%)
15.12%
(71.49%)
42.57%
(84.42%)
馬単 4.67%
(65.34%)
3.55%
(65.89%)
5.00%
(60.25%)
19.05%
(114.76%)
10.42%
(63.12%)
8.05%
(115.98%)
2.39%
(42.25%)
20.87%
(72.75%)
三連複 6.34%
(72.62%)
6.80%
(78.73%)
5.00%
(64.50%)
14.29%
(67.14%)
8.33%
(32.92%)
10.34%
(122.07%)
4.24%
(54.85%)
16.69%
(105.92%)
三連単 1.67%
(84.29%)
1.48%
(105.09%)
1.67%
(56.71%)
4.76%
(64.76%)
2.08%
(28.33%)
3.45%
(209.83%)
0.80%
(33.47%)
16.69%
(100.52%)
総合 51.92%
(74.97%)
50.00%
(75.85%)
53.75%
(73.21%)
61.90%
(81.54%)
68.75%
(64.49%)
53.45%
(108.79%)
49.07%
(59.53%)
88.98%
(90.91%)

現在は既に10時間学習をスタートさせてます。

追記 2024.9.8. 21:35
少し前に10時間学習が終わって最適RMSE 2.9543でした。

599R 1点 芝(338R) ダート(240R) 障害(21R) 8頭以下(48R) 9~12頭(174R) 13頭以上(377R) 多点
単勝 23.21%
(85.44%)
23.08%
(90.68%)
22.92%
(79.63%)
28.57%
(67.62%)
29.17%
(113.33%)
27.59%
(92.36%)
20.42%
(78.70%)
53.09%
(79.53%)
複勝 54.09%
(88.83%)
50.00%
(83.34%)
59.17%
(96.63%)
61.90%
(88.10%)
60.42%
(94.58%)
56.90%
(85.86%)
51.99%
(89.47%)
87.48%
(82.79%)
枠連 10.37%
(56.42%)
9.93%
(54.96%)
11.30%
(60.35%)
0.00%
(0.00%)
--
(--)
10.92%
(55.69%)
9.02%
(50.77%)
24.66%
(70.31%)
馬連 7.68%
(61.35%)
7.10%
(56.42%)
7.50%
(68.21%)
19.05%
(62.38%)
22.92%
(103.12%)
10.34%
(77.01%)
4.51%
(48.81%)
20.53%
(71.38%)
ワイド 20.03%
(73.09%)
18.34%
(70.03%)
20.42%
(75.79%)
42.86%
(91.43%)
39.58%
(79.79%)
21.84%
(68.28%)
16.71%
(74.46%)
43.07%
(87.13%)
馬単 5.01%
(82.97%)
4.14%
(70.36%)
5.42%
(101.25%)
14.29%
(77.14%)
12.50%
(105.00%)
8.05%
(120.69%)
2.65%
(62.76%)
20.53%
(69.88%)
三連複 7.01%
(114.61%)
5.62%
(60.86%)
7.50%
(190.75%)
23.81%
(109.52%)
10.42%
(53.75%)
9.20%
(89.89%)
5.57%
(133.77%)
16.53%
(99.54%)
三連単 1.84%
(117.93%)
1.18%
(78.99%)
2.50%
(177.42%)
4.76%
(64.76%)
4.17%
(148.12%)
2.87%
(152.64%)
1.06%
(98.06%)
16.53%
(95.06%)
総合 55.59%
(85.62%)
51.18%
(71.10%)
60.83%
(106.49%)
66.67%
(75.51%)
68.75%
(99.67%)
56.90%
(92.80%)
53.32%
(79.60%)
88.15%
(87.40%)

もう一段階上に行って欲しいので、後日24時間とかしてみます。

追記 2024.9.10
今朝終わった24時間学習の最適RMSE 2.9402でした。これ思いのほか伸びなくて、357トライアル行って114番目のトライアルなのでザックリと12時間学習程度で、残りの12時間は無駄だった感じなので再学習は必要かもです。

647R 1点 芝(360R) ダート(264R) 障害(23R) 8頭以下(59R) 9~12頭(191R) 13頭以上(397R) 多点
単勝 22.87%
(81.79%)
24.17%
(100.25%)
19.70%
(54.39%)
39.13%
(107.39%)
38.98%
(141.86%)
25.13%
(70.05%)
19.40%
(78.51%)
53.01%
(76.24%)
複勝 52.40%
(83.96%)
52.50%
(85.47%)
52.27%
(83.37%)
52.17%
(66.96%)
66.10%
(96.10%)
53.93%
(79.16%)
49.62%
(84.46%)
87.94%
(82.55%)
枠連 12.89%
(83.44%)
11.62%
(83.91%)
14.00%
(81.08%)
22.22%
(134.44%)
--
(--)
13.09%
(81.68%)
11.34%
(74.84%)
25.41%
(69.80%)
馬連 10.05%
(79.51%)
8.89%
(71.53%)
10.23%
(87.05%)
26.09%
(117.83%)
28.81%
(130.00%)
12.04%
(87.54%)
6.30%
(68.14%)
21.17%
(67.53%)
ワイド 21.48%
(74.05%)
19.44%
(71.22%)
22.35%
(76.48%)
43.48%
(90.43%)
47.46%
(94.92%)
23.04%
(69.58%)
16.88%
(73.10%)
42.66%
(83.48%)
馬単 5.41%
(66.26%)
4.72%
(71.11%)
4.92%
(49.62%)
21.74%
(181.30%)
15.25%
(106.27%)
8.38%
(99.63%)
2.52%
(44.26%)
21.17%
(66.75%)
三連複 6.49%
(113.93%)
6.39%
(110.75%)
5.68%
(120.45%)
17.39%
(88.70%)
13.56%
(65.25%)
7.85%
(86.70%)
4.79%
(134.26%)
15.77%
(87.95%)
三連単 1.85%
(66.11%)
1.39%
(59.97%)
1.52%
(50.11%)
13.04%
(345.65%)
3.39%
(40.68%)
4.19%
(170.99%)
0.50%
(19.42%)
15.77%
(90.65%)
総合 53.94%
(81.08%)
53.89%
(81.72%)
53.79%
(75.28%)
56.52%
(142.18%)
72.88%
(96.44%)
53.93%
(93.17%)
51.13%
(72.12%)
88.72%
(83.17%)

一応これをVersion 1.6.2に添付してみました。

2024/09/07

検証に頭数別を追加

検証時に頭数別も表示する様に追加してみた。

67R 1点 芝(58R) ダート(9R) 8頭以下(15R) 9~12頭(28R) 13頭以上(24R) 多点
単勝 26.87%
(120.30%)
25.86%
(124.31%)
33.33%
(94.44%)
33.33%
(282.67%)
14.29%
(42.14%)
37.50%
(110.00%)
52.24%
(70.90%)
複勝 50.75%
(82.84%)
51.72%
(86.55%)
44.44%
(58.89%)
60.00%
(125.33%)
42.86%
(65.71%)
54.17%
(76.25%)
83.58%
(68.06%)
枠連 18.60%
(138.60%)
20.00%
(135.14%)
12.50%
(153.75%)
--
(--)
17.86%
(77.14%)
12.50%
(158.33%)
18.60%
(51.07%)
馬連 10.45%
(90.30%)
10.34%
(54.66%)
11.11%
(320.00%)
6.67%
(20.00%)
14.29%
(75.00%)
8.33%
(152.08%)
17.91%
(55.52%)
ワイド 19.40%
(53.28%)
18.97%
(45.69%)
22.22%
(102.22%)
40.00%
(77.33%)
17.86%
(50.71%)
8.33%
(41.25%)
35.82%
(59.85%)
馬単 2.99%
(85.22%)
1.72%
(16.21%)
11.11%
(530.00%)
0.00%
(0.00%)
0.00%
(0.00%)
8.33%
(237.92%)
17.91%
(50.22%)
三連複 4.48%
(69.10%)
3.45%
(13.45%)
11.11%
(427.78%)
6.67%
(16.00%)
3.57%
(19.29%)
4.17%
(160.42%)
11.94%
(58.13%)
三連単 1.49%
(363.73%)
0.00%
(0.00%)
11.11%
(2,707.78%)
0.00%
(0.00%)
0.00%
(0.00%)
4.17%
(1,015.42%)
11.94%
(58.11%)
総合 53.73%
(124.80%)
55.17%
(55.56%)
44.44%
(554.93%)
73.33%
(74.48%)
42.86%
(41.25%)
54.17%
(243.96%)
85.07%
(58.23%)

新馬戦ではたまたま(?)多頭数が成績が良いのはそれなりに配当が増えるから?

532R 1点 芝(280R) ダート(231R) 障害(21R) 8頭以下(33R) 9~12頭(146R) 13頭以上(353R) 多点
単勝 23.31%
(77.61%)
23.21%
(85.79%)
22.08%
(66.71%)
38.10%
(88.57%)
39.39%
(80.30%)
29.45%
(82.81%)
19.26%
(75.21%)
52.82%
(78.48%)
複勝 55.45%
(88.63%)
52.14%
(84.54%)
58.87%
(93.72%)
61.90%
(87.14%)
69.70%
(92.12%)
63.70%
(95.07%)
50.71%
(85.64%)
87.97%
(84.42%)
枠連 11.97%
(72.20%)
12.24%
(81.39%)
11.71%
(60.99%)
11.11%
(106.67%)
--
(--)
13.70%
(104.38%)
10.20%
(52.55%)
24.57%
(66.45%)
馬連 8.65%
(64.53%)
8.57%
(67.57%)
7.36%
(56.84%)
23.81%
(108.57%)
30.30%
(131.52%)
11.64%
(97.05%)
5.38%
(44.82%)
20.68%
(64.86%)
ワイド 20.11%
(71.62%)
17.50%
(65.07%)
20.78%
(75.80%)
47.62%
(112.86%)
45.45%
(96.97%)
23.97%
(75.62%)
16.15%
(67.59%)
42.86%
(83.80%)
馬単 4.70%
(64.85%)
5.00%
(85.82%)
3.03%
(30.69%)
19.05%
(160.95%)
12.12%
(67.58%)
7.53%
(85.89%)
2.83%
(55.89%)
20.68%
(65.70%)
三連複 6.58%
(92.61%)
6.79%
(74.68%)
5.19%
(113.94%)
19.05%
(97.14%)
9.09%
(40.61%)
11.64%
(127.60%)
4.25%
(83.00%)
16.54%
(86.84%)
三連単 2.07%
(102.29%)
2.50%
(154.00%)
0.87%
(24.29%)
9.52%
(270.95%)
3.03%
(41.21%)
4.79%
(279.73%)
0.85%
(34.62%)
16.54%
(83.35%)
総合 57.14%
(79.40%)
53.21%
(87.47%)
61.04%
(65.39%)
66.67%
(130.83%)
75.76%
(78.61%)
64.38%
(118.52%)
52.41%
(62.42%)
88.53%
(79.23%)

通常用ではまあ13頭以上が精度的にも悪いのが判明ですかね😖

なかなか迷う

新馬戦CKでは

67R RMSE 1.9544 RMSE 1.9587 RMSE 1.9846
単勝 26.87%(120.30%) 23.88%(116.57%) 22.39%(93.73%)
複勝 50.75%(82.84%) 47.76%(76.12%) 46.27%(74.18%)
枠連 18.60%(138.60%) 16.28%(91.63%) 11.63%(40.23%)
馬連 10.45%(90.30%) 10.45%(85.37%) 4.48%(17.46%)
ワイド 19.40%(53.28%) 20.90%(59.85%) 14.93%(42.69%)
馬単 2.99%(85.22%) 4.48%(37.76%) 1.49%(13.88%)
三連複 4.48%(69.10%) 2.99%(18.36%) 4.48%(21.64%)
三連単 1.49%(363.73%) 0.00%(0.00%) 0.00%(0.00%)
総合 53.73%(124.80%) 49.25%(59.26%) 47.76%(37.87%)

こんな感じでまあRMSE 1.9544の学習モデルで行くのが正解だと思います。通常用CKでは

532R RMSE 1.3379 RMSE 1.3386 RMSE 1.3417
単勝 22.56%(73.63%) 23.31%(77.61%) 21.24%(67.09%)
複勝 54.70%(85.39%) 55.45%(88.63%) 51.13%(84.57%)
枠連 11.97%(92.01%) 11.97%(72.20%) 11.54%(80.49%)
馬連 9.40%(71.97%) 8.65%(64.53%) 10.15%(87.95%)
ワイド 21.43%(76.92%) 20.11%(71.62%) 21.99%(80.34%)
馬単 4.70%(55.70%) 4.70%(64.85%) 4.89%(54.59%)
三連複 5.26%(69.55%) 6.58%(92.61%) 5.08%(51.03%)
三連単 1.69%(69.66%) 2.07%(102.29%) 1.88%(50.06%)
総合 56.20%(74.08%) 57.14%(79.40%) 52.44%(69.35%)

こんな感じで複雑です😕 昨夜日付が変わった頃に終わった50時間学習で得た最適RMSE 1.3386が真ん中のモデルなんですが、単勝・複勝辺りとまあ三連系は良いんですが、ワイドが今一だったりします。自分の馬券スタイルとしてはワイドからって感じなんで悩みますねぇ。

追記 2024.9.7 9:23
RMSE 1.3386の詳細としては

532R 1点 芝(280R) ダート(231R) 障害(21R) 多点
単勝 23.31%(77.61%) 23.21%(85.79%) 22.08%(66.71%) 38.10%(88.57%) 52.82%(78.48%)
複勝 55.45%(88.63%) 52.14%(84.54%) 58.87%(93.72%) 61.90%(87.14%) 87.97%(84.42%)
枠連 11.97%(72.20%) 12.24%(81.39%) 11.71%(60.99%) 11.11%(106.67%) 24.57%(66.45%)
馬連 8.65%(64.53%) 8.57%(67.57%) 7.36%(56.84%) 23.81%(108.57%) 20.68%(64.86%)
ワイド 20.11%(71.62%) 17.50%(65.07%) 20.78%(75.80%) 47.62%(112.86%) 42.86%(83.80%)
馬単 4.70%(64.85%) 5.00%(85.82%) 3.03%(30.69%) 19.05%(160.95%) 20.68%(65.70%)
三連複 6.58%(92.61%) 6.79%(74.68%) 5.19%(113.94%) 19.05%(97.14%) 16.54%(86.84%)
三連単 2.07%(102.29%) 2.50%(154.00%) 0.87%(24.29%) 9.52%(270.95%) 16.54%(83.35%)
総合 57.14%(79.40%) 53.21%(87.47%) 61.04%(65.39%) 66.67%(130.83%) 88.53%(79.23%)

こんな感じなんです。

2024/09/04

新馬戦CK用学習を新たに24時間

ここ最近のリリース添付してる新馬戦用モデルの成績が今一なのは分かってます😓 更に良い結果が期待出来るモデルを近い将来のリリースに添付出来ればと努力はしてます。24時間学習させた所、最適RMSE 1.9544とこれまで一番低いものが出ました。7月~先週末までを検証すると

67R 1点 芝(58R) ダート(9R) 多点
単勝 26.87%(120.30%) 25.86%(124.31%) 33.33%(94.44%) 52.24%(70.90%)
複勝 50.75%(82.84%) 51.72%(86.55%) 44.44%(58.89%) 83.58%(68.06%)
枠連 18.60%(138.60%) 20.00%(135.14%) 12.50%(153.75%) 18.60%(51.07%)
馬連 10.45%(90.30%) 10.34%(54.66%) 11.11%(320.00%) 17.91%(55.52%)
ワイド 19.40%(53.28%) 18.97%(45.69%) 22.22%(102.22%) 35.82%(59.85%)
馬単 2.99%(85.22%) 1.72%(16.21%) 11.11%(530.00%) 17.91%(50.22%)
三連複 4.48%(69.10%) 3.45%(13.45%) 11.11%(427.78%) 11.94%(58.13%)
三連単 1.49%(363.73%) 0.00%(0.00%) 11.11%(2,707.78%) 11.94%(58.11%)
総合 53.73%(124.80%) 55.17%(55.56%) 44.44%(554.93%) 85.07%(58.23%)

これなら少しは良くなった? 2カ月のスパンなら良く見えるんですが先週末の土日のみだと

7R 1点 芝(6R) ダート(1R) 多点
単勝 14.29%(22.86%) 16.67%(26.67%) 0.00%(0.00%) 57.14%(47.62%)
複勝 42.86%(52.86%) 50.00%(61.67%) 0.00%(0.00%) 85.71%(59.52%)
枠連 25.00%(167.50%) 33.33%(223.33%) 0.00%(0.00%) 25.00%(55.83%)
馬連 28.57%(152.86%) 33.33%(178.33%) 0.00%(0.00%) 28.57%(50.95%)
ワイド 28.57%(71.43%) 33.33%(83.33%) 0.00%(0.00%) 42.86%(37.14%)
馬単 14.29%(134.29%) 16.67%(156.67%) 0.00%(0.00%) 28.57%(44.52%)
三連複 0.00%(0.00%) 0.00%(0.00%) 0.00%(0.00%) 0.00%(0.00%)
三連単 0.00%(0.00%) 0.00%(0.00%) 0.00%(0.00%) 0.00%(0.00%)
総合 42.86%(70.00%) 50.00%(82.44%) 0.00%(0.00%) 85.71%(19.88%)

まあ、限られたレースなので三連系にヒットが出たり出なかったりは2カ月で見ても三連複5%弱、三連単1.5%弱程度なので土日での評価は厳しいですね。

苦労して学習時間割いて何度もトライして改善されないのは辛いですが、幸いちょっとだけでも改善されてる感じはあるのは救いですね😉

2024/09/03

常に効率よくは無理

理想論的には当然無駄無く行えるのは理想です。しかし、前回の無駄な72時間もやって初めて無駄が分かる。今回は無駄だったけど次はもしかしたら...いや、ここ最近の成績で新馬用ももう少し上を見られればってのは欲ではあるものの、実際やらなければ分からないので24時間学習をさせてます。まっ、既に15時間以上で明日出勤前には終わる予定ではあります。ここまでの最適RMSEは1.9544なので期待したいのですが、Model Builderなので終わるまでは検証出来ません。

ここまで順位フルCKの学習させてましたが、これは何度もロードエラーになってますので、その対策になるかもなコーディングもしては居ますが、結果はまだ不明ってまあ、コーディング終わってないので検証のしようが無いですからね。これは今後近い段階で結果が分かる所まで行ければとは思ってます。

何にしても新馬戦用もこう少しつめて、通常用も更に詰めて改善しないと俺プロで8段より先に進めないのが辛いので何とかしたいです。

2024/09/01

2度目の72時間学習

|--------------------------------------------------------------------|
|                          Experiment Results                        |
|--------------------------------------------------------------------|
|                               Summary                              |
|--------------------------------------------------------------------|
|ML Task: regression                                                 |
|Dataset: E:\My Project\MBJuniFullCK\RaceJuniFullCK2004_202406.csv   |
|Label : Juni                                                        |
|Total experiment time : 259223.0000 Secs                            |
|Total number of models explored: 26                                 |
|--------------------------------------------------------------------|
|                        Top 5 models explored                       |
|--------------------------------------------------------------------|
|      Trainer                             RMSE       Duration       |
|--------------------------------------------------------------------|
|12    LightGbmRegression                  3.5364     3756.8150      |
|23    LightGbmRegression                  3.5407     3695.2330      |
|3     LightGbmRegression                  3.5424     3551.5180      |
|22    LightGbmRegression                  3.5475     3519.6220      |
|9     LightGbmRegression                  3.5509     3126.6560      |
|--------------------------------------------------------------------|

今回も72時間学習させてたんですが、26トライアルのみ完了しただけでした。長いトライアルは1つだけで36時間とかありましたorz 最悪なのが今回の学習モデルも前回とほぼ同じサイズの59.7MBでロードでエラーになります😭

新たな芋焼酎

数カ月前にちょっと贅沢な焼酎セットを購入した時に気に入った島乙女を購入したくて先月終わりの楽天の買い回りで

これ買ってみた。3,880円もしました。楽天でも安いショップでは3,355円程度で売ってるんですが、今回は島乙女が一番安い1,680円で買えるショップで送料800円で1升瓶8本迄買えるって事でこの「なかむら」を2本、DIAYAME 2本(2,090円/本)、島乙女 4本で合計18,660円+送料800円に1,460ポイント使って18,000円で購入しました。

これ、島乙女の2倍以上の値段は...味的には値段気にしなければ悪くはないのですが、島乙女を知っていると若干ありがたみが薄いorz ほんの少しプレミアム焼酎的な感じだったので期待してみたのですが、リピートは無いです。