Spaces:
Build error
Build error
import pandas as pd | |
import streamlit as st | |
def app(): | |
import joblib | |
st.title('SKLEARN') | |
st.write('Welcome to app2 sklearn') | |
st.title('Streamlit Example') | |
st.write(""" | |
# Explore different classifier | |
""") | |
st.write("Titanic Dataset") | |
Pclass = st.number_input('P Class', 1, 3) | |
Sex = st.selectbox('Sex', ['male', 'female']) | |
Age = st.number_input('Age', min_value=1, max_value=100, value=25) | |
Fare = st.slider('Fare', 0, 600) | |
Cabin = st.selectbox('Cabin', [0, 0.4, 0.8, 1.2, 1.6, 2, 2.4, 2.8]) | |
Embarked = st.selectbox('Embarked', ['S', 'C', 'Q']) | |
#Title = st.selectbox('Title', ['Mr', 'Ms', 'Mrs', 'Master', 'Others']) | |
#SibSp= st.selectbox('Number of Siblings And Spouse',[0,1,2,3,4,5,8]) | |
#Parch= st.selectbox('Parch',[0,1,2,3,4,5,6]) | |
#FamilySize = int(SibSp + Parch + 1) | |
FamilySize = st.slider('Family size', 1, 11) | |
if Sex == "male": | |
Title = st.selectbox('Title', ['Mr', 'Master', 'Others']) | |
else: | |
Title = st.selectbox('Title', ['Ms', 'Mrs', 'Others']) | |
input_dict = { | |
'Pclass': Pclass, | |
'Sex': Sex, | |
'Age': Age, | |
'Fare': Fare, | |
'Cabin': Cabin, | |
'Embarked': Embarked, | |
'Title': Title, | |
'FamilySize': FamilySize} | |
input_df = pd.DataFrame([input_dict]) | |
dic_sex = {"male": 0, "female": 1} | |
input_df["Sex"] = input_df["Sex"].map(dic_sex) | |
title_mapping = {'Mr': 0, 'Ms': 1, 'Mrs': 2, 'Master': 3, 'Others': 4} | |
input_df['Title'] = input_df['Title'].map(title_mapping) | |
embarked_mapping = {"S": 0, "C": 1, "Q": 2} | |
input_df['Embarked'] = input_df['Embarked'].map(embarked_mapping) | |
#cabin_mapping = {"A": 0, "B": 0.4, "C": 0.8, "D": 1.2, "E": 1.6, "F": 2, "G": 2.4, "T": 2.8} | |
#input_df['Cabin'] = input_df['Cabin'].map(cabin_mapping) | |
family_mapping = { | |
1: 0, | |
2: 0.4, | |
3: 0.8, | |
4: 1.2, | |
5: 1.6, | |
6: 2, | |
7: 2.4, | |
8: 2.8, | |
9: 3.2, | |
10: 3.6, | |
11: 4} | |
input_df['FamilySize'] = input_df['FamilySize'].map(family_mapping) | |
if Fare <= 17: | |
input_df["Fare"] = 0 | |
elif (Fare > 17 & Fare <= 30): | |
input_df["Fare"] = 1 | |
elif (Fare > 30 & Fare <= 100): | |
input_df["Fare"] = 2 | |
elif (Fare > 100): | |
input_df["Fare"] = 3 | |
if Age <= 16: | |
input_df["Age"] = 0 | |
elif (Age > 16 and Age <= 25): | |
input_df["Age"] = 1 | |
elif (Age > 25 and Age <= 35): | |
input_df["Age"] = 2 | |
elif (Age > 35 and Age <= 45): | |
input_df["Age"] = 3 | |
elif (Age > 45): | |
input_df["Age"] = 4 | |
print(input_df) | |
st.dataframe(input_df) | |
file_upload = st.file_uploader( | |
"Upload sav file for prediction", type=["sav"]) | |
if file_upload is not None: | |
load_clf = joblib.load(file_upload) | |
output = load_clf.predict(input_df) | |
if output == 0: | |
output = "Not survived" | |
else: | |
output = "Survived" | |
if st.button("Predict"): | |
st.success('The output is {} '.format(output)) | |