Trying to deploy an ML model through Tkinter. the code runs and the GUI shows but the results are not shown despite the system running with no error

405 views Asked by At

Trying to create a GUI that takes attributes of a building a returns a value from a trained ML model using Tkinter. the application runs without error but returns no results. having hard time finding the problem. here is the whole code:

from tkinter import *
import random
import time; 
import datetime
from catboost import CatBoostRegressor 
import numpy as np 
import joblib
import json

#load model and scaler
from_file = CatBoostRegressor()
house_model=from_file.load_model("final_housing_model",format="coreml")
house_scaler=joblib.load("housing_scaler.pkl")

#create the very thing(GUI)

house =Tk()
house.title('Veracity')
house.geometry("1600x800+0+0")

#declare stuff
text_Input=IntVar()
#creating the frames for Top, Bottom and Side parts of the GUI

Bottom=Frame(house,width=900,height=700,bg="powder blue",relief=SUNKEN )
Bottom.pack(side=LEFT)


#time tuu nta kindi (the fromat is not good for the moment)
localtime=time.asctime(time.localtime(time.time( )))

#Put Text Content in the thing(as in just the title)
Topinfo=Label(Tops,font=("Helvetica",50,"bold"),text="VeracityReference",fg="black",bd=10,anchor='w')
Topinfo.grid(row=0,column=0)
#time as well from above
time=Label(Tops,font=("Helvetica",20,"bold"),text=localtime,fg="black",bd=10,anchor='w')
time.grid(row=1,column=0)
# the inputs of the value determinants for now

bedroomsinput=IntVar()
bathroomsinput=IntVar()

#Bedrooms
bedrooms_ref=Label(Bottom,font=('Times New Roman',16,'bold'),text="Number of 
 Bedrooms",bd=10,anchor='w')
bedrooms_ref.grid(row=0,column=0)
bedrooms=Entry(Bottom,font 
("arial",16,"bold"),textvariable=bedroomsinput,bd=10,insertwidth=4,bg='white',justify='right')
bedrooms.grid(row=0,column=1)
#Bathrooms
bathrooms_ref=Label(Bottom,font=('Times New Roman',16,'bold'),text='Number of 
bathrooms',bd=10,anchor='w')
bathrooms_ref.grid(row=1,column=0)
bathrooms=Entry(Bottom,font= 
("arial",16,"bold"),textvariable=bathroomsinput,bd=10,insertwidth=4,bg='white',justify='right')
bathrooms.grid(row=1,column=1)


#put them together 
S_bedrooms=float(bedrooms.get())
S_bathrooms=float(bathrooms.get())
S_sqft_living=float(sqft_living.get())
S_sqft_lot=float(Sqft_lot.get())
S_floors=float(Number_of_floors.get())

inputh= 

[[S_bedrooms,S_bathrooms]]

#function to do stuff
def return_predictions(model=house_model,scaler=house_scaler,House=inputh):
    S_bedrooms=float(bedrooms.get())
    S_bathrooms=float(bathrooms.get())
    House= 

[[S_bedrooms,S_bathrooms]] House=scaler.transform(House)

    Market_value=model.predict(House)

    return  Market_value

results=return_predictions(house_model,house_scaler,inputh)

submit=Button(Bottom,padx=16,pady=8,bd=16,fg='black',font= 
('Arial',16,'bold'),width=10,text="submit",bg="powder 
blue",command=return_predictions).grid(row=9,column=6)

Market_value_ref=Label(Bottom,font=('Times New Roman',16,'bold'),text="Estimated Market 
Value",bd=10,anchor='w')
Market_value_ref.grid(row=7,column=6)
Market_value=Entry(Bottom,font= 
("arial",16,"bold"),textvariable=results,bd=10,insertwidth=4,bg='white',justify='right')
Market_value.grid(row=8,column=6)


house.mainloop()
0

There are 0 answers