日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Python制作數(shù)據(jù)預(yù)測集成工具(值得收藏)

瀏覽:20日期:2022-07-13 13:25:04

大數(shù)據(jù)預(yù)測是大數(shù)據(jù)最核心的應(yīng)用,是它將傳統(tǒng)意義的預(yù)測拓展到“現(xiàn)測”。大數(shù)據(jù)預(yù)測的優(yōu)勢體現(xiàn)在,它把一個非常困難的預(yù)測問題,轉(zhuǎn)化為一個相對簡單的描述問題,而這是傳統(tǒng)小數(shù)據(jù)集根本無法企及的。從預(yù)測的角度看,大數(shù)據(jù)預(yù)測所得出的結(jié)果不僅僅是用于處理現(xiàn)實業(yè)務(wù)的簡單、客觀的結(jié)論,更是能用于幫助企業(yè)經(jīng)營的決策。

在過去,人們的決策主要是依賴 20% 的結(jié)構(gòu)化數(shù)據(jù),而大數(shù)據(jù)預(yù)測則可以利用另外 80% 的非結(jié)構(gòu)化數(shù)據(jù)來做決策。大數(shù)據(jù)預(yù)測具有更多的數(shù)據(jù)維度,更快的數(shù)據(jù)頻度和更廣的數(shù)據(jù)寬度。與小數(shù)據(jù)時代相比,大數(shù)據(jù)預(yù)測的思維具有 3 大改變:實樣而非抽樣;預(yù)測效率而非精確;相關(guān)關(guān)系而非因果關(guān)系。

而今天我們就將利用python制作可視化的大數(shù)據(jù)預(yù)測部分集成工具,其中數(shù)據(jù)在這里使用一個實驗中的數(shù)據(jù)。普遍性的應(yīng)用則直接從文件讀取即可。其中的效果圖如下:

Python制作數(shù)據(jù)預(yù)測集成工具(值得收藏)

實驗前的準(zhǔn)備

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

sklearn模塊用來創(chuàng)建整個模型訓(xùn)練和保存調(diào)用以及算法的搭建框架等等。 numpy模塊用來處理數(shù)據(jù)矩陣運算。 matplotlib模塊用來可視化擬合模型效果。 Pillow庫用來加載圖片至GUI界面。 Pandas模塊用來讀取csv數(shù)據(jù)文件。 Tkinter用來創(chuàng)建GUI窗口程序。

數(shù)據(jù)的訓(xùn)練和訓(xùn)練的GUI窗口

經(jīng)過算法比較,發(fā)現(xiàn)這里我們選擇使用sklearn簡單的多元回歸進(jìn)行擬合數(shù)據(jù)可以達(dá)到比較好的效果。

(1)首先是是數(shù)據(jù)的讀取,通過設(shè)定選定文件夾函數(shù)來讀取文件,加載數(shù)據(jù)的效果:

’’’選擇文件功能’’’ def selectPath(): # 選擇文件path_接收文件地址 path_ =tkinter.filedialog.askopenfilename() # 通過replace函數(shù)替換絕對文件地址中的/來使文件可被程序讀取 # 注意:轉(zhuǎn)義后為,所以轉(zhuǎn)義后為 path_ =path_.replace('/', '') # path設(shè)置path_的值 path.set(path_) return path # 得到的DataFrame讀入所有數(shù)據(jù) data = pd.read_excel(FILENAME, header=0, usecols='A,B,C,D,E,F,G,H,I') # DataFrame轉(zhuǎn)化為array DataArray = data.values # 讀取已使用年限作為標(biāo)簽 Y = DataArray[:, 8] # 讀取其他參數(shù)作為自變量,影響因素 X = DataArray[:, 0:8] # 字符串轉(zhuǎn)變?yōu)檎麛?shù) for i in range(len(Y)): Y[i] = int(Y[i].replace('年', '')) X = np.array(X) # 轉(zhuǎn)化為array Y = np.array(Y) # 轉(zhuǎn)化為array root = Tk() root.geometry('+500+260') # 背景圖設(shè)置 canvas = tk.Canvas(root, width=600, height=200, bd=0, highlightthickness=0) imgpath = ’1.jpg’ img = Image.open(imgpath) photo = ImageTk.PhotoImage(img) #背景圖大小設(shè)置 canvas.create_image(700, 400, image=photo) canvas.pack() path = StringVar() #標(biāo)簽名稱位置 label1=tk.Label(text = '目標(biāo)路徑:') label1.pack() e1=tk.Entry( textvariable = path) e1.pack() bn1=tk.Button(text = '路徑選擇', command = selectPath) bn1.pack() bn2=tk.Button(text = '模型訓(xùn)練', command = train) bn2.pack() bn3=tk.Button(text = '模型預(yù)測', command = test) bn3.pack() #標(biāo)簽按鈕等放在背景圖上 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制作數(shù)據(jù)預(yù)測集成工具(值得收藏)

(2)然后是數(shù)據(jù)的擬合和可視化模型效果:

# 模型擬合 reg = LinearRegression() reg.fit(X, Y) # 預(yù)測效果 predict = reg.predict(np.array([X[0]])) Y_predict = reg.predict(X) print(Y_predict) # 橫坐標(biāo) x_label = [] for i in range(len(Y)): x_label.append(i) # 繪圖 fig, ax = plt.subplots() # 真實值分布散點圖 plt.scatter(x_label, Y) # 預(yù)測值分布散點圖 plt.scatter(x_label, Y_predict) # 預(yù)測值擬合直線圖 plt.plot(x_label, Y_predict) # 橫縱坐標(biāo) ax.set_xlabel(’預(yù)測值與真實值模型擬合效果圖’) ax.set_ylabel(’藍(lán)色為真實值,黃色為預(yù)測值’) # 將繪制的圖形顯示到tkinter:創(chuàng)建屬于root的canvas畫布,并將圖f置于畫布上 canvas = FigureCanvasTkAgg(fig, master=root) canvas.draw() # 注意show方法已經(jīng)過時了,這里改用draw canvas.get_tk_widget().pack() # matplotlib的導(dǎo)航工具欄顯示上來(默認(rèn)是不會顯示它的) toolbar = NavigationToolbar2Tk(canvas, root) toolbar.update() canvas._tkcanvas.pack() #彈窗顯示 messagebox.showinfo(title=’模型情況’, message='模型訓(xùn)練完成!') 其中的效果如下可見:

其中的效果如下可見:

Python制作數(shù)據(jù)預(yù)測集成工具(值得收藏)

模型的預(yù)測和使用

其中模型的預(yù)測主要通過兩種方式進(jìn)行預(yù)測,分別是:手動輸入單個數(shù)據(jù)進(jìn)行預(yù)測和讀取文件進(jìn)行預(yù)測。

其中手動輸入數(shù)據(jù)進(jìn)行預(yù)測需要設(shè)置更多的GUI按鈕,其中代碼如下:

#子窗口 LOVE = Toplevel(root) LOVE.geometry('+100+260') LOVE.title = '模型測試' #子窗口各標(biāo)簽名 label = ['上升沿斜率(v/us)', '下降沿斜率(v/us)', '脈寬(ns)', '低狀態(tài)電平(mv)', '低電平方差(mv2)x10-3', '高狀態(tài)電平(v)', '高電平方差(v2)', '信號質(zhì)量因子'] Label(LOVE, text='1、輸入?yún)?shù)預(yù)測', font=('微軟雅黑', 20)).grid(row=0, column=0) #標(biāo)簽名稱,字體位置 Label(LOVE, text=label[0], font=('微軟雅黑',10)).grid(row=1, column=0) Label(LOVE, text=label[1], font=('微軟雅黑', 10)).grid(row=1, column=1) Label(LOVE, text=label[2], font=('微軟雅黑', 10)).grid(row=1, column=2) Label(LOVE, text=label[3], font=('微軟雅黑', 10)).grid(row=1, column=3) Label(LOVE, text=label[4], font=('微軟雅黑', 10)).grid(row=1, column=4) Label(LOVE, text=label[5], font=('微軟雅黑', 10)).grid(row=1, column=5) Label(LOVE, text=label[6], font=('微軟雅黑', 10)).grid(row=1, column=6) Label(LOVE, text=label[7], font=('微軟雅黑', 10)).grid(row=1, column=7) #編輯框位置和字體 en1=tk.Entry(LOVE, font=('微軟雅黑', 8)) en1.grid(row=2, column=0) en2=tk.Entry(LOVE, font=('微軟雅黑', 8)) en2.grid(row=2, column=1) en3=tk.Entry(LOVE, font=('微軟雅黑', 8)) en3.grid(row=2, column=2) en4=tk.Entry(LOVE, font=('微軟雅黑', 8)) en4.grid(row=2, column=3) en5=tk.Entry(LOVE, font=('微軟雅黑', 8)) en5.grid(row=2, column=4) en6=tk.Entry(LOVE, font=('微軟雅黑', 8)) en6.grid(row=2, column=5) en7=tk.Entry(LOVE, font=('微軟雅黑', 8)) en7.grid(row=2, column=6) en8=tk.Entry(LOVE, font=('微軟雅黑', 8)) en8.grid(row=2, column=7) Label(LOVE, text='', font=('微軟雅黑', 10)).grid(row=3, column=0) #測試輸入框預(yù)測 def pp(): x=np.array([int(en1.get()),int(en2.get()),int(en3.get()),int(en4.get()),int(en5.get()),int(en6.get()),int(en7.get()),int(en8.get())]) # 預(yù)測效果 predict = reg.predict(np.array([x])) Label(LOVE, text='預(yù)測結(jié)果已使用年數(shù)為:'+str(predict[0])+'年', font=('微軟雅黑', 10)).grid(row=4, column=3) print(predict) Button(LOVE, text='預(yù)測:', font=('微軟雅黑', 15),command=pp).grid(row=4, column=0) Label(LOVE, text='2、選擇文件預(yù)測', font=('微軟雅黑', 20)).grid(row=5, column=0) path1 = StringVar() label1 = tk.Label(LOVE,text='目標(biāo)路徑:', font=('微軟雅黑', 10)) label1.grid(row=6, column=0) e1 = tk.Entry(LOVE,textvariable=path1, font=('微軟雅黑', 10)) e1.grid(row=6, column=2) label = ['上升沿斜率(v/us)', '下降沿斜率(v/us)', '脈寬(ns)', '低狀態(tài)電平(mv)', '低電平方差(mv2)x10-3', '高狀態(tài)電平(v)', '高電平方差(v2)','信號質(zhì)量因子'] n = 0 for i in predict_value: print(str(label) + '分別為' + str(X[n]) + '預(yù)測出來的結(jié)果為:' + str(i) + '年' + 'n') f = open('預(yù)測結(jié)果.txt', 'a') f.write(str(label) + '分別為' + str(X[n]) + '預(yù)測出來的結(jié)果為:' + str(i) + '年' + 'n') f.close() f = open('result.txt', 'a') f.write(str(i) + 'n') f.close() n += 1 messagebox.showinfo(title=’模型情況’, message='預(yù)測結(jié)果保存在當(dāng)前文件夾下的TXT文件中!') os.system('result.txt') os.system('預(yù)測結(jié)果.txt') Button(LOVE, text='預(yù)測:', font=('微軟雅黑', 15), command=ppt).grid(row=7, column=0)

效果如下可見:

Python制作數(shù)據(jù)預(yù)測集成工具(值得收藏)

選擇文件進(jìn)行讀取預(yù)測和模型訓(xùn)練數(shù)據(jù)的讀取類似,代碼如下:

#選擇文件預(yù)測 def selectPath1(): # 選擇文件path_接收文件地址 path_ =tkinter.filedialog.askopenfilename() # 通過replace函數(shù)替換絕對文件地址中的/來使文件可被程序讀取 # 注意:轉(zhuǎn)義后為,所以轉(zhuǎn)義后為 path_ =path_.replace('/', '') # path設(shè)置path_的值 path1.set(path_) return path bn1 = tk.Button(LOVE,text='路徑選擇', font=('微軟雅黑', 10), command=selectPath1) bn1.grid(row=6, column=6) def ppt(): try: os.remove('預(yù)測結(jié)果.txt') os.remove('result.txt') except: pass # 文件的名字 FILENAME =path1.get() # 禁用科學(xué)計數(shù)法 pd.set_option(’float_format’, lambda x: ’%.3f’ % x) np.set_printoptions(threshold=np.inf) # 得到的DataFrame讀入所有數(shù)據(jù) data =pd.read_excel(FILENAME, header=0, usecols='A,B,C,D,E,F,G,H') # DataFrame轉(zhuǎn)化為array DataArray =data.values # 讀取其他參數(shù)作為自變量,影響因素 X = DataArray[:,0:8] predict_value = reg.predict(X) print(predict_value)

效果如下:

Python制作數(shù)據(jù)預(yù)測集成工具(值得收藏)

由于讀取文件進(jìn)行預(yù)測的話,數(shù)據(jù)較多故直接存儲在TXT中方便查看

Python制作數(shù)據(jù)預(yù)測集成工具(值得收藏)

以上就是Python制作數(shù)據(jù)預(yù)測集成工具(值得收藏)的詳細(xì)內(nèi)容,更多關(guān)于python 數(shù)據(jù)預(yù)測的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
天堂а√在线最新版中文在线| 久久久精品久久久久久96 | 亚洲二区精品| 日韩免费在线| 国产精品亚洲一区二区三区在线观看| а√天堂8资源在线| 国产欧美日韩一区二区三区在线| 亚洲精品一级| 日本成人精品| 久久国产乱子精品免费女| 国产亚洲欧美日韩精品一区二区三区| 色综合视频一区二区三区日韩| 亚洲开心激情| 日韩精品欧美精品| 久久精品97| 欧美激情福利| 福利欧美精品在线| 日韩高清不卡| 99pao成人国产永久免费视频 | 久久xxxx精品视频| 国产精品日本| 亚洲三级网址| 欧美欧美黄在线二区| 美女在线视频一区| 日韩av福利| 免费中文字幕日韩欧美| 亚洲视频二区| 国产精品午夜一区二区三区| 精品福利久久久| 婷婷精品视频| 久久亚洲图片| 日本免费在线视频不卡一不卡二| 欧美午夜三级| 精品一区二区三区免费看 | 亚洲资源av| 日本视频一区二区| 国产一区二区三区黄网站| 欧美日韩视频免费观看| 日韩网站在线| 国产欧美三级| 久久视频一区| 日韩中文字幕| 电影91久久久| 999久久久免费精品国产| 国产精品日本欧美一区二区三区| 久久精品97| 黄色欧美在线| 99视频精品| 国产精品白浆| 蜜桃视频欧美| 国产欧美日韩影院| 欧美在线资源| 国产欧美欧美| 精品日韩视频| 亚欧洲精品视频在线观看| 精品三区视频| 鲁大师成人一区二区三区| 欧美激情一区| 亚洲经典在线| 国产欧美日韩一区二区三区在线| 免费在线小视频| 免费看日韩精品| 精品精品99| 免费高清在线一区| 老牛影视精品| 日本成人在线不卡视频| 成人精品中文字幕| 日本视频一区二区| 久久婷婷丁香| 日本午夜精品久久久久| 午夜精品久久久久久久久久蜜桃| 免费在线观看一区二区三区| 日韩av专区| 亚洲ww精品| 亚洲天堂黄色| 精品国产美女a久久9999| 国产精品99免费看| 精品日韩在线| 日韩手机在线| 免费观看久久av| 精品久久91| 91成人福利| 欧美不卡高清| 国产一区二区三区天码| 日韩欧乱色一区二区三区在线| 欧美手机在线| 97人人精品| 国产精品黄色| 日韩欧美中文在线观看| 不卡在线一区二区| 成人污污视频| 色8久久久久| 日韩亚洲国产欧美| 久久久人人人| аⅴ资源天堂资源库在线| 久久狠狠久久| 中文字幕一区日韩精品| 99精品小视频| av资源亚洲| 精品久久国产一区| 国产精品xxxav免费视频| 日本v片在线高清不卡在线观看| 久久国产亚洲| 黑人精品一区| 精品一区视频| 国产精品免费大片| 美女国产一区| 欧美午夜不卡| 久久精品观看| 91p九色成人| 日韩国产一区二| 日韩高清在线不卡| 亚洲18在线| 视频一区视频二区中文字幕| 婷婷综合亚洲| 99久久久久国产精品| 日韩中文欧美| а√在线中文在线新版| 久久免费视频66| 久久精品资源| 免费亚洲一区| 国产亚洲电影| 97se亚洲| 国产欧美日韩一级| 国产精品亚洲片在线播放| 欧美伊人久久| 日韩国产在线不卡视频| 欧美日韩1区2区3区| 日本麻豆一区二区三区视频| 自拍自偷一区二区三区| 中文字幕亚洲在线观看| 亚洲精品观看| 日本久久一区| 久久丁香四色| 你懂的亚洲视频| 精品久久久久久久| 国内精品伊人| 欧美sss在线视频| 欧美日韩水蜜桃| 免费毛片在线不卡| 香蕉久久夜色精品国产| 一区在线免费观看| 久久都是精品| 蜜桃av一区二区三区电影| 国产精品一区二区三区四区在线观看| 国产午夜久久av| 精品国产亚洲一区二区三区在线| 国产伊人久久| 久久久久久久久久久妇女 | 国产乱码精品| 麻豆国产91在线播放| 国产suv精品一区二区四区视频| 精品色999| 久久久久久久久久久妇女 | 美国欧美日韩国产在线播放| 日韩高清一区二区| 久久精品一本| 亚洲福利国产| 亚洲一区二区三区久久久| 欧美午夜三级| 日本不卡免费高清视频在线| 亚洲二区精品| 五月亚洲婷婷 | re久久精品视频| 亚洲毛片视频| 久久精品一区| 激情五月色综合国产精品| 亚洲精一区二区三区| 久久av超碰| 日韩不卡视频在线观看| 夜夜嗨网站十八久久| 亚洲激精日韩激精欧美精品| 91九色综合| 美女福利一区二区三区| 另类国产ts人妖高潮视频| 国产精品久一| 国产一区亚洲| 91午夜精品| 久久久久国产| 日韩国产欧美在线视频| 国产不卡精品| 老色鬼久久亚洲一区二区| 国产精一区二区| 欧美 日韩 国产一区二区在线视频| 日韩欧美高清一区二区三区| 久久精品免视看国产成人| 亚洲小说欧美另类婷婷| 日韩激情中文字幕| 精品免费av在线| 日韩国产在线观看一区| 亚洲h色精品| 日韩国产欧美在线播放| 蜜桃精品在线| 国产精品欧美一区二区三区不卡| 久久国产亚洲精品| 国产精品一区三区在线观看| 午夜国产精品视频免费体验区| 国产精品主播| 在线亚洲欧美| 久久久久久一区二区|