learning-utility
Assist small-scale machine learning.
learning-utility is a package of utilities for small-scale machine learning tasks with scikit-learn.
Installation
pip install Lutil
Key Features
Cache Intermediate Results
InlineCheckpoint can cache the computation result in the first call.
Since then, if nothing has changed, it retrieves the cache and skips
computation.
Suppose you have such a .py file.
from Lutil.checkpoints import InlineCheckpoint
a, b = 1, 2
with InlineCheckpoint(watch=["a", "b"], produce=["c"]):
print("Heavy computation.")
c = a + b
print(c)
Run the script, you will get:
Heavy computation.
3
Run this script again, the with-statement will be skipped. You will get:
3
Once a value among watch changes or the code inside the with-statement
changes, re-calculation takes place to ensure the correct output.
Save Prediction Result According to the Given Format
Lots of machine learning competitions require a .csv file in a given format. Most of them provide an example file.
In example.csv:
id, pred
1, 0.25
2, 0.45
3, 0.56
Run:
>>> import numpy as np
>>> from Lutil.dataIO import AutoSaver
>>> result = np.array([0.2, 0.4, 0.1, 0.5])
# Typical output of a scikit-learn predictor
>>> ac = AutoSaver(save_dir="somedir", example_path="path/to/example.csv")
>>> ac.save(result, "some_name.csv")
Then in your somedir/some_name.csv:
id, pred
1, 0.2
2, 0.4
3, 0.1
4, 0.5
It also works if the result is a pandas DataFrame, Series, 2-dim numpy array, etc.
Also, the encoding, seperator, header, index of the example.csv will all be recognized.
Metadata
Release files for Lutil 0.1.10
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| Lutil-0.1.10.tar.gz | 8.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| Lutil-0.1.10-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 31.8 kB
Release files / Lutil-0.1.10.tar.gz
| Download URL | Lutil-0.1.10.tar.gz |
|---|---|
| Size | 8.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
05ab8092f9b3478e82f622a49b998bff30f930dfa8aba1506ddedc9de83f0416
|
|
BLAKE2b-256 checksum How to use checksums |
e34862a482748a6fbf3984bf397dd41015ba315de6ee910c215490d25a98a351
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12
|
Release files / Lutil-0.1.10-py3-none-any.whl
| Download URL | Lutil-0.1.10-py3-none-any.whl |
|---|---|
| Size | 22.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
72102c0530a178dfc0a114e74431176f1237027a98fe9c684a87b1694df46eae
|
|
BLAKE2b-256 checksum How to use checksums |
761595a31ba3805de9aed41d401e4fd51125a4d36e3d7c425e7052481e655165
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12
|