|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
from tkinter import *
from tkinter import filedialog
from tkinter import messagebox
import csv
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
import numpy as np
from sklearn.linear_model import Ridge
root = Tk()
root.title("数据分析")
root.minsize(800,500)
file_name_var = StringVar()
num1 = StringVar()
num2 = StringVar()
def openfile():
file_name = filedialog.askopenfilename(filetypes=[("csvfile","*.csv")])
file_name_var.set(file_name)
def linear():
numx = int(num1.get())
numy = float(num2.get())
data = np.genfromtxt(file_name_var.get(),delimiter=",")
x_data = data[1:,0:numx-1]
y_data = data[1:,-1]
lr = Ridge(alpha=numy).fit(x_data,y_data)
coef = list(lr.coef_)
intercept = lr.intercept_
R = lr.score(x_data,y_data)
with open(file_name_var.get()) as f:
reader = csv.reader(f)
header_row = next(reader)
numz = numx-1
z = ""
while numz:
numz -= 1
z += str(coef[numz]) + "*" + header_row[numz] + " "
model = header_row[-1] + "=" + z + "\n"
result = model + "\n" + "R值:" + str(R) + "\n"
t.insert("insert",result)
"""
def test():
if not re.findall('[0-9]+',str(num1.get())) or not re.findall('[0-9]+',str(num2.get())):
messagebox.showwarning("警告","只能输入数字")
"""
# 创建界面中其他按键
b0 = Button(root,text="选择文件",font="微软雅黑", width=15,command=openfile).grid(
row=0,column=0,pady=5,padx=5)
e0 = Entry(root,textvariable=file_name_var,state=DISABLED,font="微软雅黑").grid(
row=0,column=1,pady=5,columnspan=4,sticky=W+E)
l1 = Label(root,text="响应所在列:",font="微软雅黑", width=20).grid(row=1,column=0,
pady=5)
e1 =Entry(root,textvariable=num1, font="微软雅黑").\
grid(row=1,column=1,pady=5)
l2 = Label(root,text="Alpha值:",font="微软雅黑", width=20).grid(row=1,column=2,
pady=5)
e2 =Entry(root,textvariable=num2, font="微软雅黑").\
grid(row=1,column=3,padx=5,pady=5)
b1 = Button(root,text="执行建模",font="微软雅黑",width=20,height=1,command=linear).grid(
row=1,column=4,padx=5)
t = Text(root,font="微软雅黑").grid(row=2,column=2,columnspan=3,padx=5,pady=5)
mainloop()
就是第44行,想在t中显示,运算的结果,调试显示'NoneType' object has no attribute 'insert'
没在电脑旁,只能目测
t = Text(root,font="微软雅黑")
t.grid(row=2,column=2,columnspan=3,padx=5,pady=5)
|
|