File size: 10,743 Bytes
8b8a799
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
import gradio as gr
import pandas as pd
import joblib

# Load the model and label encoder
model = joblib.load('disease_prediction_model.pkl')
label_encoder = joblib.load('label_encoder.pkl')

# Define a function for predictions
def predict_disease(
    itching, skin_rash, nodal_skin_eruptions, continuous_sneezing, shivering,
    chills, joint_pain, stomach_pain, acidity, ulcers_on_tongue,
    muscle_wasting, vomiting, burning_micturition, spotting_urination, fatigue,
    weight_gain, anxiety, cold_hands_and_feets, mood_swings, weight_loss,
    restlessness, lethargy, patches_in_throat, irregular_sugar_level, cough,
    high_fever, sunken_eyes, breathlessness, sweating, dehydration,
    indigestion, headache, yellowish_skin, dark_urine, nausea, loss_of_appetite,
    pain_behind_the_eyes, back_pain, constipation, abdominal_pain, diarrhoea,
    mild_fever, yellow_urine, yellowing_of_eyes, acute_liver_failure, fluid_overload,
    swelling_of_stomach, swelled_lymph_nodes, malaise, blurred_and_distorted_vision,
    phlegm, throat_irritation, redness_of_eyes, sinus_pressure, runny_nose,
    congestion, chest_pain, weakness_in_limbs, fast_heart_rate, pain_during_bowel_movements,
    pain_in_anal_region, bloody_stool, irritation_in_anus, neck_pain, dizziness,
    cramps, bruising, obesity, swollen_legs, swollen_blood_vessels, puffy_face_and_eyes,
    enlarged_thyroid, brittle_nails, swollen_extremeties, excessive_hunger, extra_marital_contacts,
    drying_and_tingling_lips, slurred_speech, knee_pain, hip_joint_pain, muscle_weakness,
    stiff_neck, swelling_joints, movement_stiffness, spinning_movements, loss_of_balance,
    unsteadiness, weakness_of_one_body_side, loss_of_smell, bladder_discomfort,
    foul_smell_of_urine, continuous_feel_of_urine, passage_of_gases, internal_itching,
    toxic_look_typhos, depression, irritability, muscle_pain, altered_sensorium,
    red_spots_over_body, belly_pain, abnormal_menstruation, dischromic_patches,
    watering_from_eyes, increased_appetite, polyuria, family_history, mucoid_sputum,
    rusty_sputum, lack_of_concentration, visual_disturbances, receiving_blood_transfusion,
    receiving_unsterile_injections, coma, stomach_bleeding, distention_of_abdomen,
    history_of_alcohol_consumption, fluid_overload_1, blood_in_sputum, prominent_veins_on_calf,
    palpitations, painful_walking, pus_filled_pimples, blackheads, scurring,
    skin_peeling, silver_like_dusting, small_dents_in_nails, inflammatory_nails, blister,
    red_sore_around_nose, yellow_crust_ooze
):
    # Create a DataFrame from the inputs
    input_data = pd.DataFrame([[
        itching, skin_rash, nodal_skin_eruptions, continuous_sneezing, shivering,
        chills, joint_pain, stomach_pain, acidity, ulcers_on_tongue,
        muscle_wasting, vomiting, burning_micturition, spotting_urination, fatigue,
        weight_gain, anxiety, cold_hands_and_feets, mood_swings, weight_loss,
        restlessness, lethargy, patches_in_throat, irregular_sugar_level, cough,
        high_fever, sunken_eyes, breathlessness, sweating, dehydration,
        indigestion, headache, yellowish_skin, dark_urine, nausea, loss_of_appetite,
        pain_behind_the_eyes, back_pain, constipation, abdominal_pain, diarrhoea,
        mild_fever, yellow_urine, yellowing_of_eyes, acute_liver_failure, fluid_overload,
        swelling_of_stomach, swelled_lymph_nodes, malaise, blurred_and_distorted_vision,
        phlegm, throat_irritation, redness_of_eyes, sinus_pressure, runny_nose,
        congestion, chest_pain, weakness_in_limbs, fast_heart_rate, pain_during_bowel_movements,
        pain_in_anal_region, bloody_stool, irritation_in_anus, neck_pain, dizziness,
        cramps, bruising, obesity, swollen_legs, swollen_blood_vessels, puffy_face_and_eyes,
        enlarged_thyroid, brittle_nails, swollen_extremeties, excessive_hunger, extra_marital_contacts,
        drying_and_tingling_lips, slurred_speech, knee_pain, hip_joint_pain, muscle_weakness,
        stiff_neck, swelling_joints, movement_stiffness, spinning_movements, loss_of_balance,
        unsteadiness, weakness_of_one_body_side, loss_of_smell, bladder_discomfort,
        foul_smell_of_urine, continuous_feel_of_urine, passage_of_gases, internal_itching,
        toxic_look_typhos, depression, irritability, muscle_pain, altered_sensorium,
        red_spots_over_body, belly_pain, abnormal_menstruation, dischromic_patches,
        watering_from_eyes, increased_appetite, polyuria, family_history, mucoid_sputum,
        rusty_sputum, lack_of_concentration, visual_disturbances, receiving_blood_transfusion,
        receiving_unsterile_injections, coma, stomach_bleeding, distention_of_abdomen,
        history_of_alcohol_consumption, fluid_overload_1, blood_in_sputum, prominent_veins_on_calf,
        palpitations, painful_walking, pus_filled_pimples, blackheads, scurring,
        skin_peeling, silver_like_dusting, small_dents_in_nails, inflammatory_nails, blister,
        red_sore_around_nose, yellow_crust_ooze
    ]], columns=model.feature_names_in_)

    # Predict the disease
    prediction = model.predict(input_data)
    predicted_disease = label_encoder.inverse_transform(prediction)[0]
    return predicted_disease

# Define the inputs for Gradio
inputs = [
    gr.Checkbox(label='itching'), gr.Checkbox(label='skin_rash'),
    gr.Checkbox(label='nodal_skin_eruptions'), gr.Checkbox(label='continuous_sneezing'),
    gr.Checkbox(label='shivering'), gr.Checkbox(label='chills'),
    gr.Checkbox(label='joint_pain'), gr.Checkbox(label='stomach_pain'),
    gr.Checkbox(label='acidity'), gr.Checkbox(label='ulcers_on_tongue'),
    gr.Checkbox(label='muscle_wasting'), gr.Checkbox(label='vomiting'),
    gr.Checkbox(label='burning_micturition'), gr.Checkbox(label='spotting_urination'),
    gr.Checkbox(label='fatigue'), gr.Checkbox(label='weight_gain'),
    gr.Checkbox(label='anxiety'), gr.Checkbox(label='cold_hands_and_feets'),
    gr.Checkbox(label='mood_swings'), gr.Checkbox(label='weight_loss'),
    gr.Checkbox(label='restlessness'), gr.Checkbox(label='lethargy'),
    gr.Checkbox(label='patches_in_throat'), gr.Checkbox(label='irregular_sugar_level'),
    gr.Checkbox(label='cough'), gr.Checkbox(label='high_fever'),
    gr.Checkbox(label='sunken_eyes'), gr.Checkbox(label='breathlessness'),
    gr.Checkbox(label='sweating'), gr.Checkbox(label='dehydration'),
    gr.Checkbox(label='indigestion'), gr.Checkbox(label='headache'),
    gr.Checkbox(label='yellowish_skin'), gr.Checkbox(label='dark_urine'),
    gr.Checkbox(label='nausea'), gr.Checkbox(label='loss_of_appetite'),
    gr.Checkbox(label='pain_behind_the_eyes'), gr.Checkbox(label='back_pain'),
    gr.Checkbox(label='constipation'), gr.Checkbox(label='abdominal_pain'),
    gr.Checkbox(label='diarrhoea'), gr.Checkbox(label='mild_fever'),
    gr.Checkbox(label='yellow_urine'), gr.Checkbox(label='yellowing_of_eyes'),
    gr.Checkbox(label='acute_liver_failure'), gr.Checkbox(label='fluid_overload'),
    gr.Checkbox(label='swelling_of_stomach'), gr.Checkbox(label='swelled_lymph_nodes'),
    gr.Checkbox(label='malaise'), gr.Checkbox(label='blurred_and_distorted_vision'),
    gr.Checkbox(label='phlegm'), gr.Checkbox(label='throat_irritation'),
    gr.Checkbox(label='redness_of_eyes'), gr.Checkbox(label='sinus_pressure'),
    gr.Checkbox(label='runny_nose'), gr.Checkbox(label='congestion'),
    gr.Checkbox(label='chest_pain'), gr.Checkbox(label='weakness_in_limbs'),
    gr.Checkbox(label='fast_heart_rate'), gr.Checkbox(label='pain_during_bowel_movements'),
    gr.Checkbox(label='pain_in_anal_region'), gr.Checkbox(label='bloody_stool'),
    gr.Checkbox(label='irritation_in_anus'), gr.Checkbox(label='neck_pain'),
    gr.Checkbox(label='dizziness'), gr.Checkbox(label='cramps'),
    gr.Checkbox(label='bruising'), gr.Checkbox(label='obesity'),
    gr.Checkbox(label='swollen_legs'), gr.Checkbox(label='swollen_blood_vessels'),
    gr.Checkbox(label='puffy_face_and_eyes'), gr.Checkbox(label='enlarged_thyroid'),
    gr.Checkbox(label='brittle_nails'), gr.Checkbox(label='swollen_extremeties'),
    gr.Checkbox(label='excessive_hunger'), gr.Checkbox(label='extra_marital_contacts'),
    gr.Checkbox(label='drying_and_tingling_lips'), gr.Checkbox(label='slurred_speech'),
    gr.Checkbox(label='knee_pain'), gr.Checkbox(label='hip_joint_pain'),
    gr.Checkbox(label='muscle_weakness'), gr.Checkbox(label='stiff_neck'),
    gr.Checkbox(label='swelling_joints'), gr.Checkbox(label='movement_stiffness'),
    gr.Checkbox(label='spinning_movements'), gr.Checkbox(label='loss_of_balance'),
    gr.Checkbox(label='unsteadiness'), gr.Checkbox(label='weakness_of_one_body_side'),
    gr.Checkbox(label='loss_of_smell'), gr.Checkbox(label='bladder_discomfort'),
    gr.Checkbox(label='foul_smell_of_urine'), gr.Checkbox(label='continuous_feel_of_urine'),
    gr.Checkbox(label='passage_of_gases'), gr.Checkbox(label='internal_itching'),
    gr.Checkbox(label='toxic_look_typhos'), gr.Checkbox(label='depression'),
    gr.Checkbox(label='irritability'), gr.Checkbox(label='muscle_pain'),
    gr.Checkbox(label='altered_sensorium'), gr.Checkbox(label='red_spots_over_body'),
    gr.Checkbox(label='belly_pain'), gr.Checkbox(label='abnormal_menstruation'),
    gr.Checkbox(label='dischromic_patches'), gr.Checkbox(label='watering_from_eyes'),
    gr.Checkbox(label='increased_appetite'), gr.Checkbox(label='polyuria'),
    gr.Checkbox(label='family_history'), gr.Checkbox(label='mucoid_sputum'),
    gr.Checkbox(label='rusty_sputum'), gr.Checkbox(label='lack_of_concentration'),
    gr.Checkbox(label='visual_disturbances'), gr.Checkbox(label='receiving_blood_transfusion'),
    gr.Checkbox(label='receiving_unsterile_injections'), gr.Checkbox(label='coma'),
    gr.Checkbox(label='stomach_bleeding'), gr.Checkbox(label='distention_of_abdomen'),
    gr.Checkbox(label='history_of_alcohol_consumption'), gr.Checkbox(label='fluid_overload_1'),
    gr.Checkbox(label='blood_in_sputum'), gr.Checkbox(label='prominent_veins_on_calf'),
    gr.Checkbox(label='palpitations'), gr.Checkbox(label='painful_walking'),
    gr.Checkbox(label='pus_filled_pimples'), gr.Checkbox(label='blackheads'),
    gr.Checkbox(label='scurring'), gr.Checkbox(label='skin_peeling'),
    gr.Checkbox(label='silver_like_dusting'), gr.Checkbox(label='small_dents_in_nails'),
    gr.Checkbox(label='inflammatory_nails'), gr.Checkbox(label='blister'),
    gr.Checkbox(label='red_sore_around_nose'), gr.Checkbox(label='yellow_crust_ooze')
]

# Create the Gradio interface
interface = gr.Interface(
    fn=predict_disease,
    inputs=inputs,
    outputs='text',
    title='Disease Prediction Bot',
    description='Enter symptoms to get a disease prediction.'
)

# Launch the Gradio interface
interface.launch()