A generic interface for datasets and Machine Learning models
instancelib provides a generic architecture for datasets and machine learning algorithms such as classification algorithms.
© Michiel Bron, 2021
Quick tour
Load dataset: Load the dataset in an environment
import instancelib as il
text_env = il.read_excel_dataset("./datasets/testdataset.xlsx",
data_cols=["fulltext"],
label_cols=["label"])
ds = text_env.dataset # A `dict-like` interface for instances
labels = text_env.labels # An object that stores all labels
labelset = labels.labelset # All labels that can be given to instances
ins = ds[20] # Get instance with identifier key `20`
ins_data = ins.data # Get the raw data for instance 20
ins_vector = ins.vector # Get the vector representation for 20 if any
ins_labels = labels.get_labels(ins)
Dataset manipulation: Divide the dataset in a train and test set
train, test = text_env.train_test_split(ds, train_size=0.70)
print(20 in train) # May be true or false, because of random sampling
Train a model:
from sklearn.pipeline import Pipeline
from sklearn.naive_bayes import MultinomialNB
from sklearn.feature_extraction.text import TfidfTransformer, CountVectorizer
pipeline = Pipeline([
('vect', CountVectorizer()),
('tfidf', TfidfTransformer()),
('clf', MultinomialNB()),
])
model = il.SkLearnDataClassifier.build(pipeline, text_env)
model.fit_provider(train, labels)
predictions = model.predict(test)
Installation
See installation.md for an extended installation guide.
| Method | Instructions |
|---|---|
pip |
Install from PyPI via pip install instancelib. |
uv |
Add to your project via uv add instancelib. |
| Local | Clone this repository and install via pip install -e . or uv sync. |
Documentation
Full documentation of the latest version is provided at https://instancelib.readthedocs.org.
Example usage
See usage.py to see an example of how the package can be used.
Releases
instancelib is officially released through PyPI.
See CHANGELOG.md for a full overview of the changes for each version.
Citation
@misc{instancelib,
title = {Python package instancelib},
author = {Michiel Bron},
howpublished = {\url{https://github.com/mpbron/instancelib}},
year = {2021}
}
Library usage
This library is used in the following projects:
- python-allib. A typed Active Learning framework for Python for both Classification and Technology-Assisted Review systems.
- text_explainability. A generic explainability architecture for explaining text machine learning models
- text_sensitivity. Sensitivity testing (fairness & robustness) for text machine learning models.
Maintenance
Contributors
- Michiel Bron (
@mpbron)
Metadata
Release files for instancelib 0.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| instancelib-0.6.0.tar.gz | 3.2 MB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| instancelib-0.6.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 3.3 MB
Release files / instancelib-0.6.0.tar.gz
| Download URL | instancelib-0.6.0.tar.gz |
|---|---|
| Size | 3.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7022748a30c9eb5ed5f5b519dffb8c336bf485b5e683ad6d67a523b803638a16
|
|
BLAKE2b-256 checksum How to use checksums |
e3d91fdc86920058004fd2244453957b84b7b3f8d9530cd67f348603d0127934
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / instancelib-0.6.0-py3-none-any.whl
| Download URL | instancelib-0.6.0-py3-none-any.whl |
|---|---|
| Size | 106.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f6cc640d8959998c09f32e3438614075fca3d5a3b1def414a7e3b251c5706370
|
|
BLAKE2b-256 checksum How to use checksums |
155bfd37c922f79b534391570f769d700985814e91c29226f00034a6e50c9f7d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for instancelib 0.6.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.