tkinter 按下按钮导出预测结果
tkinter press button to export predictive result
如何将预测结果保存为 txt 或 csv?
我有下面的代码,它确实导出了,但没有导出预测结果..
如何重写代码?
提前致谢!
以下代码是关于对预测进行回归模型测试并尝试通过 tkinter 计算出预测数字的代码:
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
import tkinter as tk
candidates = {'gmat': [780,750,690,710,780,730,690,720,740,690,610,690,710,680,770,610,580,650,540,590,620,600,550,550,570,670,660,580,650,760,640,620,660,660,680,650,670,580,590,790],
'gpa': [4,3.9,3.3,3.7,3.9,3.7,2.3,3.3,3.3,1.7,2.7,3.7,3.7,3.3,3.3,3,2.7,3.7,2.7,2.3,3.3,2,2.3,2.7,3,3.3,3.7,2.3,3.7,3.3,3,2.7,4,3.3,3.3,2.3,2.7,3.3,1.7,3.7],
'admitted': [2,2,1,2,2,2,0,2,2,0,0,2,2,1,2,0,0,1,0,0,1,0,0,0,0,1,1,0,1,2,0,0,1,1,1,0,0,0,0,2]
}
df = pd.DataFrame(candidates,columns= ['gmat', 'gpa','admitted'])
#print (df)
X = df[['gmat', 'gpa']]
y = df['admitted']
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.25,random_state=0)
clf = RandomForestClassifier(n_estimators=100)
clf.fit(X_train,y_train)a
y_pred = clf.predict(X_test)
# tkinter GUI
root= tk.Tk()
canvas1 = tk.Canvas(root, width = 500, height = 350)
canvas1.pack()
# GMAT
label1 = tk.Label(root, text=' GMAT:')
canvas1.create_window(100, 100, window=label1)
entry1 = tk.Entry (root)
canvas1.create_window(270, 100, window=entry1)
# GPA
label2 = tk.Label(root, text='GPA: ')
canvas1.create_window(120, 120, window=label2)
entry2 = tk.Entry (root)
canvas1.create_window(270, 120, window=entry2)
def values():
global gmat
gmat = float(entry1.get())
global gpa
gpa = float(entry2.get())
Prediction_result = (' Predicted Result: ', clf.predict([[gmat,gpa]]))
label_Prediction = tk.Label(root, text= Prediction_result, bg='sky blue')
canvas1.create_window(270, 280, window=label_Prediction)
button1 = tk.Button (root, text=' Predict ',command=values, bg='green', fg='white', font=11)
canvas1.create_window(270, 220, window=button1)
print(button1, file = open(r'C:\Users\Lawrence\Desktop\Result.txt', 'w'))
root.mainloop()
假设您获得标签中显示的正确值 window
这个
print(button1, file = open(r'C:\Users\Lawrence\Desktop\Result.txt', 'w'))
将 button1
的内部表示打印到您的文件中,类似于 .!button
因此,删除该行并放置
print(Prediction_result[1], file = open(r'C:\Users\Lawrence\Desktop\Result.txt', 'w'))
作为函数的最后一行values
如何将预测结果保存为 txt 或 csv?
我有下面的代码,它确实导出了,但没有导出预测结果..
如何重写代码?
提前致谢!
以下代码是关于对预测进行回归模型测试并尝试通过 tkinter 计算出预测数字的代码:
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
import tkinter as tk
candidates = {'gmat': [780,750,690,710,780,730,690,720,740,690,610,690,710,680,770,610,580,650,540,590,620,600,550,550,570,670,660,580,650,760,640,620,660,660,680,650,670,580,590,790],
'gpa': [4,3.9,3.3,3.7,3.9,3.7,2.3,3.3,3.3,1.7,2.7,3.7,3.7,3.3,3.3,3,2.7,3.7,2.7,2.3,3.3,2,2.3,2.7,3,3.3,3.7,2.3,3.7,3.3,3,2.7,4,3.3,3.3,2.3,2.7,3.3,1.7,3.7],
'admitted': [2,2,1,2,2,2,0,2,2,0,0,2,2,1,2,0,0,1,0,0,1,0,0,0,0,1,1,0,1,2,0,0,1,1,1,0,0,0,0,2]
}
df = pd.DataFrame(candidates,columns= ['gmat', 'gpa','admitted'])
#print (df)
X = df[['gmat', 'gpa']]
y = df['admitted']
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.25,random_state=0)
clf = RandomForestClassifier(n_estimators=100)
clf.fit(X_train,y_train)a
y_pred = clf.predict(X_test)
# tkinter GUI
root= tk.Tk()
canvas1 = tk.Canvas(root, width = 500, height = 350)
canvas1.pack()
# GMAT
label1 = tk.Label(root, text=' GMAT:')
canvas1.create_window(100, 100, window=label1)
entry1 = tk.Entry (root)
canvas1.create_window(270, 100, window=entry1)
# GPA
label2 = tk.Label(root, text='GPA: ')
canvas1.create_window(120, 120, window=label2)
entry2 = tk.Entry (root)
canvas1.create_window(270, 120, window=entry2)
def values():
global gmat
gmat = float(entry1.get())
global gpa
gpa = float(entry2.get())
Prediction_result = (' Predicted Result: ', clf.predict([[gmat,gpa]]))
label_Prediction = tk.Label(root, text= Prediction_result, bg='sky blue')
canvas1.create_window(270, 280, window=label_Prediction)
button1 = tk.Button (root, text=' Predict ',command=values, bg='green', fg='white', font=11)
canvas1.create_window(270, 220, window=button1)
print(button1, file = open(r'C:\Users\Lawrence\Desktop\Result.txt', 'w'))
root.mainloop()
假设您获得标签中显示的正确值 window
这个
print(button1, file = open(r'C:\Users\Lawrence\Desktop\Result.txt', 'w'))
将 button1
的内部表示打印到您的文件中,类似于 .!button
因此,删除该行并放置
print(Prediction_result[1], file = open(r'C:\Users\Lawrence\Desktop\Result.txt', 'w'))
作为函数的最后一行values