【序章】競馬予想プログラミング

プログラミング

競馬予想プログラミングに関する記事を「投稿まとめ」で一覧にしてます。この記事は「自動投票」の一覧に含まれてます。一覧の順に読むとステップごとで分かりやすいです。

はじめに

この「プログラミング」のカテゴリーでは「PC-KEIBA Database」を使ってプログラミングの学習とオリジナルの自動投票ソフトを作ることを目的としています。

ここではプログラミングの世界の専門用語をなるべく使わないようにしてます。しかし、全てについて冗長的な言い回しをすると逆に分かりづらい場合もあるので、あえて専門用語を使うこともあります。知らないことを避けてばかりでは他の技術書から得ることも出来ないので。なので、コレってどういう意味かな?と思ったらググってください。そこから副次的に他の知識も得ることが出来るでしょう。

プログラミングの技術に関係ない話も書いてます。例えば、開発作業がはかどるパソコン操作のワザやツールの設定方法などについてです。なのでプログラマーの方や競馬ソフトを自作したい方にも役立つ内容となってると思います。

プログラミングは簡単

まず最初にプログラミングが難しいとか、そんな考えは一切捨ててください。学校の勉強で必要だった記憶力はプログラミングには一切必要ありません。ほんの少しのコツを知れば誰にでも出来ます。

私はソフト作者デビュー時はホテルの料理人でした。独学で「PC-KEIBA Database」を作って、その趣味が高じてプログラマーに転職した人間です。なので、プログラミング経験の無い状態から効率よく学習するために、時間をかけるべきモノ、力を注いでも無駄なモノ、を自分の経験で知ってます。

「PC-KEIBA Database」のマニュアル読んで「自分もSQLとかPythonでデータ分析してみたい!」でも難しそう、とか勉強が面倒くさい、と思っている。ここでは、そんな人のために覚えるべき最小限のモノだけを分かりやすく説明します。プログラミングをマスター出来たあなたには「PC-KEIBA Database」が最強の競馬ソフトになるかもしれません。

ここでは「PC-KEIBA Database」の実戦的な使い方について、何を用意すれば良いのか、といったレベルから具体的に説明し、プログラミングが初めての方でも分かりやすく書きます。なので経験者にとって簡単すぎる内容はテキトーに読み飛ばしてください。

初心者がプログラミングに挫折する4つの理由

教材を間違えている

自分に必要じゃない情報だらけの技術書を読んでいる。さらにその中で、何が自分に本当に必要な知識なのか分からない。だから挫折する。

暗記しようとしている

暗記する必要がないことを試験勉強のように詰め込み、全部覚えようとして覚えれないから嫌になって挫折する。

アウトプットしてない

技術書を読んでプログラミングを何となく部分的に覚えたまではいいけど、実際にプログラムを作って動かしたことがない。というか、ほとんどの技術書は部分的な「点」の知識ばかりで、その点を繋いで何らかの完成品を作る方法が初心者には分からない。

モチベーションが維持できない

上達に時間がかかりすぎたら、これは当たり前。だから挫折する。上記の3つが上手く出来ればモチベーションは維持できます。

当サイト(PC-KEIBA)では競馬予想をテーマとした実戦的なSQLのサンプルを豊富に揃えてます。しかも競馬予想という目的が決まってるので、すぐ理解できます。それを自分流に改造すれば良いだけ。やり込むと他の知識も必要ですが、SQLをスラスラ書けるようになったらググって自分で何でも出来るようになります。

プログラミングの可能性は無限

想像してみてください。お金よりも大事な時間を費して覚えるなら「競馬ソフトの使い方」と「プログラミング」、どちらのほうが大きな喜びになりますか?機能に限りがある、他と同じ競馬ソフトの使い方を覚えて馬券の回収率が期待通りに上がると思いますか?しかし、プログラミングの可能性には限界がありません。

また、プログラミングは世界に通用するスキルです。SQLを覚えたら他の競馬ソフトでは不可能だったデータ分析ができて、どんな予想ロジックでも自動投票できます。これまでの常識が変わるかもしれません。

SQLプログラミングに集中

私のようにインターネット上にソフトを公開したいなら話は別ですが、自分が使うだけの競馬ソフトを作るなら、次の2つの言語を勉強するだけでOKです。

  1. SQL (読み: エスキューエル)
  2. STORED PROCEDURE (読み: ストアドプロシージャ→通称: ストアド)

なぜならデータ取得や自動投票という競馬ソフトにおける基本的な処理は「PC-KEIBA Database」がやるからです。あとは投票内容を書き込むロジックをSQLプログラミングで作れば良いだけ。
「PC-KEIBA Database」はあなたの手で最強の競馬ソフトに仕上がります。

さらに、本当に勉強をすれば良いSQLは1つだけです。

  1. SELECT(データ検索)

そして次の4つのSQLを知っておけばOKです。

  1. CREATE TABLE(テーブル作成)
  2. INSERT(データ追加)
  3. UPDATE(データ更新)
  4. DELETE(データ削除)

これ以外は必要になったときググればOK、ということ。

Pythonについて

(読み: パイソン)
Pythonは人工知能や機械学習のシステム開発で非常に人気があるプログラミング言語です。でも競馬予想を目的とするならPythonを勉強しても、あまり意味が無いと思ってます。

だってPythonはあくまでプログラミング言語の1つであって、Pythonに人工知能があるワケじゃないんですよ?機械学習を目的としたライブラリ(汎用的なモジュール群)を誰かがPythonで作った、というだけの話です。Pythonが無かったころ、エンジニアは皆んな表計算ソフトで同じことやってたし。

だからPythonを勉強するんじゃなくて、「Kaggle (カグル)」でググれば得られるような「データ分析の知識」を身につけるべきです。そして当サイトの「AI競馬」で無料で公開しているLightGBMのソースコードを使ったほうが合理的です。

「投稿まとめ」にもどる