cluster_measure module¶
Here is the baseclass to measure the quality of machine learning algorithms.
The concept of clustering quality measure is implemented with the
MLClusteringMeasure
class and proposes different evaluation methods.
- class gemseo.mlearning.qual_measure.cluster_measure.MLClusteringMeasure(algo, fit_transformers=False)[source]¶
Bases:
gemseo.mlearning.qual_measure.quality_measure.MLQualityMeasure
An abstract clustering measure for clustering algorithms.
- Parameters
algo (gemseo.mlearning.cluster.cluster.MLClusteringAlgo) – A machine learning algorithm for clustering.
fit_transformers (bool) –
Whether to re-fit the transformers when using resampling techniques. If
False
, use the transformers of the algorithm fitted from the whole learning dataset.By default it is set to False.
- Return type
None
- evaluate(method='learn', samples=None, **options)¶
Evaluate the quality measure.
- Parameters
method (str) –
The name of the method to evaluate the quality measure.
By default it is set to learn.
samples (Sequence[int] | None) –
The indices of the learning samples. If
None
, use the whole learning dataset.By default it is set to None.
**options (OptionType | None) – The options of the estimation method (e.g.
test_data
for the test method,n_replicates
for the bootstrap one, …).
- Returns
The value of the quality measure.
- Raises
ValueError – When the name of the method is unknown.
- Return type
float | ndarray
- evaluate_bootstrap(n_replicates=100, samples=None, multioutput=True, seed=None)¶
Evaluate the quality measure using the bootstrap technique.
- Parameters
n_replicates (int) –
The number of bootstrap replicates.
By default it is set to 100.
samples (Sequence[int] | None) –
The indices of the learning samples. If
None
, use the whole learning dataset.By default it is set to None.
multioutput (bool) –
If
True
, return the quality measure for each output component. Otherwise, average these measures.By default it is set to True.
seed (int | None) –
The seed of the pseudo-random number generator. If
None
, then an unpredictable generator will be used.By default it is set to None.
- Returns
The value of the quality measure.
- Return type
NoReturn
- evaluate_kfolds(n_folds=5, samples=None, multioutput=True, randomize=False, seed=None)¶
Evaluate the quality measure using the k-folds technique.
- Parameters
n_folds (int) –
The number of folds.
By default it is set to 5.
samples (Sequence[int] | None) –
The indices of the learning samples. If
None
, use the whole learning dataset.By default it is set to None.
multioutput (bool) –
If
True
, return the quality measure for each output component. Otherwise, average these measures.By default it is set to True.
randomize (bool) –
Whether to shuffle the samples before dividing them in folds.
By default it is set to False.
seed (int | None) –
The seed of the pseudo-random number generator. If
None
, then an unpredictable generator will be used.By default it is set to None.
- Returns
The value of the quality measure.
- Return type
NoReturn
- evaluate_learn(samples=None, multioutput=True)[source]¶
Evaluate the quality measure from the learning dataset.
- Parameters
- Returns
The value of the quality measure.
- Return type
float | ndarray
- evaluate_loo(samples=None, multioutput=True)¶
Evaluate the quality measure using the leave-one-out technique.
- Parameters
- Returns
The value of the quality measure.
- Return type
float | ndarray
- evaluate_test(test_data, samples=None, multioutput=True)¶
Evaluate the quality measure using a test dataset.
- Parameters
test_data (Dataset) – The test dataset.
samples (Sequence[int] | None) –
The indices of the learning samples. If
None
, use the whole learning dataset.By default it is set to None.
multioutput (bool) –
If
True
, return the quality measure for each output component. Otherwise, average these measures.By default it is set to True.
- Returns
The value of the quality measure.
- Return type
NoReturn
- classmethod is_better(val1, val2)¶
Compare the quality between two values.
This methods returns
True
if the first one is better than the second one.For most measures, a smaller value is “better” than a larger one (MSE etc.). But for some, like an R2-measure, higher values are better than smaller ones. This comparison method correctly handles this, regardless of the type of measure.
- BOOTSTRAP: ClassVar[str] = 'bootstrap'¶
The name of the method to evaluate the measure by bootstrap.
- KFOLDS: ClassVar[str] = 'kfolds'¶
The name of the method to evaluate the measure by cross-validation.
- class gemseo.mlearning.qual_measure.cluster_measure.MLPredictiveClusteringMeasure(algo, fit_transformers=False)[source]¶
Bases:
gemseo.mlearning.qual_measure.cluster_measure.MLClusteringMeasure
An abstract clustering measure for predictive clustering algorithms.
- Parameters
algo (gemseo.mlearning.cluster.cluster.MLPredictiveClusteringAlgo) – A machine learning algorithm for predictive clustering.
fit_transformers (bool) –
Whether to re-fit the transformers when using resampling techniques. If
False
, use the transformers of the algorithm fitted from the whole learning dataset.By default it is set to False.
- Return type
None
- evaluate(method='learn', samples=None, **options)¶
Evaluate the quality measure.
- Parameters
method (str) –
The name of the method to evaluate the quality measure.
By default it is set to learn.
samples (Sequence[int] | None) –
The indices of the learning samples. If
None
, use the whole learning dataset.By default it is set to None.
**options (OptionType | None) – The options of the estimation method (e.g.
test_data
for the test method,n_replicates
for the bootstrap one, …).
- Returns
The value of the quality measure.
- Raises
ValueError – When the name of the method is unknown.
- Return type
float | ndarray
- evaluate_bootstrap(n_replicates=100, samples=None, multioutput=True, seed=None)[source]¶
Evaluate the quality measure using the bootstrap technique.
- Parameters
n_replicates (int) –
The number of bootstrap replicates.
By default it is set to 100.
samples (Sequence[int] | None) –
The indices of the learning samples. If
None
, use the whole learning dataset.By default it is set to None.
multioutput (bool) –
If
True
, return the quality measure for each output component. Otherwise, average these measures.By default it is set to True.
seed (int | None) –
The seed of the pseudo-random number generator. If
None
, then an unpredictable generator will be used.By default it is set to None.
- Returns
The value of the quality measure.
- Return type
float | ndarray
- evaluate_kfolds(n_folds=5, samples=None, multioutput=True, randomize=False, seed=None)[source]¶
Evaluate the quality measure using the k-folds technique.
- Parameters
n_folds (int) –
The number of folds.
By default it is set to 5.
samples (Sequence[int] | None) –
The indices of the learning samples. If
None
, use the whole learning dataset.By default it is set to None.
multioutput (bool) –
If
True
, return the quality measure for each output component. Otherwise, average these measures.By default it is set to True.
randomize (bool) –
Whether to shuffle the samples before dividing them in folds.
By default it is set to False.
seed (int | None) –
The seed of the pseudo-random number generator. If
None
, then an unpredictable generator will be used.By default it is set to None.
- Returns
The value of the quality measure.
- Return type
float | ndarray
- evaluate_learn(samples=None, multioutput=True)¶
Evaluate the quality measure from the learning dataset.
- Parameters
- Returns
The value of the quality measure.
- Return type
float | ndarray
- evaluate_loo(samples=None, multioutput=True)¶
Evaluate the quality measure using the leave-one-out technique.
- Parameters
- Returns
The value of the quality measure.
- Return type
float | ndarray
- evaluate_test(test_data, samples=None, multioutput=True)[source]¶
Evaluate the quality measure using a test dataset.
- Parameters
test_data (Dataset) – The test dataset.
samples (Sequence[int] | None) –
The indices of the learning samples. If
None
, use the whole learning dataset.By default it is set to None.
multioutput (bool) –
If
True
, return the quality measure for each output component. Otherwise, average these measures.By default it is set to True.
- Returns
The value of the quality measure.
- Return type
float | ndarray
- classmethod is_better(val1, val2)¶
Compare the quality between two values.
This methods returns
True
if the first one is better than the second one.For most measures, a smaller value is “better” than a larger one (MSE etc.). But for some, like an R2-measure, higher values are better than smaller ones. This comparison method correctly handles this, regardless of the type of measure.
- BOOTSTRAP: ClassVar[str] = 'bootstrap'¶
The name of the method to evaluate the measure by bootstrap.
- KFOLDS: ClassVar[str] = 'kfolds'¶
The name of the method to evaluate the measure by cross-validation.