Assortment of TensorFlow and Numpy models. Loosely follows Scikit-Learn API. For personal learning, not production. Will refactor as I go. Starting with more traditional machine learning models.
TensorFlow implementation of the original paper by Steffen Rendel.
from factorization_machines_tf import FactorizationMachines
from utils import generate_rendle_style_dataset
## Obtain data
x_data, y_data = generate_rendle_style_dataset()
## Fit and predict
fm = FactorizationMachines(l_factors=10)
fm.fit(x_data, y_data)
fm.predict(x_data)
A multi-class, Numpy implementation with l2-norm regularization:
from logistic_regression_np import LogisticRegression
from utils import generate_classification_style_dataset
## Obtain data
X, Y = generate_classification_style_dataset()
## Fit and predict
lr = LogisticRegression()
lr.fit(X, Y)
lr.predict(X)
A binary class, Tensorflow implementation with l2-norm regularization:
from support_vector_machines_tf import SupportVectorMachines
from utils import generate_classification_style_dataset
## Obtain data
X, Y = generate_classification_style_dataset('binary')
## Fit and predict
lr = SupportVectorMachines()
lr.fit(X, Y)
lr.predict(X)
Models no particular order:
- Word2Vec/Item2Vec
- Word Mover's Distance
- Sequence2Sequence models
- Singular Value Decomposition & Latent Semantic Indexing
- Bayesian Linear Regression
- K-means
- T-SNE
- Conditional Random Fields
- StarSpace
- Metric Learning models
- Decision Tree
- Random Forests
Extras:
- Standard datasets: classification, regression, ranking etc.
- Visualisations of the learned decision functions