71 lines
1.9 KiB
Python
71 lines
1.9 KiB
Python
"""QuaPy module for quantification"""
|
|
from sklearn.linear_model import LogisticRegression
|
|
|
|
from quapy.data import datasets
|
|
from . import error
|
|
from . import data
|
|
from . import functional
|
|
from . import method
|
|
from . import evaluation
|
|
from . import protocol
|
|
from . import plot
|
|
from . import util
|
|
from . import model_selection
|
|
from . import classification
|
|
import os
|
|
|
|
__version__ = '0.1.9'
|
|
|
|
environ = {
|
|
'SAMPLE_SIZE': None,
|
|
'UNK_TOKEN': '[UNK]',
|
|
'UNK_INDEX': 0,
|
|
'PAD_TOKEN': '[PAD]',
|
|
'PAD_INDEX': 1,
|
|
'SVMPERF_HOME': './svm_perf_quantification',
|
|
'N_JOBS': int(os.getenv('N_JOBS', 1)),
|
|
'DEFAULT_CLS': LogisticRegression(max_iter=3000)
|
|
}
|
|
|
|
|
|
def _get_njobs(n_jobs):
|
|
"""
|
|
If `n_jobs` is None, then it returns `environ['N_JOBS']`;
|
|
if otherwise, returns `n_jobs`.
|
|
|
|
:param n_jobs: the number of `n_jobs` or None if not specified
|
|
:return: int
|
|
"""
|
|
return environ['N_JOBS'] if n_jobs is None else n_jobs
|
|
|
|
|
|
def _get_sample_size(sample_size):
|
|
"""
|
|
If `sample_size` is None, then it returns `environ['SAMPLE_SIZE']`;
|
|
if otherwise, returns `sample_size`.
|
|
If none of these are set, then a ValueError exception is raised.
|
|
|
|
:param sample_size: integer or None
|
|
:return: int
|
|
"""
|
|
sample_size = environ['SAMPLE_SIZE'] if sample_size is None else sample_size
|
|
if sample_size is None:
|
|
raise ValueError('neither sample_size nor qp.environ["SAMPLE_SIZE"] have been specified')
|
|
return sample_size
|
|
|
|
|
|
def _get_classifier(classifier):
|
|
"""
|
|
If `classifier` is None, then it returns `environ['DEFAULT_CLS']`;
|
|
if otherwise, returns `classifier`.
|
|
|
|
:param classifier: sklearn's estimator or None
|
|
:return: sklearn's estimator
|
|
"""
|
|
if classifier is None:
|
|
from sklearn.base import clone
|
|
classifier = clone(environ['DEFAULT_CLS'])
|
|
if classifier is None:
|
|
raise ValueError('neither classifier nor qp.environ["DEFAULT_CLS"] have been specified')
|
|
return classifier
|