Learning from Label Proportions (LLP) methods in Python
Project description
llp-learn
LLP-learn is a library that provides implementation of methods for Learning from Label Proportions.
Table of Contents
Installation
pip install llp-learn
Usage
import numpy as np
from sklearn.datasets import make_classification
from sklearn.metrics import classification_report
from llp_learn.dllp import DLLP
from llp_learn.model_selection import gridSearchCV
random = np.random.RandomState(42)
# Creating a syntetic dataset using sklearn
X, y = make_classification(n_features=2, n_redundant=0, n_informative=2, n_clusters_per_class=1, n_samples=1000, random_state=42)
# Generating 5 bags randomly
bags = random.randint(0, 5, size=X.shape[0])
# Creating the proportions
proportions = np.zeros(5)
for i in range(5):
bag_i = np.where(bags == i)[0]
proportions[i] = y[bag_i].sum() / len(bag_i)
# LLP model (DLLP)
llp_model = DLLP(model_type="simple-mlp", lr=0.0001, n_epochs=1000, hidden_layer_sizes=(100, 100), n_jobs=0)
# Grid Search the lr parameter
gs = gridSearchCV(llp_model, param_grid={"lr": [0.1, 0.01, 0.001, 0.0001]}, cv=5, validation_size=0.5, n_jobs=1, random_state=42)
# Train/test split
train_idx = random.choice(np.arange(X.shape[0]), size=int(X.shape[0] * 0.8), replace=False)
test_idx = np.setdiff1d(np.arange(X.shape[0]), train_idx)
# Fitting the model
gs.fit(X[train_idx], bags[train_idx], proportions)
# Predicting the labels of the test set
y_pred_test = gs.predict(X[test_idx])
# Reporting the performance of the model in the test set
print(classification_report(y[test_idx], y_pred_test))
License
llp-learn
is distributed under the terms of the MIT license.
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
llp_learn-1.5.0.tar.gz
(26.2 kB
view details)
Built Distribution
llp_learn-1.5.0-py3-none-any.whl
(39.0 kB
view details)
File details
Details for the file llp_learn-1.5.0.tar.gz
.
File metadata
- Download URL: llp_learn-1.5.0.tar.gz
- Upload date:
- Size: 26.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.27.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c97ccea978743502ea2d325a846cd638dd2656c0c6ac2f3149804c5ed95abbd2 |
|
MD5 | b2b6c34516106d01047018cbdcab3fa1 |
|
BLAKE2b-256 | a77de5422fc80cf822b33af3ba51bf27986ed68cc009ded6b11f45814a91d88f |
File details
Details for the file llp_learn-1.5.0-py3-none-any.whl
.
File metadata
- Download URL: llp_learn-1.5.0-py3-none-any.whl
- Upload date:
- Size: 39.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.27.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f1120e5cb103159da662384451fd4ca6a606f0c089062fa25234b2512f613db4 |
|
MD5 | 8d942d00dab67a7ec2b933086aee471a |
|
BLAKE2b-256 | af9460b997667b1622d29873980f6dffaddd109be3d3468292a2dd8b6bc2bd41 |