gradio/demo/fraud_detector.py

37 lines
1.4 KiB
Python
Raw Normal View History

2021-08-11 02:41:07 +08:00
# Demo: (Timeseries, CheckboxGroup, Slider) -> (Timeseries, Dataframe, Label)
2021-07-29 02:21:28 +08:00
import gradio as gr
import pandas as pd
import random
2021-08-10 05:16:29 +08:00
2021-07-29 02:21:28 +08:00
def fraud_detector(card_activity, categories, sensitivity):
activity_range = random.randint(0, 100)
2021-08-10 05:16:29 +08:00
drop_columns = [column for column in ["retail", "food", "other"] if column not in categories]
if len(drop_columns):
card_activity.drop(columns=drop_columns, inplace=True)
return card_activity, card_activity, {"fraud": activity_range / 100., "not fraud": 1 - activity_range / 100.}
2021-07-29 02:21:28 +08:00
2021-08-10 05:16:29 +08:00
iface = gr.Interface(fraud_detector,
[
gr.inputs.Timeseries(
x="time",
y=["retail", "food", "other"]
),
gr.inputs.CheckboxGroup(["retail", "food", "other"], default=[
"retail", "food", "other"]),
gr.inputs.Slider(1, 3)
],
[
"dataframe",
gr.outputs.Timeseries(
x="time",
y=["retail", "food", "other"]
),
gr.outputs.Label(label="Fraud Level"),
]
)
2021-07-29 02:21:28 +08:00
if __name__ == "__main__":
iface.launch()