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 CatBoost
  • popularity_label_encoder_manualbin3.joblib – label encoder untuk 3 kelas
  • feature_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 Populer
    • 10.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
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Dataset used to train Yuuuuurei/steam-games-popularity-predictor

Evaluation results