Python数据分析之双色球基于线性回归算法预测下期中奖结果示例

  

本文实例讲述了Python数据分析之双色球基于线性回归算法预测下期中奖结果。分享给大家供大家参考,具体如下:

  

前面讲述了关于双色球的各种算法,这里将进行下期双色球号码的预测,想想有些小激动啊。

  

代码中使用了线性回归算法,这个场景使用这个算法,预测效果一般,各位可以考虑使用其他算法尝试结果。

  

发现之前有很多代码都是重复的工作,为了让代码看的更优雅,定义了函数,去调用,顿时高大上了

        # !/usr/bin/python   # - * -编码:utf - 8 - *   #导入需要的包   熊猫作为pd导入   进口numpy np   进口matplotlib。pyplot作为plt   进口经营者   从sklearn导入数据集,linear_model   从sklearn。linear_model进口LogisticRegression   #读取文件   df=pd.read_table (newdata.txt,头=None, 9=" ")   #读取日期   tdate=排序(df.loc [: 0])   #将以列项为数据,将球号码取出,写入到csv文件中,并取50行数据   #函数红色数字csv文件   def RedToCsv (h_num num csv_name):   h_num=df.loc (:, num: num) . values   h_num=h_num (50:: 1)   renum2=pd.DataFrame (h_num)   renum2.to_csv (csv_name头=没有)   fp=文件(csv_name)   s=fp.read ()   fp.close ()   一个=s.split (“\ n”)   一个。插入(0,numid、数量)   s=' \ n ' . join ()   fp=文件(csv_name ' w ')   fp.write (s)   fp.close ()   #调用取号码函数   #创建文件   RedToCsv (' red1 ' 1 ' rednum1data.csv ')   RedToCsv (' red2 ' 2 ' rednum2data.csv ')   RedToCsv (' red3 ' 3 ' rednum3data.csv ')   RedToCsv (' red4 ' 4 ' rednum4data.csv ')   RedToCsv (' red5 ' 5 ' rednum5data.csv ')   RedToCsv (' red6 ' 6 ' rednum6data.csv ')   RedToCsv('蓝天航空公司' 7 ' bluenumdata.csv ')   #获取数据,X_parameter为numid数据,Y_parameter为数量数据   #函数来获取数据   def get_data (file_name):   data=https://www.yisu.com/zixun/pd.read_csv (file_name)   X_parameter=[]   Y_parameter=[]   single_square_feet, single_price_value zip(数据(“numid”),数据(“数量”)):   X_parameter.append((浮动(single_square_feet)))   Y_parameter.append(浮动(single_price_value))   返回X_parameter Y_parameter   #训练线性模型   #函数拟合线性模型的数据   def linear_model_main (X_parameters Y_parameters predict_value):   #创建线性回归对象   regr=linear_model.LinearRegression ()   # regr=LogisticRegression ()   regr。fit (X_parameters Y_parameters)   predict_outcome=regr.predict (predict_value)   预测={}   [“拦截”]=regr.intercept_预测   [“系数”]=regr.coef_预测   [' predicted_value ']=predict_outcome预测   回归预测   #获取预测结果函数   def get_predicted_num (inputfile, num):   X, Y=get_data (inputfile)   predictvalue=https://www.yisu.com/zixun/51   结果=linear_model_main (X, Y, predictvalue)   打印“num”+ str (num) +“拦截价值”,结果(“拦截”)   打印“num”+ str (num) +“系数”,结果(“系数”)   打印“num”+ str (num) +“预测价值:”,结果(“predicted_value”)   #调用函数分别预测红球,蓝球   get_predicted_num (rednum1data.csv, 1)   get_predicted_num (rednum2data.csv, 2)   get_predicted_num (rednum3data.csv, 3)   get_predicted_num (rednum4data.csv, 4)   get_predicted_num (rednum5data.csv, 5)   get_predicted_num (rednum6data.csv, 6)   get_predicted_num (bluenumdata.csv, 1)   #获取X, Y数据预测结果   # X, Y=get_data (“rednum1data.csv”)   # predictvalue=https://www.yisu.com/zixun/21   #结果=linear_model_main (X, Y, predictvalue)   #打印“红色num 1截距值”,结果(“拦截”)   #打印“红色num 1系数”,结果(“系数”)   #打印“红色num 1预测价值:”,结果(“predicted_value”)   #函数来显示结果却线性模型   def show_linear_line (X_parameters Y_parameters):   #创建线性回归对象   regr=linear_model.LinearRegression ()   # regr=LogisticRegression ()   regr。fit (X_parameters Y_parameters)   6)plt.figure (figsize=(12日,dpi=80)   plt.legend (loc=白罴选?   plt.scatter (X_parameters, Y_parameters,颜色=袄渡?   plt.plot (X_parameters regr.predict (X_parameters),颜色=臁?线宽=4)   plt.xticks (())   plt.yticks (())   plt.show ()   #显示模型图像,如果需要画的图,将“获取X, Y数据预测结果”这块注释去掉,“调用函数分别预测红球,蓝球”这块代码注释下   # show_linear_line (X, Y)      

Python数据分析之双色球基于线性回归算法预测下期中奖结果示例