GASearchCV

GASearchCV(estimator[, cv, param_grid, ...])

超参数的进化优化。

GASearchCV.decision_function(X)

在具有最佳找到参数的估计器上调用decision_function。

GASearchCV.fit(X, y[, callbacks])

GASearchCV的主要方法,使用给定估计器的超参数启动优化过程

GASearchCV.get_params([deep])

获取此估计器的参数。

GASearchCV.inverse_transform([X, Xt])

在具有最佳找到参数的估计器上调用inverse_transform。

GASearchCV.predict(X)

使用找到的最佳参数在估计器上调用预测。

GASearchCV.predict_proba(X)

使用找到的最佳参数在估计器上调用predict_proba。

GASearchCV.score(X[, y])

如果估计器已重新拟合,则返回给定数据的得分。

GASearchCV.score_samples(X)

在具有最佳找到参数的估计器上调用score_samples。

GASearchCV.set_params(**params)

设置此估计器的参数。

GASearchCV.transform(X)

使用找到的最佳参数在估计器上调用transform方法。

class sklearn_genetic.GASearchCV(estimator, cv=3, param_grid=None, scoring=None, population_size=50, generations=80, crossover_probability=0.2, mutation_probability=0.8, tournament_size=3, elitism=True, verbose=True, keep_top_k=1, criteria='max', algorithm='eaMuPlusLambda', refit=True, n_jobs=1, pre_dispatch='2*n_jobs', error_score=nan, return_train_score=False, log_config=None, use_cache=True, warm_start_configs=None)[源代码]

超参数的进化优化。

GASearchCV实现了"fit"和"score"方法。 如果所使用的estimator中实现了"predict"、"predict_proba"、"decision_function"、 "predict_log_proba"等方法,GASearchCV也会相应实现这些方法。 用于应用这些方法的estimator参数通过交叉验证搜索参数设置进行优化。

Parameters:
estimatorestimator object, default=None

实现'fit'方法的estimator对象 用于拟合数据的对象。

cvint, cross-validation generator or an iterable, default=None

确定交叉验证的分割策略。 cv参数可能的输入包括: - None,使用默认的5折交叉验证, - 整数,指定(Stratified)KFold的折数, - CV分割器, - 可迭代对象,生成(train, test)索引数组的分割。 对于int/None输入,如果估计器是分类器且y是二分类或多分类,则使用StratifiedKFold。在所有其他情况下,使用KFold。这些分割器的实例化使用shuffle=False,因此多次调用的分割结果将保持一致。

param_griddict, default=None

用于调优的参数网格,要求键名是基于所选估计器的有效超参数名称,值可以是IntegerCategoricalContinuous类的实例。建议至少提供两个参数才能成功进行优化流程。

population_sizeint, default=10

初始种群的规模,用于随机生成个体样本。

generationsint, default=40

运行进化算法的代数或迭代次数。

crossover_probabilityfloat or a Scheduler, default=0.8

两个个体之间进行交叉操作的概率。

mutation_probabilityfloat or a Scheduler, default=0.1

子代变异的概率。

tournament_sizeint, default=3

执行锦标赛选择的个体数量。

elitismbool, default=True

如果为True,则将tournament_size最佳解决方案传递给下一代。

scoringstr, callable, list, tuple or dict, default=None

用于评估交叉验证模型在测试集上表现的策略。 如果scoring代表单个评分,可以使用:

  • 单个字符串;

  • 一个返回单个值的可调用对象。

如果scoring代表多个分数,可以使用:

  • 一个由唯一字符串组成的列表或元组;

  • 一个可调用对象,返回一个字典,其中键是度量名称,值是度量分数;

  • 一个字典,其中键是度量名称,值是可调用对象。

n_jobsint, default=None

并行运行的作业数量。训练估计器和计算分数会在交叉验证分割上并行化处理。 None表示默认为1,除非处于joblib.parallel_backend上下文中。 -1表示使用所有处理器。

verbosebool, default=True

如果设为True,将在优化过程中显示评估指标。

keep_top_kint, default=1

保留在hof对象中的最佳解数量。如果回调在k次迭代之前停止算法,则每次迭代仅返回一组参数。

criteria{‘max’, ‘min’} , default=’max’

max 如果评分指标越高越好,min 则相反。

algorithm{‘eaMuPlusLambda’, ‘eaMuCommaLambda’, ‘eaSimple’}, default=’eaMuPlusLambda’

使用的进化算法。 更多细节请参阅deap算法文档。

refitbool, str, or callable, default=True

在整个数据集上使用找到的最佳参数重新拟合估计器。 对于多指标评估,这需要是一个str类型,表示将用于在最后重新拟合估计器时寻找最佳参数的评分器。 重新拟合的估计器可通过best_estimator_属性获取,并允许直接在此GASearchCV实例上使用predict。 同样对于多指标评估,只有当refit被设置时,属性best_index_best_score_best_params_才会可用,且所有这些都将针对此特定评分器确定。 有关多指标评估的更多信息,请参阅scoring参数。

如果False,在拟合后无法使用此GASearchCV实例进行预测。

pre_dispatchint or str, default=’2*n_jobs’

控制在并行执行期间分派的任务数量。当分派的任务数量超过CPU处理能力时,减少此数值有助于避免内存消耗激增。该参数可以是:

  • 无,这种情况下所有任务会立即创建并启动。适用于轻量级且快速执行的任务,以避免因按需启动任务造成的延迟

  • 一个整数,表示生成的总任务数

  • 一个字符串,给出以n_jobs为变量的表达式,例如'2*n_jobs'

error_score‘raise’ or numeric, default=np.nan

当估计器拟合过程中发生错误时,用于赋值的分数值。 如果设置为'raise',则会引发错误。 如果给定的是数值,则会引发FitFailedWarning警告。

return_train_score: bool, default=False

如果设为False,则cv_results_属性将不包含训练分数。 计算训练分数可用于了解不同参数设置如何影响过拟合/欠拟合的权衡。 然而在训练集上计算分数可能计算成本较高,且对于选择能产生最佳泛化性能的参数并非严格必要。

log_configMLflowConfig, default = None

配置将指标和模型记录到mlflow,如果为None,则不执行mlflow日志记录

use_cache: bool, default=True

如果设置为true,将避免重新评估已经处理过的解决方案,否则将始终评估解决方案以获取性能指标

Attributes:
logbookDEAP.tools.Logbook

记录每组超参数及其平均评分指标的拟合日志。

historydict

字典形式如下: {“gen”: [], “fitness”: [], “fitness_std”: [], “fitness_max”: [], “fitness_min”: []}

gen 返回评估世代的索引。 其他列表中的每个条目代表每一代的平均指标。

cv_results_dict of numpy (masked) ndarrays

一个字典,其键为列标题,值为列数据,可以导入到 pandas 的 DataFrame 中。

best_estimator_estimator

通过搜索选择的最佳估计器,即在留出数据上获得最高分的估计器。如果refit=False则不可用。

best_params_dict

在保留数据上获得最佳结果的参数设置。

best_index_int

该索引(对应cv_results_数组)指向最佳候选参数组合。 在search.cv_results_['params'][search.best_index_]处的字典给出了最佳模型的参数设置,该模型能获得最高平均分数(search.best_score_)。

scorer_function or a dict

用于在保留数据上选择模型最佳参数的评分函数。

n_splits_int

交叉验证的拆分次数(折数/迭代次数)。

refit_time_float

用于在整个数据集上重新拟合最佳模型的秒数。 仅当refit不为False时存在。

decision_function(X)

在具有最佳找到参数的估计器上调用decision_function。

仅当refit=True且底层估计器支持decision_function时可用。

Parameters:
Xindexable, length n_samples

必须满足底层估计器的输入假设。

Returns:
y_scorendarray of shape (n_samples,) or (n_samples, n_classes) or (n_samples, n_classes * (n_classes-1) / 2)

基于找到最佳参数的估计器,对X的决策函数结果。

fit(X, y, callbacks=None)[源代码]

GASearchCV的主要方法,使用给定估计器的超参数启动优化过程

Parameters:
Xarray-like of shape (n_samples, n_features)

要拟合的数据。可以是例如列表或数组。

yarray-like of shape (n_samples,) or (n_samples, n_outputs), default=None

在监督学习场景中需要尝试预测的目标变量。

callbacks: list or callable

一个或多个可用的回调方法列表,位于 callbacks中。 该回调会在第一代估算器拟合完成后进行评估。

get_metadata_routing()

获取此对象的元数据路由信息。

请查阅用户指南了解路由机制的工作原理。

在1.4版本中新增。

Returns:
routingMetadataRouter

一个封装了路由信息的MetadataRouter

get_params(deep=True)

获取此估计器的参数。

Parameters:
deepbool, default=True

如果为True,将返回此估计器及其包含的子估计器对象的参数。

Returns:
paramsdict

参数名称与其对应值的映射。

inverse_transform(X=None, Xt=None)

在具有最佳找到参数的估计器上调用inverse_transform。

仅当底层估计器实现了inverse_transformrefit=True时可用。

Parameters:
Xindexable, length n_samples

必须满足底层估计器的输入假设。

Xtindexable, length n_samples

必须满足底层估计器的输入假设。

自1.5版本起已弃用:Xt在1.5版本中已被弃用,并将在1.7版本中移除。请改用X

Returns:
X{ndarray, sparse matrix} of shape (n_samples, n_features)

基于找到最佳参数的估计器,对Xt应用inverse_transform函数的结果。

predict(X)

使用找到的最佳参数在估计器上调用预测。

仅当refit=True且底层估计器支持predict方法时可用。

Parameters:
Xindexable, length n_samples

必须满足底层估计器的输入假设。

Returns:
y_predndarray of shape (n_samples,)

基于找到最佳参数的估计器,对X预测的标签或值。

predict_log_proba(X)

在具有最佳找到参数的估计器上调用predict_log_proba。

仅当refit=True且底层估计器支持predict_log_proba时可用。

Parameters:
Xindexable, length n_samples

必须满足底层估计器的输入假设。

Returns:
y_predndarray of shape (n_samples,) or (n_samples, n_classes)

基于找到的最佳参数的估计器,预测X的类别对数概率。类别的顺序与拟合属性classes_中的顺序一致。

predict_proba(X)

使用找到的最佳参数在估计器上调用predict_proba。

仅在refit=True且底层估计器支持predict_proba时可用。

Parameters:
Xindexable, length n_samples

必须满足底层估计器的输入假设。

Returns:
y_predndarray of shape (n_samples,) or (n_samples, n_classes)

基于找到最佳参数的估计器,对X预测的类别概率。类别顺序与拟合属性classes_中的顺序一致。

score(X, y=None, **params)

如果估计器已重新拟合,则返回给定数据的得分。

当提供scoring时使用其定义的评分标准,否则使用best_estimator_.score方法。

Parameters:
Xarray-like of shape (n_samples, n_features)

输入数据,其中n_samples表示样本数量, n_features表示特征数量。

yarray-like of shape (n_samples, n_output) or (n_samples,), default=None

相对于X的分类或回归目标;无监督学习时为None。

**paramsdict

需要传递给底层评分器的参数。

..versionadded:: 1.4

仅当enable_metadata_routing=True时可用。更多详情请参阅元数据路由用户指南

Returns:
scorefloat

如果提供了scoring定义的分数,则使用该分数;否则使用best_estimator_.score方法。

score_samples(X)

在具有最佳找到参数的估计器上调用score_samples。

仅当refit=True且底层估计器支持score_samples时可用。

在0.24版本中新增。

Parameters:
Xiterable

用于预测的数据。必须满足底层估计器的输入要求。

Returns:
y_scorendarray of shape (n_samples,)

best_estimator_.score_samples 方法。

set_fit_request(*, callbacks: bool | None | str = '$UNCHANGED$') GASearchCV

传递给fit方法的请求元数据。

请注意,该方法仅在enable_metadata_routing=True时适用(参见sklearn.set_config())。 关于路由机制的工作原理,请参阅用户指南

每个参数的可选选项如下:

  • True: 请求元数据,如果提供了元数据则会传递给fit。如果未提供元数据,则该请求会被忽略。

  • False: 不请求元数据,元估计器不会将其传递给 fit

  • None: 不请求元数据,如果用户提供了元数据,元估计器将报错。

  • str: 元数据应该以这个给定的别名传递给元估计器,而不是原始名称。

默认值(sklearn.utils.metadata_routing.UNCHANGED)会保留现有请求。这允许您更改某些参数的请求而不影响其他参数。

在1.3版本中新增。

注意

该方法仅在当前评估器作为元评估器的子评估器使用时相关,例如在Pipeline内部使用时。否则该方法无效。

Parameters:
callbacksstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

fit方法中callbacks参数的元数据路由。

Returns:
selfobject

更新后的对象。

set_params(**params)

设置此估计器的参数。

该方法既适用于简单估计器,也适用于嵌套对象(如Pipeline)。后者采用<组件>__<参数>形式的参数,从而可以更新嵌套对象的每个组件。

Parameters:
**paramsdict

估计器参数。

Returns:
selfestimator instance

估计器实例。

transform(X)

使用找到的最佳参数在估计器上调用transform方法。

仅当底层估计器支持 transformrefit=True 时可用。

Parameters:
Xindexable, length n_samples

必须满足底层估计器的输入假设。

Returns:
Xt{ndarray, sparse matrix} of shape (n_samples, n_features)

X 根据找到最佳参数的估计器转换到新空间后的结果。