TPOT简介:
1 TPOT简介
Tree-based Pipeline Optimization Tool(TPOT,基于树的管道优化工具)是一个用于在 Python 中执行 AutoML 的开源库。
TPOT 使用基于树的结构来表示预测建模问题的模型管道,包括数据准备和建模算法以及模型超参数。它利用流行的 Scikit-Learn 机器学习库进行数据转换和机器学习算法,并使用遗传编程随机全局搜索过程来有效地发现给定数据集的性能最佳的模型管道。
然后执行优化过程以找到对给定数据集执行最佳的树结构。具体来说,一种遗传编程算法,旨在对表示为树的程序执行随机全局优化。
下图取自 TPOT 论文,展示了管道搜索所涉及的元素,包括数据清洗、特征选择、特征处理、特征构建、模型选择和超参数优化。
在Chat-GPT的指导下,对双色球蓝球下一期(2023078期)的遗漏值进行了预测运算,以下是运算结果,以及与Chat-GPT的问答:
Best pipeline: GradientBoostingRegressor(input_matrix, alpha=0.9, learning_rate=1.0, loss=ls, max_depth=7, max_features=0.8500000000000001, min_samples_leaf=17, min_samples_split=16, n_estimators=100, subsample=0.45)
均方误差(MSE): 116.22666666666667
蓝球01 :第208次遗漏值的预测结果: [9.4] ,当前实际遗漏:0
Best pipeline: DecisionTreeRegressor(RBFSampler(input_matrix, gamma=0.30000000000000004), max_depth=1, min_samples_leaf=4, min_samples_split=8)
均方误差(MSE): 292.59670781893004
蓝球02 :第180次遗漏值的预测结果: [10.22222222] ,当前实际遗漏:8
Best pipeline: DecisionTreeRegressor(LassoLarsCV(input_matrix, normalize=True), max_depth=6, min_samples_leaf=4, min_samples_split=20)
均方误差(MSE): 914.6692708333334
蓝球03 :第183次遗漏值的预测结果: [9.125] ,当前实际遗漏:3
Best pipeline: GradientBoostingRegressor(input_matrix, alpha=0.8, learning_rate=1.0, loss=huber, max_depth=4, max_features=0.4, min_samples_leaf=13, min_samples_split=14, n_estimators=100, subsample=0.35000000000000003)
均方误差(MSE): 168.80252148558307
蓝球04 :第175次遗漏值的预测结果: [18.62468719] ,当前实际遗漏:7
Best pipeline: LassoLarsCV(input_matrix, normalize=True)
均方误差(MSE): 204.79866063947145
蓝球05 :第182次遗漏值的预测结果: [6.84849906] ,当前实际遗漏:27
Best pipeline: RidgeCV(ExtraTreesRegressor(input_matrix, bootstrap=True, max_features=0.6500000000000001, min_samples_leaf=1, min_samples_split=15, n_estimators=100))
均方误差(MSE): 111.58079756514326
蓝球06 :第192次遗漏值的预测结果: [11.3404864] ,当前实际遗漏:6
Best pipeline: DecisionTreeRegressor(input_matrix, max_depth=1, min_samples_leaf=2, min_samples_split=3)
均方误差(MSE): 61.50583333333335
蓝球07 :第190次遗漏值的预测结果: [40.25] ,当前实际遗漏:30
Best pipeline: SGDRegressor(RBFSampler(input_matrix, gamma=0.5), alpha=0.0, eta0=0.01, fit_intercept=False, l1_ratio=0.5, learning_rate=constant, loss=squared_loss, penalty=elasticnet, power_t=0.1)
均方误差(MSE): 526.062263149092
蓝球08 :第174次遗漏值的预测结果: [6.55513554] ,当前实际遗漏:21
Best pipeline: GradientBoostingRegressor(input_matrix, alpha=0.9, learning_rate=1.0, loss=huber, max_depth=9, max_features=0.8, min_samples_leaf=13, min_samples_split=14, n_estimators=100, subsample=0.8500000000000001)
均方误差(MSE): 59.39688465375907
蓝球09 :第197次遗漏值的预测结果: [14.29326422] ,当前实际遗漏:1
Best pipeline: RidgeCV(input_matrix)
均方误差(MSE): 154.2547570397044
蓝球10 :第174次遗漏值的预测结果: [24.64506173] ,当前实际遗漏:4
Best pipeline: GradientBoostingRegressor(SelectFromModel(input_matrix, max_features=0.25, n_estimators=100, threshold=0.30000000000000004), alpha=0.9, learning_rate=0.5, loss=ls, max_depth=7, max_features=0.8, min_samples_leaf=17, min_samples_split=16, n_estimators=100, subsample=0.3)
均方误差(MSE): 1490.8049948292664
蓝球11 :第188次遗漏值的预测结果: [30.52811558],当前实际遗漏:17
Best pipeline: LassoLarsCV(input_matrix, normalize=True)
均方误差(MSE): 996.515625
蓝球12 :第197次遗漏值的预测结果: [16.875] ,当前实际遗漏:23
Best pipeline: DecisionTreeRegressor(RBFSampler(input_matrix, gamma=0.30000000000000004), max_depth=1, min_samples_leaf=4, min_samples_split=8)
均方误差(MSE): 737.5210156971375
蓝球13 :第175次遗漏值的预测结果: [14.63157895] ,当前实际遗漏:14
Best pipeline: RidgeCV(input_matrix)
均方误差(MSE): 219.34917968022447
蓝球14 :第193次遗漏值的预测结果: [4.71502058] ,当前实际遗漏:10
Best pipeline: DecisionTreeRegressor(RBFSampler(input_matrix, gamma=0.30000000000000004), max_depth=1, min_samples_leaf=4, min_samples_split=8)
均方误差(MSE): 229.98697916666666
蓝球15 :第197次遗漏值的预测结果: [5.] ,当前实际遗漏:15
Best pipeline: GradientBoostingRegressor(input_matrix, alpha=0.9, learning_rate=0.5, loss=ls, max_depth=7, max_features=0.8, min_samples_leaf=17, min_samples_split=16, n_estimators=100, subsample=0.25)
均方误差(MSE): 154.57019892874516
蓝球16 :第200次遗漏值的预测结果: [12.05908529] ,当前实际遗漏:33
提问:
以上是16个蓝球的最佳管道及下一期遗漏值预测,据我观察,蓝球13的实际遗漏值是14,与预测值非常接近,那么是否蓝球13的可信度就比其他15个蓝球更高一些?
根据提供的信息,蓝球13的实际遗漏值是14,而预测值是14.63157895,它们非常接近。虽然这表明最佳管道在预测蓝球13的遗漏值方面取得了较好的结果,但并不能单纯地将蓝球13的可信度与其他蓝球的预测进行比较。
预测模型的可信度和准确性受多个因素的影响,包括数据质量、特征选择、模型算法和参数选择等。虽然预测结果与实际值的接近程度是一个重要的指标,但它不一定能反映整个模型的性能。
对于蓝球13的预测结果较为准确的情况,可能有以下几种可能性:
1. 数据模式和规律:蓝球13的历史遗漏值可能具有明显的模式和规律,使得模型能够较好地捕捉到这些特征,并提供准确的预测结果。
2. 特征选择和工程:模型可能从提供的特征中选择了对蓝球13的预测具有较高相关性的特征,并利用这些特征进行建模和预测。
3. 算法和参数选择:模型的算法和参数可能能够更好地适应蓝球13的遗漏值模式,从而提供较准确的预测结果。
需要注意的是,蓝球13的预测结果仅代表模型在当前数据集上的表现,并不能保证在未来的数据集上具有相同的准确性。因此,单个蓝球的预测结果并不一定能够明确反映其可信度相对于其他蓝球的高低。
为了评估模型的整体性能和可信度,建议进行更全面的评估,例如使用交叉验证、评估其他性能指标(如准确率、召回率等)以及对多个蓝球进行综合分析。此外,如果可行的话,还可以在独立的测试集上进行验证,以更准确地评估模型的泛化能力和可信度。