ID:66152さん

3年後の目標や野望


コーディングだけではなく、人員やお金、工程のマネジメントをしたい

エンジニアとしてコーディングしながらシステムと戦うのも好きですが、人とのコミュニケーションも好きだからです。そのために幅広い知識を身につけていきたいです。

年収評価シート

2019年/1年以内

競艇の機械学習モデルの開発

# 概要 機械学習を用いた競艇の着順予測モデルの開発、および予測確率を用いた買い目の最適化の検証 # 担当 2人で開発しており、プロジェクトオーナーと分担しながら、以下を担当してきた。 # 使用技術 GCP, python3.9, lightGBM, MySQL # 取り組み 大まかな取り組みを下記に記載する。 - データ収集(スクレイピング) - 前処理 - 購入アルゴリズムの検証 - 出力 機械学習モデルを用いるという性質上、「学習時」と「予測時」に分けて、取り組んだことを下記に記載する。 ## 学習時 ### データ収集 機械学習に必要なデータを、主にpythonのseleniumを用いたスクレイピングにより収集。 さらに収集したデータをGCPのCloudSQL上のMySQLに保存。 ### 前処理 「データ収集」にて集めた生のデータのフォーマットを整形したり、さらにそのデータから新たな特徴量を生成。 各選手の着順を予測する上で重要なのは、全ての選手内での強さよりも、**1レースという括りの中で、各選手がその他の選手に対して強いかどうか**が重要であると考えた。 そのことを踏まえ、モデルの精度向上に貢献した特徴量の例を記載する。 #### glicko-2 rating system 競艇において、各選手はカテゴリーで分けられており、レベルが低いカテゴリから順に B2, B1, A2, A1 の4段階が存在する。 しかし機械学習を行う上で、各選手の「強さ」という概念を数値で表す方法はないかと検討。その結果、ゲームなどのレート計算に用いられている**glicko-2 rating system**を発見し、実装した。 具体的には、各選手のレースごとの着順および他の選手のレートによって、自身のレートが変化するアルゴリズムだ。同じ1着でも、自身と拮抗した選手に勝つより、格上の選手に勝った場合の方がレートが向上するといった具合だ。 このアルゴリズムを用いて算出したレート、およびレース内におけるそのレートの偏差値などを算出することで、モデルの精度が向上した。 ### 学習 上記のような前処理をおこなったデータを用いて、**lightGBM**により機械学習を行い、モデルを作成する。 --- ## 予測時 ### 直近のレース時刻の確認 cloud functionsを用いて、毎分競艇の公式ホームページから各場(※1)のレース開始時刻を取得する。 もし開始時刻より2分前のレースが存在する場合、そのレースの情報(各選手のオッズなど)を取得し、予測を開始する。 対象のレース情報を集め、予測を行うための時間を確保するため2分前としている。 ※1 競艇場は全国に24会場存在する。 ### 予測 予測モデルを用いて、各選手が1着になる確率、および各買い目が的中する確率を計算。 この段階で算出した、各買い目に対する確率をGCSに保存。 ### 購入戦略 レース予測時に算出した確率、およびオッズを使用して、各買い目の期待値を計算する。 最低条件として期待値が 1.0 を超えている買い目に注目し、さらに想定される配当金を考慮して買い目を選別する。 例えば、期待値は 1.5 だが、オッズが 1.1 の場合、配当の割合が低いため買い目としては採用しない。 このように、「持ち金に対する配当金の割合」「持ち金に対するかけ額の最大比率」「期待値」などのパラメータを調整し、過去のレース結果に対して事前にシミュレーションを行う。 そこから算出したパラメータを実際の予測時にも適用し、その結果「買い」と判断した買い目をGCPのCloudSQL上のMySQLに保存。 ### レース結果の取得 cloud functionsにより、10分おきに終了しているレースがないかを競艇公式ホームページから取得。 もし「予測が終了している」レースの終了が初めて検知された場合、モデル予測結果と実際のレース結果を照らし合わせたデータをGCSの保存。 具体的には、予測した買い目に対する配当金の金額(的中していなければ0円)や、そのレースに対する投票締切後の確定オッズなど。 ### 予測結果の出力 Twitter APIを用いて、各レースの予測結果や当日の収支などをツイートする。 ツイートするタイミングとしては、下記の通り。 - レース開始2分前に実行された予測内容が出力されたとき。 - レースが終了し、実際のレース結果をGCSに保存するとき。 - その日の予測した買い目に対する実際の回収率を、1日の各場でのレースが全て終了したときに。 レースごとに買い目の数が異なる、すなわちツイートする際の文字数が都度変化する。さらに、1ツイートに対する文字数制限があることを踏まえ、もし文字数がその制限を超えてしまう場合、区切りの良い部分で分割するよう調整。

2022年/3ヶ月以内

Djangoによる、競艇機械学習モデルの予測結果などを表示するWebアプリケーション

# 概要 競艇の機械学習モデルの予測結果や、その予測に基づく買い目などを表示するWebアプリケーション # 担当 1人で制作し、フロントエンドからバックエンドまで全て担当しました。 # 使用技術 GAE, HTML, CSS, JavaScript(JQuery, Anime.js含む), python3.9, Django(pythonフレームワーク), selenium(pythonライブラリ) URL: https://keiba-ai-350521.an.r.appspot.com # 課題 別件にて開発しております、競艇の機械学習モデルによる予測結果などを、より簡単に確認できたら便利なのでは、と思い制作を開始。 # 取り組み フレームワークとして python の Djangoを使用してアプリケーションを構築しました。 Djangoを使用した理由としては、今までpythonを主に扱ってきたため、とっつきやすいと考えたためです。 アプリケーションで閲覧できる項目は以下の通りです。 - 1日の成績 -> モデルの予測値に基づく買い目によってどれだけの収益が発生したのかを1日単位で表示。 - 確率 -> 1つのレースに対する、各買い目に対するモデルの予測確率の表示。 - 予測結果 -> 1レースごとの、モデルが「買い」と判断した買い目と、実際のレース結果などを表示 バックエンド部分において、レース結果や予測結果などはGCSや競艇の公式ホームページからスクレイピングにより取得。 # 工夫した点 制作当初は、機械学習モデルの開発者(2人)**のみ**が閲覧する前提でした。なのでUIデザインなどは二の次でした。 しかし、UIやデザインなどの勉強をしていくうちに、実際に実装してみたい、と感じ、次のことを意識しながらデザインを考案しました。 - 競艇に関するドメイン知識がない方でも、なんとなく操作できるように。 - 「かっこよさ」よりも「多少ださくてもいいから分かりやすく」 またスマホで閲覧することを想定し、レスポンシブ対応にいたしました。 UIデザインや、ユーザーがこのページを見たらどう感じるかなどを考えて開発でき、とてもよい経験でした。

マネージメント能力

アピール項目


アウトプット

GitHub アカウント
未入力です
Qiita アカウント
未入力です
Zenn アカウント
未入力です
Speaker Deck アカウント
未入力です
SlideShare アカウント
未入力です
特にアピールしたいアウトプット
未入力です

今後、身につけなければいけないと思っている技術は何ですか?

未入力です

あなたが一番パフォーマンスを出せるのはどんな環境ですか?

未入力です

キャラクター

直近で一番やりたいこと
サービスを作りたい
好きなスタイル
好きな規模
自信を持って人より秀でていると言える点
学習能力 / 人を集める力
スキルのタイプ
得意なフェーズ
会社を選ぶ一番の基準
年収が第一
やりたくない分野
未入力です
その他の特徴
未入力です
その他のやりたいこと・やりたくないこと
未入力です

やりたい事

手を動かして設計してコードを書きたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
価値あるプロダクトを作り成長させたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
学び続けて技術力でプロダクトに貢献したい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
意義があることや社会に貢献できる仕事がしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
人や計画の調整・マネジメントをしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
レガシーなシステムの保守・運用・改善をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
企画や仕様を考えるところから関わりたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
業務効率を改善して一緒に働く人のためになりたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
全社横断的な共通基盤作りや強化をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
組織や文化を作る・成長させる仕事をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい

基本プロフィール

年齢
今年で20代後半
好きな Text Editor
vscode
希望勤務地
東京都 / 神奈川県
希望年収
未入力
転職ドラフトに参加して
企業から指名を受け取ろう!
会員登録をして転職ドラフトに参加すると、参加企業から年収付きの指名を受け取ることができるようになります。
会員登録する
ご意見箱

要望、不具合報告、使いづらい点や感想など、お気軽にお寄せください。
いただいたご意見は、今後のサービス向上に活用させていただきます。

なお、このフォームは受付専用のため、返信を行っておりません。
返信を希望する場合はお問い合わせよりご連絡ください。

  • {{error}}
SIGN UPSIGN IN


転職ドラフトを友人や同僚に薦める可能性はどのくらいありますか?