| import pandas as pd | |
| import gradio as gr | |
| import joblib | |
| le=joblib.load('le_col.pkl') | |
| min_max=joblib.load('MinMax.pkl') | |
| lr=joblib.load('model.pkl') | |
| le_col=['gender','Partner','Dependents','PhoneService','PaperlessBilling','MultipleLines','InternetService','OnlineSecurity','OnlineBackup','DeviceProtection','TechSupport','StreamingTV','StreamingMovies','Contract','PaymentMethod'] | |
| MinMax=['TotalCharges','MonthlyCharges','tenure'] | |
| def prediction_churn_model(gr,sc,pr,dp,t,ps,mp,Is,os,ob,dd,ts,st,sm,cr,pb,pm,mc,tc): | |
| try: | |
| input_data=pd.DataFrame({ | |
| 'gender':[gr], | |
| 'SeniorCitizen':[sc], | |
| 'Partner':[pr], | |
| 'Dependents':[dp], | |
| 'tenure':[t], | |
| 'PhoneService':[ps], | |
| 'MultipleLines':[mp], | |
| 'InternetService':[Is], | |
| 'OnlineSecurity':[os], | |
| 'OnlineBackup':[ob], | |
| 'DeviceProtection':[dd], | |
| 'TechSupport':[ts], | |
| 'StreamingTV':[st], | |
| 'StreamingMovies':[sm], | |
| 'Contract':[cr], | |
| 'PaperlessBilling':[pb], | |
| 'PaymentMethod':[pm], | |
| 'MonthlyCharges':[mc], | |
| 'TotalCharges':[tc] | |
| }) | |
| for col in le_col: | |
| input_data[col]=le[col].transform(input_data[col]) | |
| input_data[MinMax]=min_max.transform(input_data[MinMax]) | |
| prediction=lr.predict(input_data) | |
| if prediction[0]==0: | |
| return 'No' | |
| else: | |
| return 'Yes' | |
| except Exception as e: | |
| return str(e) | |
| gr.Interface( | |
| inputs=[ | |
| gr.Dropdown(['Female', 'Male'],label='gender'), | |
| gr.Number(label='SeniorCitizen'), | |
| gr.Dropdown(['No','Yes'],label='Partner'), | |
| gr.Dropdown(['No','Yes'],label='Dependents'), | |
| gr.Number(label='tenure'), | |
| gr.Dropdown(['Yes','No'],label='PhoneService'), | |
| gr.Dropdown(['No','Yes'],label='MultipleLines'), | |
| gr.Dropdown(['Fiber optic','DSL','No'],label='InternetService'), | |
| gr.Dropdown(['No','Yes','No internet service'],label='OnlineSecurity'), | |
| gr.Dropdown(['No','Yes','No internet service'],label='OnlineBackup'), | |
| gr.Dropdown(['No','Yes','No internet service'],label='DeviceProtection'), | |
| gr.Dropdown(['No','Yes','No internet service'],label='TechSupport'), | |
| gr.Dropdown(['No','Yes','No internet service'],label='StreamingTV'), | |
| gr.Dropdown(['No','Yes','No internet service'],label='StreamingMovies'), | |
| gr.Dropdown(['Month-to-month','Two year','One year'],label='Contract'), | |
| gr.Dropdown(['Yes','No'],label='PaperlessBilling'), | |
| gr.Dropdown(['Electroniccheck', 'Mailedcheck', 'Banktransfer', 'Creditcard'],label='PaymentMethod'), | |
| gr.Number(label='MonthlyCharges'), | |
| gr.Number(label='TotalCharges') | |
| ], | |
| fn=prediction_churn_model, | |
| outputs=gr.Textbox(label='Prediction'), | |
| title='Prediction Telecoum Churn Model' | |
| ).launch() |