Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| import pandas as pd | |
| import pickle | |
| # Load model | |
| model_path = "pipeline.pkl" | |
| with open(model_path, 'rb') as file: | |
| model = pickle.load(file) | |
| def run_modelling(user_input): | |
| prediction = model.predict(user_input) | |
| return prediction | |
| # Function to get user input from the sidebar | |
| def get_user_input(): | |
| st.sidebar.header("Input Parameters") | |
| # Use a unique key by appending a suffix or index | |
| age = st.sidebar.number_input("Usia", min_value=0, max_value=120, value=25, key='age_input') | |
| # Select boxes with options for education, marital status, and occupation | |
| workclass = st.sidebar.selectbox("Jenis Pekerjaan", ["Swasta", "Wiraswasta (Tidak Terdaftar)", "Wiraswasta (Terdaftar)", | |
| "Pemerintah Pusat", "Pemerintah Lokal", "Pemerintah Daerah", | |
| "Tanpa Bayaran", "Belum Pernah Bekerja"], key='workclass_input') | |
| education = st.sidebar.selectbox("Pendidikan", ['Lulusan SMA', 'Sebagian Kuliah', 'Sarjana', | |
| 'Magister', 'Diploma Vokasi', 'SMA (Kelas 11)', | |
| 'Diploma Akademik', 'SMA (Kelas 10)', | |
| 'SMP (Kelas 7-8)', 'Sekolah Profesional', | |
| 'SMP (Kelas 9)', 'SMA (Kelas 12)', 'Doktor', | |
| 'SD (Kelas 5-6)', 'SD (Kelas 1-4)', | |
| 'TK (Taman Kanak-Kanak)'], key='education_input') | |
| fnlwgt = st.sidebar.number_input("Bobot Akhir", value=0, key='fnlwgt_input') | |
| marital_status = st.sidebar.selectbox("Status Perkawinan", ['Menikah', 'Belum Pernah Menikah', | |
| 'Bercerai', 'Berpisah', 'Duda/Janda', | |
| 'Menikah (Pasangan Tidak Ada)', | |
| 'Menikah (Pasangan di Militer)'], key='marital_status_input') | |
| occupation = st.sidebar.selectbox("Pekerjaan", ['Profesional', 'Perbaikan Kerajinan', | |
| 'Eksekutif/Manajerial', 'Administrasi/Klerikal', | |
| 'Penjualan', 'Layanan Lain', | |
| 'Operator Mesin/Inspeksi', 'Transportasi/Pengemudi', | |
| 'Pembersih/Tenaga Kasar', 'Pertanian/Perikanan', | |
| 'Dukungan Teknis', 'Layanan Perlindungan', | |
| 'Pelayan Rumah Tangga', 'Angkatan Bersenjata'], key='occupation_input') | |
| relationship = st.sidebar.selectbox("Hubungan", ["Suami","Tidak Dalam Keluarga", "Anak Sendiri", "Unmarried", "Istri", "Kerabat Lain"], key='relationship_input') | |
| race = st.sidebar.selectbox("Ras", ["Caucasian (Putih)" , "Afrika (Hitam)", "Asian-Pac-Islander", "Amer-Indian-Eskimo", "Lain-lain"], key='race_input') | |
| gender = st.sidebar.selectbox("Jenis kelamin", ['Perempuan', 'Laki-Laki'], key='gender_input') | |
| capital_gain = st.sidebar.number_input("Keuntungan Modal", value=0, key='capital_gain_input') | |
| capital_loss = st.sidebar.number_input("Kerugian Modal", value=0, key='capital_loss_input') | |
| hours_per_week = st.sidebar.number_input("Jam Kerja per Minggu", value=40, key='hours_per_week_input') | |
| native_country = st.sidebar.selectbox("Negara Asal", ['United-States', 'Cambodia', 'England', | |
| 'Puerto-Rico', 'Canada', 'Germany', | |
| 'India', 'Japan', 'Greece', 'South', | |
| 'China', 'Cuba', 'Iran', 'Honduras', | |
| 'Philippines', 'Italy', 'Poland', | |
| 'Columbia', 'Mexico', 'Portugal', | |
| 'South Africa', 'Taiwan', 'Thailand', | |
| 'Yugoslavia'], key='native_country_input') | |
| # Create a DataFrame from the inputs | |
| user_input = pd.DataFrame({ | |
| 'usia': [age], | |
| 'jenis_pekerjaan': [workclass], | |
| 'bobot_akhir': [fnlwgt], | |
| 'pendidikan': [education], | |
| 'nomor_pendidikan': [12], | |
| 'status_perkawinan': [marital_status], | |
| 'pekerjaan': [occupation], | |
| 'hubungan': [relationship], | |
| 'ras': [race], | |
| 'jenis_kelamin': [gender], | |
| 'keuntungan_modal': [capital_gain], | |
| 'kerugian_modal': [capital_loss], | |
| 'jam_kerja': [hours_per_week], | |
| 'negara_asal': [native_country] | |
| }) | |
| return user_input | |