Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| import numpy as np | |
| import tensorflow as tf | |
| from joblib import load | |
| scaler = load('scaler.joblib') | |
| model = tf.keras.models.load_model("TCM.h5") | |
| st.title("Cover Type Classification App") | |
| with st.form(key='TC23'): | |
| Elevation = st.number_input('Elevation', min_value=0, max_value=10000, value=500) | |
| Aspect = st.number_input('Aspect', min_value=0, max_value=10000, value=500) | |
| Slope = st.number_input('Slope', min_value=0, max_value=10000, value=500) | |
| Horizontal_Distance_To_Hydrology = st.number_input('Horizontal Distance to Hydrology', min_value=0, max_value=10000, value=500) | |
| Vertical_Distance_To_Hydrology = st.number_input('Vertical Distance to Hydrology', min_value=0, max_value=10000, value=500) | |
| Horizontal_Distance_To_Roadways = st.number_input('Horizontal Distance to Roadways', min_value=0, max_value=10000, value=500) | |
| Hillshade_9am = st.number_input('Hillshade at 9am', min_value=0, max_value=10000, value=500) | |
| Hillshade_Noon = st.number_input('Hillshade at 12pm', min_value=0, max_value=10000, value=500) | |
| Hillshade_3pm = st.number_input('Hillshade at 3pm', min_value=0, max_value=10000, value=500) | |
| Horizontal_Distance_To_Fire_Points = st.number_input('Horizontal Distance to Fire Points', min_value=0, max_value=10000, value=500) | |
| Wilderness_Area = st.number_input('Wilderness Area', min_value=1, max_value=4, value=1) | |
| Soil_Type = st.number_input('Soil Type', min_value=1, max_value=40, value=1) | |
| submitted = st.form_submit_button('Predict') | |
| input_data = { | |
| 'Elevation': Elevation, | |
| 'Aspect': Aspect, | |
| 'Slope': Slope, | |
| 'Horizontal_Distance_To_Hydrology': Horizontal_Distance_To_Hydrology, | |
| 'Vertical_Distance_To_Hydrology': Vertical_Distance_To_Hydrology, | |
| 'Horizontal_Distance_To_Roadways': Horizontal_Distance_To_Roadways, | |
| 'Hillshade_9am': Hillshade_9am, | |
| 'Hillshade_Noon': Hillshade_Noon, | |
| 'Hillshade_3pm': Hillshade_3pm, | |
| 'Horizontal_Distance_To_Fire_Points': Horizontal_Distance_To_Fire_Points, | |
| 'Wilderness_Area': Wilderness_Area, | |
| 'Soil_Type': Soil_Type | |
| } | |
| class_to_cover_type = { | |
| 0: "Spruce/Fir", | |
| 1: "Lodgepole Pine", | |
| 2: "Ponderosa Pine", | |
| 3: "Cottonwood/Willow", | |
| 4: "Aspen", | |
| 5: "Douglas-fir", | |
| 6: "Krummholz", | |
| } | |
| new_test = np.array(list(input_data.values())).reshape(1, -1) | |
| new_test = scaler.transform(new_test) | |
| if submitted: | |
| prediction = model.predict(new_test) | |
| predicted_class = np.argmax(prediction) | |
| cover_type = class_to_cover_type.get(predicted_class, "Unknown") | |
| st.write(f"Predicted Cover Type: {cover_type}") |