tmdeptrai3012's picture
Sync App files
baa7788 verified
raw
history blame
2.94 kB
import gradio as gr
import skops.io as sio
import pandas as pd
pipe = sio.load("./Model/personality_pipeline.skops",trusted=["numpy.dtype","sklearn.compose._column_transformer._RemainderColsList"])
print("Succesfully loaded the model")
def predict_personality(Time_spent_Alone,Stage_fear,Social_event_attendance,Going_outside,Drained_after_socializing,Friends_circle_size,Post_frequency):
"""Predict personality based on social features.
Args:
+ Time_spent_Alone: Hours spent alone daily (0-11).
+ Stage_fear: Presence of stage fright (Yes/No).
+ Social_event_attendance: Frequency of social events (0-10).
+ Going_outside: Frequency of going outside (0-7).
+ Drained_after_socializing: Feeling drained after socializing (Yes/No).
+ Friends_circle_size: Number of close friends (0-15).
+ Post_frequency: Social media post frequency (0-10).
Returns:
str: Predicted drug label
"""
features = [Time_spent_Alone,Stage_fear,Social_event_attendance,Going_outside,Drained_after_socializing,Friends_circle_size,Post_frequency]
columns = [
"Time_spent_Alone",
"Stage_fear",
"Social_event_attendance",
"Going_outside",
"Drained_after_socializing",
"Friends_circle_size",
"Post_frequency"
]
df_input = pd.DataFrame([features], columns=columns)
predicted_personality = pipe.predict(df_input)[0]
return f"Predicted personality: {str(predicted_personality).upper()}"
inputs=[
gr.Slider(0,11,step=1,label="Time_spent_Alone",info="How many hours do you spend alone every day? (0-11)"),
gr.Radio(["Yes","No"],label="Stage_fear",info="Are you afraid of standing in front of crowds? (Yes/No)."),
gr.Slider(0,10,step=1,label="Social_event_attendance",info="How frequently do you participate in social events? (0-10)"),
gr.Slider(0,7,step=1,label="Going_outside",info="How many days per week do you go outside? (0-7)"),
gr.Radio(["Yes","No"],label="Drained_after_socializing",info="Do you feel exhausted after parties or interacting with many people? (Yes/No)."),
gr.Slider(0,15,step=1,label="Friends_circle_size",info="How many close friends do you have? (0-15)"),
gr.Slider(0,10,step=1,label="Post_frequency",info="How often do you post on social media? (0-10)"),
]
outputs=[gr.Label(num_top_classes=5)]
examples=[
[4.0,"No",4.0,6.0,"No",13.0,5.0],
[9.0,"Yes",0.0,0.0,"Yes",0.0,3.0],
[9.0,"Yes",1.0,2.0,"Yes",5.0,2.0]
]
title="Personality Classification"
description="Enter your social features to determine whether you are an Introvert or Extrovert"
article="This app is for my MLOps with CI/CD pipe line, pretty cool right?"
gr.Interface(
fn=predict_personality,
inputs=inputs,
outputs=outputs,
examples=examples,
title=title,
description=description,
article=article,
theme=gr.themes.Soft()
).launch()