Python快乐8选六模拟数据大模型

360影视 2025-02-02 14:42 1

摘要:import numpy as npfrom sklearn.ensemble import RandomForestRegressorfrom sklearn.preprocessing import MinMaxScalerfrom sklearn.mod

Python快乐8选六模拟数据大模型

快乐8数据大模型

import numpy as npfrom sklearn.ensemble import RandomForestRegressorfrom sklearn.preprocessing import MinMaxScalerfrom sklearn.model_selection import train_test_split# 输入已知快乐8历史数据data = [ [2,15,20,22,32,34,35,42,44,46,50,54,55,64,68,71,74,75,77,79], [2,5,6,9,13,24,26,27,33,35,45,46,55,56,64,65,66,69,73,78], [3,6,10,12,15,22,24,26,30,32,37,38,43,57,58,60,62,69,70,79],[4,7,9,12,16,26,27,35,36,43,46,50,53,65,67,68,73,75,77,80],[9,11,12,14,19,20,22,27,31,33,36,37,45,49,55,57,60,64,79,80],[2,8,12,19,24,25,31,32,33,35,43,47,48,52,56,59,60,66,67,79],[1,2,18,25,27,29,35,39,43,51,53,54,59,61,67,69,71,74,75,79],[1,2,7,8,10,13,15,26,47,54,55,56,57,60,65,71,75,76,77,79],[11,15,26,27,28,34,40,43,46,47,48,52,56,58,60,62,67,74,75,79],[9,10,20,24,27,41,45,46,48,50,53,56,64,65,66,67,70,73,74,76],[2,3,5,21,23,24,25,30,34,35,45,47,50,57,58,61,70,75,77,79],[2,4,6,8,10,13,19,31,33,35,38,45,50,51,59,63,65,66,67,74],[1,3,4,6,11,16,18,21,35,38,42,46,49,53,63,64,65,69,72,75],[6,17,20,24,26,30,32,34,40,42,45,46,51,54,57,58,59,63,71,76],[1,3,10,11,12,16,23,38,41,52,53,56,58,61,62,71,72,76,78,80],[1,2,11,15,16,19,23,32,43,45,46,48,53,55,57,62,68,77,79,80],[1,3,7,13,18,27,31,32,37,43,47,48,51,52,53,61,64,65,73,80],[5,9,13,22,23,24,28,31,33,34,37,45,46,48,50,52,55,63,72,76],[2,3,12,16,18,21,24,33,45,46,50,53,55,62,68,70,71,72,79,80],[1,2,5,6,11,14,21,26,37,40,41,43,45,50,57,60,61,67,73,78],[6,8,10,11,13,14,27,30,32,33,35,38,47,50,52,56,62,65,71,76],[3,6,8,11,14,15,20,25,26,28,39,49,54,56,57,61,63,66,76,77],[5,6,7,8,13,17,21,25,32,33,36,41,46,55,59,62,68,70,74,76],[1,7,10,12,16,21,25,26,29,30,33,34,36,37,41,53,71,72,73,75],[2,3,5,7,12,13,23,26,29,39,43,44,48,60,62,63,64,74,77,79],[4,11,12,13,17,20,23,33,40,43,44,50,53,60,63,65,67,68,72,80]]#快乐8历史数据预处理scaler = MinMaxScaler(feature_range=(0, 1))data_scaled = scaler.fit_transform(data)# 创建序列数据def create_sequences(data, seq_length=5): X, Y = , for i in range(len(data) - seq_length): X.append(data[i:(i + seq_length)].flatten) # 展平序列 Y.append(data[i + seq_length]) return np.array(X), np.array(Y)X, Y = create_sequences(data_scaled)# 分割训练集和测试集X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.2, random_state=42)# 创建随机森林模型随机数42可修改model = RandomForestRegressor(n_estimators=100, random_state=42)model.fit(X_train, Y_train)# 大模型预选多组号码# 取最后几期作为预测的起始点num_predictions = 6 # 预选的个数可选改为你需要的选十个还是选九个等last_sequences = X[-num_predictions:] # 取最后几期数据/近期数据权重高predicted_numbers = model.predict(last_sequences)# 逆归一化predicted_numbers = scaler.inverse_transform(predicted_numbers)# 后处理:将大乐透选择结果四舍五入为整数predicted_numbers = np.round(predicted_numbers).astype(int)# 将选择结果限制在1到80之间如果双色球改80为33predicted_numbers = np.clip(predicted_numbers, 1, 80)# 确保每组号码有6个数字【选六】predicted_numbers = predicted_numbers.reshape(-1, 6)# 计算号码出现的概率然后根据概率预选号码def calculate_number_probabilities(data): all_numbers = np.array(data).flatten probabilities = np.zeros(80) for number in all_numbers: probabilities[int(number) - 1] += 1 probabilities /= len(all_numbers) return probabilities# 根据概率调整号码def adjust_numbers_by_probability(numbers, probabilities): unique_numbers = np.unique(numbers) while len(unique_numbers)

程序模拟运行++

快乐8模拟统计运行

第 1 组: [ 4 7 11 14 17 22]

第 2 组: [27 31 36 39 43 47]

第 3 组: [50 54 57 61 65 70]

第 4 组: [ 3 6 9 12 74 77]

第 5 组: [15 17 22 27 30 33]

第 6 组: [41 49 53 55 57 61]

第 7 组: [ 2 5 64 68 75 77]

第 8 组: [10 14 16 20 23 31]

第 9 组: [40 44 47 50 53 57]

第 10 组: [61 65 69 72 76 79]

20组数据快乐8江东旭侯

第 11 组: [ 1 6 10 12 16 20]

第 12 组: [24 28 32 35 38 40]

第 13 组: [42 44 48 57 69 72]

第 14 组: [ 2 5 7 10 74 76]

第 15 组: [14 16 24 28 32 39]

第 16 组: [43 45 48 57 59 62]

第 17 组: [ 4 9 65 72 76 78]

第 18 组: [11 13 17 20 23 32]

第 19 组: [40 44 45 50 53 59]

第 20 组: [62 65 68 69 73 80]

来源:江东旭侯

相关推荐