code:
import numpy as np
import pandas as pd
import tensorflow as tf
from tensorflow import keras
# 设置随机种子,保证结果可重复
np.random.seed(0)
tf.random.set_seed(0)
# 加载数据
data = pd.read_csv("data.csv", header=None)
x_train = data.iloc[:, :-1].values.reshape(-1, 6, 1, 1)
y_train = data.iloc[:, -1].values
# 构建模型
model = keras.Sequential([
keras.layers.Conv2D(filters=16, kernel_size=(2, 1), activation='relu', input_shape=(6, 1, 1)),
keras.layers.MaxPooling2D(pool_size=(2, 1)),
keras.layers.Flatten(),
keras.layers.Dense(units=64, activation='relu'),
keras.layers.Dense(units=33, activation='softmax')
])
# 编译模型
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
# 训练模型
model.fit(x_train, y_train, epochs=50, batch_size=8, verbose=2)
# 预测下一期的双色球开奖号码
last_data = np.array([9, 16, 17, 24, 29, 31]).reshape(1, 6, 1, 1)
predicted = model.predict(last_data).argmax(axis=1)[0] + 1
print("预测下一期双色球开奖号码为:", predicted)