|
import gradio as gr |
|
import pandas as pd |
|
from sklearn.model_selection import train_test_split |
|
from sklearn.tree import DecisionTreeClassifier |
|
from sklearn.metrics import accuracy_score |
|
|
|
|
|
df = pd.read_csv("modis_2018-2022_Indonesia.csv") |
|
|
|
|
|
|
|
X = df[['brightness', 'confidence', 'bright_t31', 'frp']] |
|
y = df['type'] |
|
|
|
|
|
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) |
|
|
|
|
|
model = DecisionTreeClassifier() |
|
model.fit(X_train, y_train) |
|
|
|
|
|
def predict(brightness, confidence, bright_t31, frp): |
|
data = [[brightness, confidence, bright_t31, frp]] |
|
prediction = model.predict(data) |
|
|
|
|
|
if prediction[0] == 0: |
|
return "Tidak ada kebakaran" |
|
elif prediction[0] == 1: |
|
return "Kebakaran kecil" |
|
elif prediction[0] == 2: |
|
return "Kebakaran sedang" |
|
elif prediction[0] == 3: |
|
return "Kebakaran besar" |
|
else: |
|
return "Klasifikasi tidak diketahui" |
|
|
|
|
|
iface = gr.Interface( |
|
fn=predict, |
|
inputs=["number", "number", "number", "number"], |
|
outputs="text", |
|
title="Prediksi Kebakaran Hutan dan Lahan", |
|
description="Masukkan atribut yang diperlukan untuk memprediksi kebakaran hutan dan lahan." |
|
) |
|
|
|
|
|
iface.launch(share=True) |