File size: 2,018 Bytes
eefddd9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
800ff53
eefddd9
 
 
 
 
 
 
 
 
 
 
 
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
import gradio as gr
import skops.io as sio

# Get untrusted types from the file (for older skops versions)
untrusted_types = sio.get_untrusted_types(file="./Model/drug_pipeline.skops")
print("Untrusted types found:", untrusted_types)  # Review this output

# If you trust these types, pass them to the loader
pipe = sio.load("./Model/drug_pipeline.skops", trusted=untrusted_types)


def predict_drug(age, sex, blood_pressure, cholesterol, na_to_k_ratio):
    """

    Predict drugs based on patient features.



    Args:

        age (int): Age of patient

        sex (str): Sex of patient 

        blood_pressure (str): Blood pressure level

        cholesterol (str): Cholesterol level

        na_to_k_ratio (float): Ratio of sodium to potassium in blood



    Returns:

        str: Predicted drug label

    """

    features = [age, sex, blood_pressure, cholesterol, na_to_k_ratio]
    predicted_drug = pipe.predict([features])[0]

    label = f"Predicted Drug: {predicted_drug}"
    return label


inputs = [
    gr.Slider(15, 74, step=1, label="Age"),
    gr.Radio(["M", "F"], label="Sex"),
    gr.Radio(["HIGH", "LOW", "NORMAL"], label="Blood Pressure"),
    gr.Radio(["HIGH", "NORMAL"], label="Cholesterol"),
    gr.Slider(6.2, 38.2, step=0.1, label="Na_to_K"),
]
outputs = [gr.Label(num_top_classes=5)]

examples = [
    [30, "M", "HIGH", "NORMAL", 15.4],
    [35, "F", "LOW", "NORMAL", 8],
    [50, "M", "HIGH", "HIGH", 34],
]


title = "Drug Classification"
description = "Enter the details to correctly identify Drug type?"
article = "TEST MODIFICATION - This app is a part of the Beginner's Guide to CI/CD for Machine Learning. It teaches how to automate training, evaluation, and deployment of models to Hugging Face using GitHub Actions."


gr.Interface(
    fn=predict_drug,
    inputs=inputs,
    outputs=outputs,
    examples=examples,
    title=title,
    description=description,
    article=article,
    theme=gr.themes.Soft(),
).launch()