SalarySense: Prediksi Gaji Menggunakan Machine Learning dan Streamlit

SalarySense merupakan proyek akhir Praktikum Big Data yang bertujuan untuk membangun sistem prediksi gaji tahunan berbasis Machine Learning. Aplikasi ini membantu pengguna memahami estimasi gaji, posisi gaji di pasar kerja, serta proyeksi pertumbuhan gaji di masa depan berdasarkan profil pekerja.

🔗 Link Aplikasi Streamlit:
https://tugasakhirbigdata-fikhrihanif.streamlit.app/

🔗 Link Repository GitHub:
https://github.com/fikhrihanif/TugasAkhirBigData.git


1. Deskripsi Dataset

Dataset yang digunakan berisi informasi profil pekerja dan gaji tahunan. Dataset ini digunakan untuk melatih model Machine Learning dalam memprediksi gaji berdasarkan beberapa faktor penting.

Contoh dataset:


2. Exploratory Data Analysis (EDA)

Tahap EDA dilakukan untuk memahami pola data, distribusi gaji, serta hubungan antara fitur dan target.

Distribusi gaji:

Hubungan pengalaman kerja dengan gaji:

Distribusi gaji berdasarkan tingkat pendidikan:


3. Data Preprocessing

Sebelum dilakukan pemodelan, data melalui tahap preprocessing agar siap digunakan oleh algoritma Machine Learning.

Code preprocessing pipeline:

from sklearn.pipeline import Pipeline
from sklearn.impute import SimpleImputer
from sklearn.preprocessing import StandardScaler, OneHotEncoder
from sklearn.compose import ColumnTransformer

# Define preprocessing steps
numeric_features = ['age', 'years_experience']
categorical_features = ['education_level', 'job_title', 'gender']

numeric_transformer = Pipeline(steps=[
    ('imputer', SimpleImputer(strategy='median')),
    ('scaler', StandardScaler())
])

categorical_transformer = Pipeline(steps=[
    ('imputer', SimpleImputer(strategy='constant', fill_value='missing')),
    ('onehot', OneHotEncoder(handle_unknown='ignore'))
])

preprocessor = ColumnTransformer(
    transformers=[
        ('num', numeric_transformer, numeric_features),
        ('cat', categorical_transformer, categorical_features)
    ]
)


4. Pemodelan Machine Learning

Dua algoritma Machine Learning digunakan dalam proyek ini untuk membandingkan performa model.

Model Random Forest kemudian ditingkatkan performanya menggunakan teknik Hyperparameter Tuning dengan GridSearchCV.

Diagram alur pemodelan:


5. Evaluasi Model

Evaluasi model dilakukan menggunakan beberapa metrik regresi untuk memastikan performa prediksi yang baik.

Tabel perbandingan model:


6. Deployment Aplikasi Streamlit

Model terbaik di-deploy ke dalam aplikasi web interaktif menggunakan Streamlit. Aplikasi ini memungkinkan pengguna untuk:

Tampilan input aplikasi:

Tampilan hasil prediksi:


7. Kesimpulan

Proyek SalarySense berhasil membangun sistem prediksi gaji berbasis Machine Learning secara end-to-end, mulai dari pengolahan data, pemodelan, evaluasi, hingga deployment aplikasi web.

Model Random Forest menunjukkan performa terbaik dan aplikasi Streamlit memberikan pengalaman pengguna yang interaktif dan informatif.