cancel
Showing results for 
Search instead for 
Did you mean: 
Machine Learning
Dive into the world of machine learning on the Databricks platform. Explore discussions on algorithms, model training, deployment, and more. Connect with ML enthusiasts and experts.
cancel
Showing results for 
Search instead for 
Did you mean: 

Using Machine Learning to Improve Emulator Compatibility Predictions

lucas1147
New Contributor

Hi everyone,

I'm working on a personal project and would appreciate some advice from people who have experience with machine learning on Databricks.

Imagine having a dataset containing thousands of game compatibility records collected from different emulator versions, graphics backends, hardware configurations, frame rates, and user-reported issues. The goal is to predict whether a game will run correctly on a specific setup and identify the settings most likely to improve performance.

Would this problem be better approached as a classification task or a recommendation system? Which ML algorithms would you start with for this type of structured dataset?

I also wonder whether Databricks AutoML is a good starting point before building custom models. Has anyone here used AutoML for a project with a large number of categorical features and configuration variables?

For context, the dataset is related to retro gaming and PlayStation 2 emulator compatibility, similar to the type of information available on https://ps2biosonline.com/.

I'd appreciate any suggestions on feature engineering, model selection, or best practices for organizing this kind of project in Databricks.

1 REPLY 1

iyashk-DB
Databricks Employee
Databricks Employee

This is a classification problem, not a recommendation system. Recommenders are for "which item does this user prefer among many," but what you're describing is "does this game run on this config," which is a label you're predicting from a set of features (game, emulator version, graphics backend, hardware, frame rate). Treat "compatible / not compatible" (or a multi-class compatibility rating if you have more than two buckets) as your target and go from there.

For a first pass on structured data like this, start with gradient boosted trees, XGBoost or LightGBM. They handle mixed numeric and categorical features well, don't need much scaling, and are a solid baseline before you reach for anything fancier. A random forest or plain logistic regression is worth training alongside as a sanity check, sometimes the simple model is close enough and easier to explain.

Databricks AutoML is a genuinely good fit here for a starting point. Point it at your table with the compatibility label as the target, and it'll clean the data, handle categorical encoding and missing values, and train and tune decision trees, random forest, logistic regression, XGBoost, and LightGBM in parallel, then hand you a notebook with the best pipeline that you can pick apart and keep iterating on manually.

The one thing to watch with your dataset specifically: if any of your categorical columns have a lot of distinct values (specific hardware model strings, for example), check the Warnings tab on the AutoML experiment page after it runs. AutoML flags high-cardinality categorical columns because they can blow up one-hot encoding and hurt model quality. If you see that warning, it's worth bucketing rare hardware/config values into broader groups (hardware tier, GPU family, frame rate ranges) before training rather than leaving hundreds of one-off string values as-is.

For project organization, let AutoML give you the fast baseline and the generated notebook, then take the winning algorithm family and keep refining feature engineering by hand from there rather than starting from scratch.