API Reference - Models
-
Remember! This is source-available library and not open-source one! You may have a look for more details here.
-
If you wonder what are the most high-value use cases that helps with revenue and retention generation this DataPredict™, you can view them here!
-
To see which algorithms that you can swap model parameters with other types of algorithms, you can view them here!
| Model Type | Purpose | Count |
|---|---|---|
| Regression | Continuous Value Prediction | 13 |
| Classification | Feature-Class Prediction | 13 |
| Clustering | Feature Grouping | 10 |
| Deep Reinforcement Learning | State-Action Optimization Using Neural Networks | 26 |
| Tabular Reinforcement Learning | State-Action Optimization Using Tables | 17 |
| Sequence Modelling | Next State Prediction And Generation | 3 |
| Filtering | Next State Tracking / Estimation | 4 |
| Outlier Detection | Outlier Score Generation | 4 |
| Recommendation | User-Item Pairing | 5 |
| Generative | Feature To Novel Value | 4 |
| Feature-Class Containers | Feature-Class Look Up | 1 |
| Total | 100 |
Legend
| Icon | Name | Description |
|---|---|---|
| ❗ | Implementation Issue | The model may have some implementation problems. |
| 🔰 | Beginner Algorithm | Commonly taught to beginners. |
| 💾 | Data Efficient | Require few data to train the model. |
| ⚡ | Computationally Efficient | Require few computational resources to train the model. |
| 🛡️ | Noise Resistant | Can handle randomness / unclean data. |
| 🟢 | Online | Can adapt real-time. |
| 🟡 | Session-Adaptive / Offline | Can be retrained each session. |
| ⚠️ | Assumption-Heavy | Have restrictive rules on using the model. |
| ⚙️ | Configuration-Heavy | Requires a lot of manual configuration to use. |
Note
-
For strong deep learning applications, have a look at DataPredict™ Neural (object-oriented, static graph) and DataPredict™ Axon (function-oriented, dynamic graph) instead. DataPredict™ is only suitable for general purpose machine, deep and reinforcement learning.
-
Uses reverse-mode automatic differentiation and lazy differentiation evaluation.
-
Includes convolutional, pooling, embedding, dropout and activation layers.
-
Contains most of the deep reinforcement learning and generative algorithms listed here.
-
-
Currently, DataPredict™ has 93% (93 out of 100) models with online learning capabilities. By default, most models would perform offline / batch training on the first train before switching to online / incremental / sequential after the first train.
-
No dimensionality reduction algorithms due to not being suitable for game-related use cases. They tend to be computationally expensive and are only useful when a full dataset is collected. This can be offset by choosing proper features and remove the unnecessary ones.
-
No tree models (like decision trees) for now due to these models requiring the full dataset and tend to be computationally expensive. In addition, most of these tree models do not have online learning capabilities.
Regression
❗Implementation Issue 🔰 Beginner Algorithm 💾 Data Efficient ⚡ Computationally Efficient 🛡️ Noise Resistant 🟢 Online 🟡 Session-Adaptive / Offline ⚠️ Assumption-Heavy ⚙️ Configuration-Heavy
| Model | Alternate Names | Properties | Use Cases |
|---|---|---|---|
| LinearRegression | LR | 🔰 🟢 🟡 | General Time-To-Leave Prediction And In-Game Currency Price Generation |
| QuantileRegression | None | 🟢 🟡 | Case-Based Time-To-Leave Prediction And In-Game Currency Price Generation |
| PoissonRegression | None | 🟢 🟡 ⚠️ | Positive-Integer-Based Time-To-Leave Prediction And In-Game Currency Price Generation |
| NegativeBinomialRegression | None | 🟢 🟡 ⚠️ | Positive-Integer-Based Time-To-Leave Prediction And In-Game Currency Price Generation |
| GammaRegression | None | ❗ 🟢 🟡 ⚠️ | Player Session Duration Prediction And Content Engagement Time Prediction |
| IsotonicRegression | None | ⚡ 🟢 🟡 | 1-Dimensional Skill-Based Time-To-Leave Prediction |
| PassiveAggressiveRegressor | PA-R | ⚡ 🟢 | Fast Constrained Time-To-Leave Prediction And In-Game Currency Price Generation |
| SupportVectorRegression | SVR | 💾 🟡 | Constrained Time-To-Leave Prediction And In-Game Currency Price Generation |
| SupportVectorRegressionGradientVariant | SVR | 🟢 🟡 | Real-Time Constrained Time-To-Leave Prediction And In-Game Currency Price Generation |
| KNearestNeighboursRegressor | KNN-R | 🟢 🟡 | Memory-Based Time-To-Leave Prediction And In-Game Currency Price Generation |
| NormalEquationLinearRegression* | None | 💾 ⚡ 🟢 🟡 ⚠️ | Instant Train Time-To-Leave Prediction And In-Game Currency Price Generation |
| BayesianLinearRegression* | None | 💾 ⚡ 🟢 🟡 ⚠️ | Instant Train Time-To-Leave Prediction And In-Game Currency Price Generation With Probability Estimation |
| BayesianQuantileLinearRegression* | None | 💾 ⚡ 🟢 🟡 ⚠️ | Instant Train Time-To-Leave Prediction And In-Game Currency Price Generation With Case Estimation |
* The “instant train” models assumes that the features have a linear relationship with the label values, which is almost certainly not true in game-related settings.
Classification
❗Implementation Issue 🔰 Beginner Algorithm 💾 Data Efficient ⚡ Computationally Efficient 🛡️ Noise Resistant 🟢 Online 🟡 Session-Adaptive / Offline ⚠️ Assumption-Heavy ⚙️ Configuration-Heavy
| Model | Alternate Names | Properties | Use Cases |
|---|---|---|---|
| BinaryRegression | Perceptron, Sigmoid Regression | 🔰 🟢 🟡 | Probability-To-Leave Prediction, Player Churn Prediction, Confidence Prediction |
| PassiveAggressiveClassifier | PA-C | ⚡ 🟢 | Fast Purchase Likelihood Estimation, Decision Making |
| NearestCentroid | NC | ⚡ 🟢 🟡 | Fast Grouping Or Quick Decision Making |
| KNearestNeighboursClassifier | KNN-C | 🟢 🟡 | Item Recommendation, Similar Player Matchmaking |
| SupportVectorMachine | SVM | 💾 🟡 | Boundary-Based Prediction |
| SupportVectorMachineGradientVariant | SVM | 🟢 🟡 | Real-Time Boundary-Based Prediction |
| NeuralNetwork | Multi-Layer Perceptron | 🟢 🟡 | Decision-Making, Player Behaviour Prediction |
| GaussianNaiveBayes* | GNB | 💾 ⚡ 🟢 🟡 ⚠️ | Enemy Data Generation, Player Behavior Categorization (e.g. Cautious Vs. Aggressive), Fast State Classification |
| MultinomialNaiveBayes* | MNB | 💾 ⚡ 🟢 🟡 ⚠️ | Summoning Next Enemy Type, Inventory Action Prediction, Strategy Profiling Based on Item Usage |
| BernoulliNaiveBayes* | BNB | 💾 ⚡ 🟢 🟡 ⚠️ | Binary Action Prediction (e.g. Jump Or Not), Quick Decision Filters |
| ComplementNaiveBayes* | CNB | 💾 ⚡ 🟢 🟡 ⚠️ | Imbalanced Class Prediction (e.g. Rare Choices, Rare Paths) |
| CategoricalNaiveBayes* | CNB | 💾 ⚡ 🟢 🟡 ⚠️ | Player Choice Prediction (e.g. Weapon Type, Character Class, Map Region Selection) |
| OrdinalRegression | Ordinal Classification | 🟢 🟡 ⚠️ | Skill Tier Prediction, Dynamic Difficulty Adjustment, Ranking Systems |
* “Naive Bayes” models assumes that the features are independent to each other, which is almost certainly not true in game-related settings. Additionally, these models are better as generative models, despite being commonly taught as a classifier.
Clustering
❗Implementation Issue 🔰 Beginner Algorithm 💾 Data Efficient ⚡ Computationally Efficient 🛡️ Noise Resistant 🟢 Online 🟡 Session-Adaptive / Offline ⚠️ Assumption-Heavy ⚙️ Configuration-Heavy
| Model | Alternate Names | Properties | Use Cases |
|---|---|---|---|
| KMeans | None | 🔰 🟢 🟡 | Maximizing Area-of-Effect Abilities, Maximizing Target Grouping |
| FuzzyCMeans | None | 🟢 🟡 | Overlapping Area-of-Effect Abilities, Overlapping Target Grouping |
| KMedoids | None | 🟢 🟡 | Player Grouping Based On Player Locations With Leader Identification |
| AgglomerativeHierarchical | None | 🟢 🟡 | Enemy Data Generation |
| ExpectationMaximization | EM | 🟢 🟡 | Hacking Detection, Anomaly Detection |
| MeanShift | None | 🛡️ 🟢 🟡 | Boss Spawn Location Search Based On Player Locations |
| AffinityPropagation | AP | 🟡 | Player Grouping |
| DensityBasedSpatialClusteringOfApplicationsWithNoise | DBSCAN | 🛡️ 🟡 | Density Grouping |
| OrderingPointsToIdentifyClusteringStructure | OPTICS | 🛡️ 🟡 | Density Grouping |
| BisectingCluster | None | ⚡ 🟡 | Slow To Quick Grouping |
Deep Reinforcement Learning
❗Implementation Issue 🔰 Beginner Algorithm 💾 Data Efficient ⚡ Computationally Efficient 🛡️ Noise Resistant 🟢 Online 🟡 Session-Adaptive / Offline ⚠️ Assumption-Heavy ⚙️ Configuration-Heavy
| Model | Alternate Names | Properties | Use Cases |
|---|---|---|---|
| DeepQLearning | Deep Q Network | 💾 🟢 | Best Self-Learning Player AIs, Best Recommendation Systems |
| DeepNStepQLearning | Deep N-Step Q Network | 💾 🟢 | Best Self-Learning Player AIs, Best Recommendation Systems |
| DeepDoubleQLearningV1 | Double Deep Q Network (2010) | 💾 🛡️ 🟢 | Stable Best Self-Learning Player AIs, Best Recommendation Systems |
| DeepDoubleQLearningV2 | Double Deep Q Network (2015) | 💾 🛡️ 🟢 | Stable Best Self-Learning Player AIs, Best Recommendation Systems |
| DeepClippedDoubleQLearning | Clipped Deep Double Q Network | 💾 🛡️ 🟢 | Stable Best Self-Learning Player AIs, Best Recommendation Systems |
| DeepStateActionRewardStateAction | Deep SARSA | 🟢 | Safe Self-Learning Player AIs, Safe Recommendation Systems |
| DeepNStepStateActionRewardStateAction | Deep N-Step SARSA | 🟢 | Safe Self-Learning Player AIs, Safe Recommendation Systems |
| DeepDoubleStateActionRewardStateActionV1 | Double Deep SARSA | 🛡️ 🟢 | Stable Safe Self-Learning Player AIs, Safe Recommendation Systems |
| DeepDoubleStateActionRewardStateActionV2 | Double Deep SARSA | 🛡️ 🟢 | Stable Safe Self-Learning Player AIs, Safe Recommendation Systems |
| DeepExpectedStateActionRewardStateAction | Deep Expected SARSA | 🟢 | Balanced Self-Learning Player AIs, Balanced Recommendation Systems |
| DeepNStepExpectedStateActionRewardStateAction | Deep N-Step Expected SARSA | 🟢 | Balanced Self-Learning Player AIs, Balanced Recommendation Systems |
| DeepDoubleExpectedStateActionRewardStateActionV1 | Double Deep Expected SARSA | 🛡️ 🟢 | Stable Balanced Self-Learning Player AIs, Balanced Recommendation Systems |
| DeepDoubleExpectedStateActionRewardStateActionV2 | Double Deep Expected SARSA | 🛡️ 🟢 | Stable Balanced Self-Learning Player AIs, Balanced Recommendation Systems |
| DeepMonteCarloControl | None | ❗ 🟢 | Online Self-Learning Player AIs |
| DeepOffPolicyMonteCarloControl | None | 🟢 | Offline Self-Learning Player AIs |
| DeepTemporalDifference | TD | 🟢 | Priority Systems |
| DeepREINFORCE | None | 🟢 | Reward-Based Self-Learning Player AIs |
| VanillaPolicyGradient | VPG | ❗ 🟢 | Baseline-Based Self-Learning Player AIs |
| ActorCritic | AC | 🟢 | Critic-Based Self-Learning Player AIs |
| AdvantageActorCritic | A2C | 🟢 | Advantage-Based Self-Learning Player AIs |
| TemporalDifferenceActorCritic | TD-AC | 🟢 | Bootsrapped Online Self-Learning Player AIs |
| ProximalPolicyOptimization | PPO | 🟢 | Industry-Grade And Research-Grade Self-Learning Player And Vehicle AIs |
| ProximalPolicyOptimizationClip | PPO-Clip | 🟢 | Industry-Grade And Research-Grade Self-Learning Player And Vehicle AIs |
| SoftActorCritic | SAC | 💾 🛡️ 🟢 | Self-Learning Vehicle AIs |
| DeepDeterministicPolicyGradient | DDPG | 🟢 ⚙️ | Self-Learning Vehicle AIs |
| TwinDelayedDeepDeterministicPolicyGradient | TD3 | 🟢 🛡️ ⚙️ | Self-Learning Vehicle AIs |
Tabular Reinforcement Learning
❗Implementation Issue 🔰 Beginner Algorithm 💾 Data Efficient ⚡ Computationally Efficient 🛡️ Noise Resistant 🟢 Online 🟡 Session-Adaptive / Offline ⚠️ Assumption-Heavy ⚙️ Configuration-Heavy
| Model | Alternate Names | Properties | Use Cases |
|---|---|---|---|
| TabularQLearning | Q-Learning | 🔰 💾 🟢 | Best Self-Learning Grid AIs |
| TabularNStepQLearning | N-Step Q-Learning | 🔰 💾 🟢 | Best Self-Learning Grid AIs |
| TabularDoubleQLearningV1 | Double Q-Learning (2010) | 💾 🛡️ 🟢 | Best Self-Learning Grid AIs |
| TabularDoubleQLearningV2 | Double Q-Learning (2015) | 💾 🛡️ 🟢 | Best Self-Learning Grid AIs |
| TabularClippedDoubleQLearning | Clipped Double Q-Learning | 💾 🛡️ 🟢 | Best Self-Learning Grid AIs |
| TabularStateActionRewardStateAction | SARSA | 🔰 🟢 | Safe Self-Learning Grid AIs |
| TabularNStepStateActionRewardStateAction | N-Step SARSA | 🔰 🟢 | Safe Self-Learning Grid AIs |
| TabularDoubleStateActionRewardStateActionV1 | Double SARSA | 🛡️ 🟢 | Safe Self-Learning Grid AIs |
| TabularDoubleStateActionRewardStateActionV2 | Double SARSA | 🛡️ 🟢 | Safe Self-Learning Grid AIs |
| TabularExpectedStateActionRewardStateAction | Expected SARSA | 🟢 | Balanced Self-Learning Grid AIs |
| TabularNStepExpectedStateActionRewardStateAction | N-Step Expected SARSA | 🟢 | Balanced Self-Learning Grid AIs |
| TabularDoubleExpectedStateActionRewardStateActionV1 | Double Expected SARSA | 🛡️ 🟢 | Balanced Self-Learning Grid AIs |
| TabularDoubleExpectedStateActionRewardStateActionV2 | Double Expected SARSA | 🛡️ 🟢 | Balanced Self-Learning Grid AIs |
| TabularMonteCarloControl | MC | 🟢 | Online Self-Learning Grid AIs |
| TabularOffPolicyMonteCarloControl | Off-Policy MC | 🟢 | Offline Self-Learning Grid AIs |
| TabularTemporalDifference | TD | 🟢 | Priority Systems |
| TabularREINFORCE | None | 🟢 | Reward-Based Self-Learning Grid AIs |
Sequence Modelling
❗Implementation Issue 🔰 Beginner Algorithm 💾 Data Efficient ⚡ Computationally Efficient 🛡️ Noise Resistant 🟢 Online 🟡 Session-Adaptive / Offline ⚠️ Assumption-Heavy ⚙️ Configuration-Heavy
| Model | Alternate Names | Properties | Use Cases |
|---|---|---|---|
| Markov* | None | 💾 🟢 | Single Feature Player State Prediction |
| DynamicBayesianNetwork* | DBN | 💾 🟢 | Multiple Features Player State Prediction |
| ConditionalRandomField* | CRF | 🟢 | Multiple Features Player State Prediction |
- These are single step variants of the sequence models. Hence, it will not use or return sequence of values.
Filtering
❗Implementation Issue 🔰 Beginner Algorithm 💾 Data Efficient ⚡ Computationally Efficient 🛡️ Noise Resistant 🟢 Online 🟡 Session-Adaptive / Offline ⚠️ Assumption-Heavy ⚙️ Configuration-Heavy
| Model | Alternate Names | Properties | Use Cases |
|---|---|---|---|
| KalmanFilter | KF | 🟢 ⚠️ | Linear Movement Anti-Cheat |
| ExtendedKalmanFilter | EKF | 🟢 ⚙️ | Non-Linear Movement Anti-Cheat |
| UnscentedKalmanFilter | UKF | 💾 🟢 ⚙️ | Non-Linear Movement Anti-Cheat |
| UnscentedKalmanFilter (DataPredict Variant) | UKF-DP | 💾 🟢 ⚙️ | Non-Linear Movement Anti-Cheat |
Outlier Detection
❗Implementation Issue 🔰 Beginner Algorithm 💾 Data Efficient ⚡ Computationally Efficient 🛡️ Noise Resistant 🟢 Online 🟡 Session-Adaptive / Offline ⚠️ Assumption-Heavy ⚙️ Configuration-Heavy
| Model | Alternate Names | Properties | Use Cases |
|---|---|---|---|
| OneClassSupportVectorMachine | OC-SVM | 💾 🟡 | Hacking Detection, Anomaly Detection (Using Single Class Data) |
| OneClassPassiveAggressiveClassifier | OC-PA-C | ❗ ⚡ 🟢 | Fast Hacking Detection, Anomaly Detection (Using Single Class Data) |
| LocalOutlierFactor | LOF | 🟢 🟡 | Score-Based Play-Time Milestone Detection |
| LocalOutlierProbability | LoOP | 🟢 🟡 | Probability-Based Play-Time Milestone Detection |
Recommendation
❗Implementation Issue 🔰 Beginner Algorithm 💾 Data Efficient ⚡ Computationally Efficient 🛡️ Noise Resistant 🟢 Online 🟡 Session-Adaptive / Offline ⚠️ Assumption-Heavy ⚙️ Configuration-Heavy
| Model | Alternate Names | Properties | Use Cases |
|---|---|---|---|
| FactorizationMachine | FM | 🟢 🟡 🛡️ | Cold-Start User-Item Recommendation |
| FactorizedPairwiseInteraction | None | 🟢 🟡 🛡️ | Cold-Start User-Item Recommendation |
| SimonFunkMatrixFactorization | Funk MF | 🟢 🟡 | Early Netflix-Style User-Item Recommendation |
| SimonFunkMatrixFactorizationWithBiases | Funk MF | 🟢 🟡 🛡️ | Early Netflix-Style User-Item Recommendation |
| TwoTower | None | 🟢 🟡 | YouTube-Style User-Item Recommendation |
Generative
❗Implementation Issue 🔰 Beginner Algorithm 💾 Data Efficient ⚡ Computationally Efficient 🛡️ Noise Resistant 🟢 Online 🟡 Session-Adaptive / Offline ⚠️ Assumption-Heavy ⚙️ Configuration-Heavy
| Model | Alternate Names | Properties | Use Cases |
|---|---|---|---|
| GenerativeAdversarialNetwork | GAN | 🟢 🟡 | Enemy Data Generation |
| ConditionalGenerativeAdversarialNetwork | CGAN | 🟢 🟡 | Conditional Enemy Data Generation |
| WassersteinGenerativeAdversarialNetwork | WGAN | 🟢 🟡 | Stable Enemy Data Generation |
| ConditionalWassersteinGenerativeAdversarialNetwork | CWGAN | 🟢 🟡 | Stable Conditional Enemy Data Generation |
Feature-Class Containers
❗Implementation Issue 🔰 Beginner Algorithm 💾 Data Efficient ⚡ Computationally Efficient 🛡️ Noise Resistant 🟢 Online 🟡 Session-Adaptive / Offline ⚠️ Assumption-Heavy ⚙️ Configuration-Heavy
| Model | Alternate Names | Properties | Use Cases |
|---|---|---|---|
| Table | Grid | ⚡🟢 🟡 | Quick Look Up |
BaseModels
DeepReinforcementLearningBaseModel
DeepReinforcementLearningActorCriticBaseModel