利用Python编写一个数据预测工具-创新互联

这篇文章运用简单易懂的例子给大家介绍利用Python编写一个数据预测工具,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

创新互联是一家专业提供清河企业网站建设,专注与成都网站建设、成都做网站、H5页面制作、小程序制作等业务。10年已为清河众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。

大数据预测是大数据最核心的应用,是它将传统意义的预测拓展到“现测”。大数据预测的优势体现在,它把一个非常困难的预测问题,转化为一个相对简单的描述问题,而这是传统小数据集根本无法企及的。从预测的角度看,大数据预测所得出的结果不仅仅是用于处理现实业务的简单、客观的结论,更是能用于帮助企业经营的决策。

在过去,人们的决策主要是依赖 20% 的结构化数据,而大数据预测则可以利用另外 80% 的非结构化数据来做决策。大数据预测具有更多的数据维度,更快的数据频度和更广的数据宽度。与小数据时代相比,大数据预测的思维具有 3 大改变:实样而非抽样;预测效率而非精确;相关关系而非因果关系。

而今天我们就将利用python制作可视化的大数据预测部分集成工具,其中数据在这里使用一个实验中的数据。普遍性的应用则直接从文件读取即可。其中的效果图如下:

利用Python编写一个数据预测工具

实验前的准备

首先我们使用的python版本是3.6.5所用到的模块如下:

  • sklearn模块用来创建整个模型训练和保存调用以及算法的搭建框架等等。
  • numpy模块用来处理数据矩阵运算。
  • matplotlib模块用来可视化拟合模型效果。
  • Pillow库用来加载图片至GUI界面。
  • Pandas模块用来读取csv数据文件。
  • Tkinter用来创建GUI窗口程序。
     

数据的训练和训练的GUI窗口

经过算法比较,发现这里我们选择使用sklearn简单的多元回归进行拟合数据可以达到比较好的效果。

(1)首先是是数据的读取,通过设定选定文件夹函数来读取文件,加载数据的效果:

'''选择文件功能''' 
def selectPath(): 
  # 选择文件path_接收文件地址 
  path_ =tkinter.filedialog.askopenfilename() 
  # 通过replace函数替换绝对文件地址中的/来使文件可被程序读取 
  # 注意:\\转义后为\,所以\\\\转义后为\\ 
  path_ =path_.replace("/", "\\\\") 
  # path设置path_的值 
  path.set(path_) 
  return path 
 
# 得到的DataFrame读入所有数据 
data = pd.read_excel(FILENAME, header=0, usecols="A,B,C,D,E,F,G,H,I") 
# DataFrame转化为array 
DataArray = data.values 
# 读取已使用年限作为标签 
Y = DataArray[:, 8] 
# 读取其他参数作为自变量,影响因素 
X = DataArray[:, 0:8] 
# 字符串转变为整数 
for i in range(len(Y)): 
  Y[i] = int(Y[i].replace("年", "")) 
X = np.array(X) # 转化为array 
Y = np.array(Y) # 转化为array 
 
root = Tk() 
root.geometry("+500+260") 
# 背景图设置 
canvas = tk.Canvas(root, width=600, height=200, bd=0, highlightthickness=0) 
imgpath = '1.jpg' 
img = Image.open(imgpath) 
photo = ImageTk.PhotoImage(img) 
#背景图大小设置 
canvas.create_image(700, 400, image=photo) 
canvas.pack() 
path = StringVar() 
#标签名称位置 
label1=tk.Label(text = "目标路径:") 
label1.pack() 
e1=tk.Entry( textvariable = path) 
e1.pack() 
bn1=tk.Button(text = "路径选择", command = selectPath) 
bn1.pack() 
bn2=tk.Button(text = "模型训练", command = train) 
bn2.pack() 
bn3=tk.Button(text = "模型预测", command = test) 
bn3.pack() 
#标签按钮等放在背景图上 
canvas.create_window(50, 50, width=150, height=30, 
           window=label1) 
canvas.create_window(280, 50, width=300, height=30, 
           window=e1) 
canvas.create_window(510, 50, width=150, height=30, 
           window=bn1) 
canvas.create_window(50, 100, width=150, height=30, 
           window=bn2) 
canvas.create_window(510, 100, width=150, height=30, 
           window=bn3) 
 
root.mainloop() 

文章题目:利用Python编写一个数据预测工具-创新互联
文章转载:http://scyanting.com/article/ccgpoi.html