Math algorithms in ML on torch
Project description
Nueramic MathML
Nueramic-mathml is a library for visualizing and logging the steps of optimization algorithms in machine learning. The project uses torch for calculations and plotly for visualization.
pip install nueramic-mathml
Quick tour
Optimization
You can minimize the functions and see a detailed description of each step. After minimizing, you have a history with complete logs. Also available multidimensional optimisation.
def f(x): return x ** 3 - x ** 2 - x # Minimum at x = 1
bounds = (0, 3)
one_optimize.golden_section_search(f, bounds, epsilon=0.01, verbose=True)[0]
Iteration: 0 | point = 1.500 | f(point) = -0.375
Iteration: 1 | point = 0.927 | f(point) = -0.990
Iteration: 2 | point = 1.281 | f(point) = -0.820
Iteration: 3 | point = 1.062 | f(point) = -0.992
Iteration: 4 | point = 0.927 | f(point) = -0.990
Iteration: 5 | point = 1.011 | f(point) = -1.000
Iteration: 6 | point = 0.959 | f(point) = -0.997
Iteration: 7 | point = 0.991 | f(point) = -1.000
Iteration: 8 | point = 1.011 | f(point) = -1.000
Iteration: 9 | point = 0.998 | f(point) = -1.000
Iteration: 10 | point = 1.006 | f(point) = -1.000
Searching finished. Successfully. code 0
1.0059846881033916
Models
You can use our models for classification and regression
from nueramic_mathml.ml import LogisticRegressionRBF
from sklearn.datasets import make_moons
x, y = make_moons(10_000, noise=.1, random_state=84)
x, y = torch.tensor(x), torch.tensor(y)
logistic_model_rbf = LogisticRegressionRBF(x[:1000]).fit(x, y, show_epoch=10)
Epoch: 1 | CrossEntropyLoss: 0.71496
Epoch: 12 | CrossEntropyLoss: 0.35328
Epoch: 23 | CrossEntropyLoss: 0.27769
Epoch: 34 | CrossEntropyLoss: 0.22395
Epoch: 45 | CrossEntropyLoss: 0.19266
Epoch: 56 | CrossEntropyLoss: 0.16695
Epoch: 67 | CrossEntropyLoss: 0.14686
Epoch: 78 | CrossEntropyLoss: 0.13051
Epoch: 89 | CrossEntropyLoss: 0.11724
Epoch: 100 | CrossEntropyLoss: 0.10629
logistic_model_rbf.metrics_tab(x, y)
{'auc_roc': 0.9974513817072977,
'f1': 0.9700730618209839,
'precision': 0.9709476828575134,
'recall': 0.9692000150680542}
Visualizations
You can create beautiful animations of optimization algorithms and regression/classification models.
gen_classification_plot(x, y, model, threshold=0.5, epsilon=0.001)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
nueramic_mathml-0.75.tar.gz
(40.4 kB
view hashes)
Built Distribution
Close
Hashes for nueramic_mathml-0.75-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1732b8a06eb2ce2de3b095b2ed42e8b0d3bb5badad2c783a650328b4be586d3d |
|
MD5 | e49ae5d6c300408b792ea3a00399d9f5 |
|
BLAKE2b-256 | 0e9171a84918ec05148ce6daad2b4b2821b8ce14a3c3d10939b247dbc5e24d6a |