File size: 2,629 Bytes
a6c8c66
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
135e49d
881163b
a6c8c66
 
 
a135539
881163b
 
 
 
 
 
135e49d
a6c8c66
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
66
67
68
69
import streamlit as st
import pandas as pd
import numpy as np
import pickle
import json
# Load All Files

with open('prepmod_dt.pkl', 'rb') as file_1:
  prepmod_dt = pickle.load(file_1)

with open('Drop_Columns.txt', 'r') as file_2:
  Drop_Columns = json.load(file_2)

def run():
  with st.form(key='form_forest_fire'):
      day = st.slider('Enter Date',min_value=1,max_value=31,value=26)
      month = st.slider('Enter Month',min_value=1, max_value=12,value=7)
      year = st.number_input('Enter Year',min_value=2012,max_value=2012,value=2012)
      st.markdown('---')
      Temperature = st.number_input('Enter Temperature in degree Celsius',min_value=22,max_value=42,value=36)
      RH = st.number_input('Enter RH (Relative Humidity) in %',min_value=21,max_value=90,value=53)
      Ws = st.number_input('Enter Wind speed in km/h',min_value=6,max_value=29,value=19)
      Rain = st.number_input('Enter Rainfall in mm',step=0.01,format="%.2f",min_value=0.00,max_value=16.80,value=0.00)
      st.markdown('---')
      FFMC = st.number_input('Fine Fuel Moisture Code (FFMC)',step=0.1,format="%.2f",min_value=28.60,max_value=92.50,value=89.20)
      DMC = st.number_input('Duff Moisture Code (DMC)',step=0.1,format="%.2f",min_value=1.10,max_value=65.90,value=17.10)
      DC = st.number_input('Drought Code (DC)',step=0.1,format="%.2f",min_value=7.00,max_value=220.40,value=98.60)
      ISI = st.number_input('Initial Spread Index (ISI)',step=0.1,format="%.2f",min_value=0.00,max_value=18.50,value=10.00)
      BUI = st.number_input('Buildup Index (BUI)',step=0.1,format="%.2f",min_value=1.10,max_value=68.00,value=23.90)
      FWI = st.number_input('Fire Weather Index (FWI)',step=0.1,format="%.2f",min_value=0.00,max_value=31.10,value=15.30)
       
      submitted = st.form_submit_button('Is there a forest fire?')

  df_inf = {
      'day': day,
      'month': month,
      'year': year,
      'Temperature': Temperature,
      'RH': RH,
      'Ws': Ws,
      'Rain': Rain,
      'FFMC': FFMC,
      'DMC': DMC,
      'DC': DC,
      'ISI': ISI,
      'BUI':BUI,
      'FWI':FWI
  }
  df_inf = pd.DataFrame([df_inf])
  # Data Inference
  df_inf_copy = df_inf.copy()
  

  # Removing unnecessary features
  df_inf_final = df_inf_copy.drop(Drop_Columns,axis=1).sort_index()
  
  st.dataframe(df_inf_final)

  if submitted:
      # Predict using DecisionTree
      y_pred_inf = prepmod_dt.predict(df_inf_final)
      st.write('# Is there a forest fire?')
      if y_pred_inf == 0:
         st.subheader('There is No Forest Fire')
      else:
         st.subheader('There is a Forest Fire')

if __name__ == '__main__':
    run()