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

BaseModel

NaiveBayesBaseModel

GradientMethodBaseModel

IterativeMethodBaseModel

DeepReinforcementLearningBaseModel

DeepReinforcementLearningActorCriticBaseModel

TabularReinforcementLearningBaseModel

MatrixFactorizationBaseModel

GenerativeAdversarialNetworkBaseModel


This site uses Just the Docs, a documentation theme for Jekyll.