File size: 1,612 Bytes
6d477ac
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
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

# Load dataset
df = pd.read_csv("modis_2018-2022_Indonesia.csv")

# Preprocessing data
# Menggunakan atribut yang sesuai untuk memprediksi kebakaran (misalnya, suhu permukaan dan potensi radiasi kebakaran)
X = df[['brightness', 'confidence', 'bright_t31', 'frp']]
y = df['type']

# Split data menjadi data latih dan data uji
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Membangun model Decision Tree
model = DecisionTreeClassifier()
model.fit(X_train, y_train)

# Fungsi untuk melakukan prediksi
def predict(brightness, confidence, bright_t31, frp):
    data = [[brightness, confidence, bright_t31, frp]]
    prediction = model.predict(data)
    
    # Keterangan untuk setiap klasifikasi
    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"

# Interface Gradio
iface = gr.Interface(
    fn=predict,
    inputs=["number", "number", "number", "number"],  # Menyesuaikan dengan jenis atribut yang digunakan
    outputs="text",
    title="Prediksi Kebakaran Hutan dan Lahan",
    description="Masukkan atribut yang diperlukan untuk memprediksi kebakaran hutan dan lahan."
)

# Menjalankan aplikasi Gradio
iface.launch(share=True)