CoolFace
Apppublic

bhalml/play_golf_select_algorithm

sourceHugging Faceapache-2.0updated 3y agoView on Hugging Face
0likes
app.py61 linesDownload Raw Back to root
1import numpy as np2import pandas as pd3import gradio as gr4import joblib5import pickle6from sklearn.tree import DecisionTreeClassifier7from xgboost import XGBClassifier8 9def predict(select_model: str10            ,Windy: bool = True11            ,Outlook_Rainy: bool = True12            ,Outlook_Sunny: bool = True13            ,Temp_Hot: bool = True14            ,Temp_Mild: bool = True15            ,Humidity_Normal: bool = True):16    17    if select_model == "DecisionTreeClassifier":18        full_model_path = "./model_playgolf_decision_tree_classifier"19    if select_model == "RandomForestClassifier":20        full_model_path = "./model_playgolf_RandomForestClassifier" 21    if select_model == "XGBoost":22        full_model_path = "./model_playgolf_XGBoost"  23    if select_model == "LogisticRegression":24        full_model_path = "./model_playgolf_logistic_regression"25                26        27    with open(full_model_path,'rb') as f:28        dct_playgolf = pickle.load(f)                29        30    prediction_array = np.array([Windy, Outlook_Rainy, Outlook_Sunny, Temp_Hot, Temp_Mild, Humidity_Normal], dtype=np.double)31    play_golf = dct_playgolf.predict([prediction_array])   32    33                     34    if play_golf == ['Yes'] or play_golf == [1]:    35        return f'Weather is good for playing golf - ' + select_model36    else:    37        return f'Weather is horrible for playing golf - ' + select_model38 39with gr.Blocks() as playgolf:40    with gr.Row() as outlookrow:41        Windy = gr.Dropdown(choices=[True,False], label="Windy Day?")42        Outlook_Rainy= gr.Dropdown(choices=[True,False], label="Rainy Day?")43        Outlook_Sunny= gr.Dropdown(choices=[True,False], label="Sunny Day?")44 45    with gr.Row() as Temprow:46        Temp_Hot = gr.Dropdown(choices=[True,False], label="Is Hot Today?")47        Temp_Mild= gr.Dropdown(choices=[True,False], label="Is Mild Temperature Today?")48        Humidity_Normal= gr.Dropdown(choices=[True,False], label="Is Humidity Normal?")49 50    select_model = gr.Dropdown(choices=['DecisionTreeClassifier','RandomForestClassifier','XGBoost','LogisticRegression'], label="Select Model")51    52    submit = gr.Button(value='Predict')53 54    output = gr.Textbox(label='Is weather good to play Golf?', interactive = False)55 56    submit.click(predict, inputs=[select_model,Windy,Outlook_Rainy,Outlook_Sunny,Temp_Hot,Temp_Mild,Humidity_Normal], outputs = [output])57 58    59playgolf.launch(share = False, debug = True)60 61