見出し画像

【的中あり】AIによる宝くじ予想✨今までの当選番号を学習させて予想数字を判定!

PythonでAIを作成してナンバーズの予想をしております。判定には現在までの大量の当選データを使用✨

ロトわんはAIによる予想ですが、ロトにゃんアカウントでは統計プログラムを用いた予想を行っております🎯

2つのアプローチで予想をお楽しみください!


現在は下記予想を取り扱っています✨予想はマガジンに分けおり下記画像をクリックするとマガジンへと遷移します!





安心してご利用いただくため、プログラムの一部を公開✨


■当選結果抽出コード(一部のみ)

  #抽選結果配列
  num_arr = []

  print("A表から抽選結果を取得")
  for url in num_urls:
    print("\n" + str(url))
    driver.get(url)
    time.sleep(5)

    #抽選番号取得
    elements = driver.find_elements_by_class_name("js-lottery-number-pc")

    for elem in elements:

      #文字列を分割して配列に入れる
      result = list(elem.text)

      #ループ準備
      res_cnt = 1
      split_text = ""

      for res in result:
        if res_cnt == 1:
          split_text = str(res)
        else:
          split_text = split_text + "," + str(res)
        res_cnt += 1

      num_arr.append(str(split_text))
      

  #--------- B表取得 --------------------------

  print("B表から抽選結果を取得")
  for url_b in num_urls_b:
    print("\n" + str(url_b))
    driver.get(url_b)
    time.sleep(3)

    tr_tags = driver.find_elements_by_tag_name("tr")
    for tr in tr_tags:

      td_tags = tr.find_elements_by_tag_name("td")
      if len(td_tags) == 3:

        #文字列を分割して配列に入れる
        result = list(td_tags[tag_num].text)

        #ループ準備
        res_cnt = 1
        split_text = ""

        for res in result:
          if res_cnt == 1:
            split_text = str(res)
          else:
            split_text = split_text + "," + str(res)
          res_cnt += 1

        num_arr.append(str(split_text))

  return num_arr

BeautifulSoupでもいいですがSeleniumで取得しています。


■予測コード(一部のみ)

    # データセット
    def create_dataset(self, data):
        x, y = [], []
        for i in range(0, len(data) - self.steps_of_history, self.steps_of_furture):
            a = i + self.steps_of_history
            x.append(data[i:a])
            y.append(data[a])
        x = np.reshape(np.array(x), [-1, self.steps_of_history, 1])
        y = np.reshape(np.array(y), [-1, 1])
        return x, y

    # 予測用データ
    def create_predict_dataset(self, data, num_predictions):
        latest_x = []
        for i in range(num_predictions):
            latest_x.append(data[i:i+self.steps_of_history])
        latest_x = np.array(latest_x)
        return latest_x

    # 訓練、分割
    def split_dataset(self, x, y, test_size=0.1):
        pos = round(len(x) * (1 - test_size))
        train_x, train_y = x[:pos], y[:pos]
        test_x, test_y = x[pos:], y[pos:]
        return train_x, train_y, test_x, test_y

    # モデル作成
    def _create_model_by_tflearn(self):
        net = tflearn.input_data(shape=[None, self.steps_of_history, 1])
        net = tflearn.lstm(net, n_units=self.units)
        net = tflearn.fully_connected(net, 1, activation='linear')
        net = tflearn.regression(net, optimizer='adam', learning_rate=0.001, loss='mean_square')
        model = tflearn.DNN(net, tensorboard_verbose=0)

        return model

    # 訓練
    def train(self, train_x, train_y):
        model = self._create_model_by_tflearn()
        model.fit(train_x, train_y, validation_set=0.1, batch_size=self.batch_size, n_epoch=self.epochs)
        return model

    # 予測
    def predict(self, model, data):
        return model.predict(data)


開始後すぐに的中も出ております。
AIの実力をお楽しみください!

怪しいアカウントの見分け方は下記で解説しております。当サイトでは下記方法によって確実に不正がないことを証明できる運営にしております!

【2分でわかる】怪しい投稿の見分け方|ロトわん@AIで宝くじ予想✨ナンバーズとロト🎯 (note.com)



この記事が気に入ったらサポートをしてみませんか?