|
import numpy as np |
|
import pandas as pd |
|
from xgboost import XGBClassifier |
|
from sklearn.model_selection import train_test_split |
|
|
|
data=pd.read_csv('./desktop/ARDS/dataset.csv') |
|
X = data.drop(columns='outcome_AKI') |
|
y = data['outcome_AKI'] |
|
X_train, X_test, y_train, y_test = train_test_split(X.astype(float), y.astype(float), test_size=0.20, random_state=0) |
|
from sklearn.preprocessing import StandardScaler |
|
sc = StandardScaler() |
|
X_train = sc.fit_transform(X_train) |
|
X_test = sc.transform(X_test) |
|
method=XGBClassifier(n_estimators=516,learning_rate=0.010199415682142065,min_data_in_leaf=7,max_depth=3,num_leaves=15, |
|
colsample_bytree=0.95,subsample=1.0,reg_alpha=0.09623819103594808) |
|
method.fit(X_train, y_train) |
|
|
|
import gradio as gr |
|
import warnings |
|
warnings.filterwarnings('ignore') |
|
def AKI(Creatinine,PO2,Sepsis,ALB,Lactate,BUN,Tbil,WBC,UO,SpO2): |
|
x = np.array([Creatinine,PO2,Sepsis,ALB,Lactate,BUN,Tbil,WBC,UO,SpO2]) |
|
prediction = method.predict_proba(x.reshape(1, -1))[:,1] |
|
return prediction |
|
outputs = gr.outputs.Textbox() |
|
app = gr.Interface(fn=AKI, inputs=['number','number','number','number','number','number','number','number','number','number'], |
|
outputs=outputs,description="AKI prediction model") |
|
app.launch(share=True) |