HANAMONのブログ

日々の出来事について、書いたり書かなかったり。 ただ、何かを思いつきで書くだけのブログです。

CHATGPTプログラム

CHAT-GPTに、pythonのプログラムを作ってもらった。

抽選回数と宝くじの抽選番号のCSVから、次回の抽選番号を予測するプログラム。

実際、よくわからないけど動いたから、使ってみたけどあたらなかった。
まぁ、これであたるなら苦労しないよね。誰かいい修正方法があったら教えてね。

とりあえず、以下プログラム。

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.decomposition import FactorAnalysis

# データの収集
data = pd.read_csv('01_input\loto6(7.csv', header=None, names=['count','num1', 'num2', 'num3', 'num4', 'num5', 'num6'], nrows=2000)

# データの前処理
num_of_balls = 43

numbers = [f'num{x}' for x in range(1, 7)]
results = pd.DataFrame(columns=['count'] + numbers)
for i, row in data.iterrows():
    result = [row[n] for n in numbers]
    try:
        result = [int(x) for x in result]
    except ValueError:
        continue
    results.loc[i, 'count'] = row['count']
    for num in result:
        results.loc[i, f'num{num}'] = 1
results.fillna(0, inplace=True)

# 相関行列の作成
corr_matrix = results.corr()

# 相関行列のヒートマップの描画
sns.heatmap(corr_matrix, annot=True, cmap="YlGnBu")
plt.show()

# 因子分析の実行
fa = FactorAnalysis(n_components=6)
fa.fit(results.iloc[:, 1:])

# 因子負荷量の取得
loadings = fa.components_

# 因子負荷量のヒートマップの描画
sns.heatmap(loadings, annot=True, cmap="YlGnBu")
plt.show()

# 解析結果を用いた次回の宝くじの当選番号の予測
predicted_numbers = []
for i in range(6):
    loading = loadings[i]
    max_index = np.argmax(loading)
    predicted_numbers.append(max_index + 1)

print('次回の宝くじの当選番号予測: ', predicted_numbers)
〜