Skip to content

Contains self-implemented Machine Learning algorithms using only numpy.

License

Notifications You must be signed in to change notification settings

chuvalniy/Tulia

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logo

Tulia: a comprehensive machine learning project entirely from scratch, utilizing the power of Python and numpy.

Features

Simplicity

By encapsulating both the training and predicting logic within just a couple of classes, complexity is greatly reduced compared to popular frameworks that heavily rely on abstraction. Moreover, the library provided here offers a streamlined approach by maintaining only essential parameters in the model class.

Familiar approach

This library uses sklearn API to build the codebase.

Example usage

from src.linear import LinearRegression

X_train, X_test, y_train, y_test = ...

lr = LinearRegression(n_steps=10_000, learning_rate=1e-4)
lr.fit(X_train, y_train)

y_pred = lr.predict(X_test)

mse = mean_squared_error(y_pred, y_test)  # Here mean_squared_error() is a pseudocode.

Installation

To use in code

pip install tulia

Download a whole library

git clone https://github.com/chuvalniy/Tulia.git
pip install -r requirements.txt

Testing

Every machine learning model is provided with unit test that verifies correctness of fit and predict methods.

Execute the following command in your project directory to run the tests.

pytest -v

Demonstration

This demo folder contains jupyter-notebooks that compare scikit-learn and Tulia performance.

License

MIT License