File size: 2,554 Bytes
b028bf3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
70
71
72
73
74
75
76
77
78
79
import streamlit as st
import pandas as pd
import numpy as np
import pickle
import json

#Load All files
#Load model

with open('best_pipe.pkl', 'rb') as file_1:
    best_pipe = pickle.load(file_1)
with open('num_col.txt', 'r') as file_2: 
    num_col = json.load(file_2)

def run():
    st.title('Water Quality Data Input Form')

    # Membuat form
    with st.form('Water_Quality'):
        aluminium = st.number_input('Aluminium', value=0.0, min_value=0.0)
        ammonia = st.number_input('Ammonia', value=0.0, min_value=0.0)
        arsenic = st.number_input('Arsenic', value=0.0, min_value=0.0)
        cadmium = st.number_input('Cadmium', value=0.0, min_value=0.0)
        chloramine = st.number_input('Chloramine', value=0.0, min_value=0.0)
        copper = st.number_input('Copper', value=0.0, min_value=0.0)
        bacteria = st.number_input('Bacteria', value=0.0, min_value=0.0)
        viruses = st.number_input('Viruses', value=0.0, min_value=0.0)
        lead = st.number_input('Lead', value=0.0, min_value=0.0)
        nitrites = st.number_input('Nitrites', value=0.0, min_value=0.0)
        perchlorate = st.number_input('Perchlorate', value=0.0, min_value=0.0)
        radium = st.number_input('Radium', value=0.0, min_value=0.0)
        selenium = st.number_input('Selenium', value=0.0, min_value=0.0)
        silver = st.number_input('Silver', value=0.0, min_value=0.0)
        uranium = st.number_input('Uranium', value=0.0, min_value=0.0)

        # Membuat tombol submit
        submitted = st.form_submit_button('Submit')

    # Mengumpulkan data inputan ke dalam dictionary
    data_inf = {
        'aluminium': aluminium,
        'ammonia': ammonia,
        'arsenic': arsenic,
        'cadmium': cadmium,
        'chloramine': chloramine,
        'copper': copper,
        'bacteria': bacteria,
        'viruses': viruses,
        'lead': lead,
        'nitrites': nitrites,
        'perchlorate': perchlorate,
        'radium': radium,
        'selenium': selenium,
        'silver': silver,
        'uranium': uranium
    }

    # Mengubah dictionary menjadi DataFrame
    data_inf = pd.DataFrame([data_inf])

    # Menampilkan DataFrame
    st.dataframe(data_inf)

    # Memproses data setelah tombol submit ditekan
    if submitted:
        # Prediksi menggunakan model 
        y_pred_inf = best_pipe.predict(data_inf)
        
        if y_pred_inf == 0:
            st.write('## Rating : Dangerous')
        else:
            st.write('## Rating : Safe')

# Menjalankan aplikasi
if __name__ == "__main__":
    main()