PredictIncome / app.py
VeyVey's picture
Update app.py
4356f0f
raw
history blame
1.71 kB
import gradio as gr
from transformers import pipeline
# Load the Hugging Face model for income prediction
model = pipeline("text-classification", model="distilbert-base-uncased-finetuned-sst-2-english")
def predict_income(features):
# Preprocess the input features
job_title = features['job_title']
years_of_experience = features['years_of_experience']
education_level = features['education_level']
# Combine the input features into a text string
input_text = f"Job Title: {job_title}\nYears of Experience: {years_of_experience}\nEducation Level: {education_level}"
# Use the Hugging Face model to predict the income
prediction = model(input_text)[0]
# Print the prediction for debugging
print("Prediction:", prediction)
# Return the predicted income
return prediction['label']
# Define the input fields for the Gradio interface
job_title_input = gr.inputs.Textbox(label="Job Title")
years_of_experience_input = gr.inputs.Number(label="Years of Experience")
education_level_input = gr.inputs.Dropdown(label="Education Level", choices=["High School", "Bachelor's Degree", "Master's Degree", "PhD"])
# Define the output field for the Gradio interface
income_output = gr.outputs.Textbox(label="Predicted Income")
# Create the Gradio interface
interface = gr.Interface(fn=predict_income,
inputs=[job_title_input, years_of_experience_input, education_level_input],
outputs=income_output,
title="Income Prediction",
description="Predict income for female and male employees based on job-related features.")
# Launch the Gradio interface
interface.launch()