jaleesahmed's picture
app
0717498
raw
history blame
2.25 kB
import gradio as gr
import pandas as pd
from sklearn.preprocessing import LabelEncoder
from sklearn.feature_selection import mutual_info_classif
from sklearn.feature_selection import chi2
def data_description(action_type):
df = pd.read_csv('emp_experience_data.csv')
pd.options.display.max_columns = 25
pd.options.display.max_rows = 10
data_encoded = df.copy(deep=True)
categorical_column = ['Attrition', 'Gender', 'BusinessTravel', 'Education', 'EmployeeExperience', 'EmployeeFeedbackSentiments', 'Designation',
'SalarySatisfaction', 'HealthBenefitsSatisfaction', 'UHGDiscountProgramUsage', 'HealthConscious', 'CareerPathSatisfaction', 'Region']
label_encoding = LabelEncoder()
for col in categorical_column:
data_encoded[col] = label_encoding.fit_transform(data_encoded[col])
input_data = data_encoded.drop(['Attrition'], axis=1)
target_data = data_encoded[['Attrition']]
col_values = list(input_data.columns.values)
if action_type == "Input Data":
return input_data.head()
if action_type == "Target Data":
return target_data.head()
if action_type == "Feature Selection By Mutual Information":
feature_scores = mutual_info_classif(input_data, target_data)
data = [["Feature", "Mutual Information (0: independent, 1: dependent)"]]
for score, fname in sorted(zip(feature_scores, col_values), reverse=True)[:10]:
data.append([fname, score])
return data
if action_type == "Feature Selection By Chi Square":
feature_scores = chi2(input_data, target_data)[0]
data = [["Feature", "Chi-Square (Frequency Distribution)"]]
for score, fname in sorted(zip(feature_scores, col_values), reverse=True)[:10]:
data.append([fname, score])
return data
inputs = [
gr.Dropdown(["Input Data", "Target Data", "Feature Selection By Mutual Information", "Feature Selection By Chi Square"], label="Develop Data Models")
]
outputs = [gr.DataFrame()]
demo = gr.Interface(
fn = data_description,
inputs = inputs,
outputs = outputs,
title="Employee-Experience: Model Development",
allow_flagging=False
)
if __name__ == "__main__":
demo.launch()