Model Card for Popularity Classifier (CatBoost - Manual Bin 3)
Model ini memprediksi tingkat popularitas game berdasarkan berbagai fitur dari dataset Steam seperti Price
, Tags
, Developers
, Playtime
, dan lain-lain. Kelas output terbagi menjadi 3 label:
- Kurang Populer
- Cukup Populer
- Sangat Populer
Model dikembangkan sebagai bagian dari kompetisi Datathon 2025.
Model Details
Model Description
Model ini merupakan model klasifikasi berbasis CatBoostClassifier, dilatih pada dataset Steam yang telah dimodifikasi (FronkonGames β versi custom). Data yang digunakan mencakup sekitar 60.000 game dengan preprocessing dan binning khusus.
- Developed by: Fahri Desrian
- Model type: Gradient Boosted Decision Tree (CatBoost)
- Language(s): English (metadata kolom)
- License: MIT
- Finetuned from: Tidak berlaku (model dari awal)
Model Files
popularity_classifier_catboost_manualbin3.joblib
β model CatBoostpopularity_label_encoder_manualbin3.joblib
β label encoder untuk 3 kelasfeature_columns.joblib
β daftar fitur yang digunakan saat inference
Uses
Direct Use
Model ini digunakan untuk:
- Prediksi popularitas game baru berdasarkan metadata
- Analisis game design, genre, atau perilaku pengguna
- Insight untuk developer dan publisher
Downstream Use
Dapat digunakan dalam pipeline otomatis (misalnya dalam sistem rekomendasi atau dashboard analitik).
Out-of-Scope Use
- Tidak cocok untuk prediksi revenue atau performa pasar real.
- Tidak boleh digunakan sebagai satu-satunya dasar keputusan bisnis tanpa validasi tambahan.
Bias, Risks, and Limitations
- Dataset Steam mungkin bias terhadap genre mainstream atau developer besar.
- Genre niche atau regional mungkin kurang akurat diprediksi.
- Tidak mempertimbangkan sentimen sosial media atau campaign marketing.
Recommendations
Gunakan model ini hanya sebagai alat bantu dan lakukan validasi manual pada prediksi penting.
How to Get Started with the Model
import joblib
import pandas as pd
# Load model dan encoder
model = joblib.load("popularity_classifier_catboost_manualbin3.joblib")
label_encoder = joblib.load("popularity_label_encoder_manualbin3.joblib")
feature_cols = joblib.load("feature_columns.joblib")
# Contoh data
df = pd.read_csv("game_input.csv")
# Prediksi
X = df[feature_cols]
y_pred = model.predict(X)
y_label = label_encoder.inverse_transform(y_pred)
print(y_label)
Training Details
Training Data
Dataset: Modified Steam Games Dataset
Jumlah data: ~60.000 game
Kelas target: 3 kelas binned berdasarkan Estimated owners
Preprocessing
- Multi-label column diubah jadi binary features (Tags, Genres, Categories)
- Missing value β median/βunknownβ
- Binning target:
<10.000
β Kurang Populer10.000β100.000
β Cukup Populer>100.000
β Sangat Populer
Training Hyperparameters
CatBoost Model Detail
- Model type: Multi-class classification
- Classes: Kurang Populer, Cukup Populer, Sangat Populer
- Algorithm: CatBoostClassifier
- Accuracy: 91.92%
- Training Parameters:
- iterations: 1000
- depth: 6
- learning_rate: 0.0995
- loss_function: MultiClass
- bootstrap_type: Bayesian
- score_function: Cosine
- random_seed: 42
Evaluation
Testing Data
Split 80/20 train/test
Metrics
- Accuracy: 91.92%
- F1 Macro, Recall, dan Precision tersedia di log training (tidak disertakan di sini)
Citation
BibTeX:
@misc{fahriakmalsarah2025popularitymodel,
author = {Fahri Desrian, Sarah Zhafirah Adzra, Muhammad Akmal Fasya},
title = {Popularity Classifier (CatBoost - Manual Bin 3)},
year = 2025,
howpublished = {\url{https://huggingface.co/Yuuuuurei/steam-games-popularity-predictor}},
note = {Used for Datathon 2025}
}
- Downloads last month
- -
Dataset used to train Yuuuuurei/steam-games-popularity-predictor
Evaluation results
- Accuracy on Modified Steam Games Datasettest set self-reported0.919