API 参考#

演示数据集#

load_breast_cancer

加载乳腺癌数据集。二分类问题。

load_churn

加载客户流失数据集,可用于二分类问题。

load_diabetes

加载糖尿病数据集。用于回归问题。

load_fraud

加载信用卡欺诈数据集。

load_weather

加载澳大利亚日最低气温天气数据集。

load_wine

加载葡萄酒数据集。多分类问题。

预处理#

预处理工具函数#

在使用 evalml 之前预处理数据的工具函数。

load_data

从文件加载特征和目标。

number_of_features

获取 DataFrame 中每种特定 dtype 的特征数量。

split_data

将数据分割成训练集和测试集。

target_distribution

获取目标分布。

数据分割器#

NoSplit

不将训练数据分割成训练集和验证集。

KFold

sklearn 的 KFold 分割器的包装类。

StratifiedKFold

sklearn 的 Stratified KFold 分割器的包装类。

TrainingValidationSplit

将训练数据分割成训练集和验证集。

TimeSeriesSplit

时间序列问题的滚动原点交叉验证。

异常#

AutoMLSearchException

当 automl 批处理中的所有流水线在主要目标上返回 NaN 分数时引发的异常。

ComponentNotYetFittedError

在组件未先拟合的情况下调用 predict/predict_proba/transform 时应引发的异常。

DataCheckInitError

当数据检查无法使用给定参数初始化时引发的异常。

MethodPropertyNotFoundError

当类没有预期的方法或属性时引发的异常。

MissingComponentError

在 all_components() 中找不到组件时引发的异常。

NoPositiveLabelException

在列索引或唯一值中找不到 'positive' 类的特定分类标签时引发的异常。

ObjectiveCreationError

当 get_objective 尝试实例化目标函数但未提供所需参数时引发的异常。

ObjectiveNotFoundError

指定目标函数不存在时引发的异常。

PartialDependenceError

偏依赖性可能引发的所有错误都会引发此异常。

PipelineError

应用流水线时可能引发的错误引发的异常。

PipelineNotFoundError

在 automl 搜索结果中找不到特定流水线时引发的异常。

PipelineNotYetFittedError

在流水线未先拟合的情况下调用 predict/predict_proba/transform 时应引发的异常。

PipelineScoreError

当流水线在对目标函数列表中的任何目标进行评分时出错时引发的异常。

警告#

NullsInColumnWarning

当目标列中存在空值时抛出的警告。

ParameterNotUsedWarning

在初始化期间,流水线参数未在定义的流水线组件图中使用的警告。

错误代码#

PartialDependenceErrorCode

枚举,用于标识偏依赖性中遇到的错误类型。

PipelineErrorCodeEnum

枚举,用于标识应用流水线时遇到的错误类型。

ValidationErrorCode

枚举,用于标识留出验证中遇到的错误类型。

AutoML#

AutoML 搜索接口#

AutoMLSearch

自动化流水线搜索。

AutoML 工具函数#

get_default_primary_search_objective

获取问题类型的默认主要搜索目标。

get_threshold_tuning_info

对于给定的 automl 配置和流水线,确定阈值调优目标应是什么,以及是否应进一步分割训练数据以实现适当的阈值调优。

make_data_splitter

给定训练数据和机器学习问题参数,计算在 AutoML 搜索期间使用的数据分割方法。

resplit_training_data

进一步分割给定流水线的训练数据。二分类流水线需要这样做,以便正确调优阈值。

search

给定数据和配置,运行 automl 搜索。

search_iterative

给定数据和配置,运行 automl 搜索。

tune_binary_threshold

根据 X 和 y 阈值数据调优二分类流水线的阈值。

AutoML 算法类#

AutoMLAlgorithm

为 EvalML 提供动力的 AutoML 算法的基类。

DefaultAlgorithm

一种包含快、长两种模式的 automl 算法,其中快模式是长模式的子集。

IterativeAlgorithm

一种 automl 算法,它首先使用默认参数拟合基础轮次的流水线,然后按性能顺序对每个流水线进行参数调优。

AutoML 回调#

log_error_callback

将抛出的异常记录为错误。

raise_error_callback

引发 AutoMLSearch 对象抛出的异常。

silent_error_callback

无操作。

AutoML 引擎#

CFEngine

concurrent.futures (CF) 引擎。

DaskEngine

dask 引擎。

EngineBase

EvalML 引擎的基类。

SequentialEngine

AutoML 搜索的默认引擎。

流水线#

流水线基类#

BinaryClassificationPipeline

所有二分类流水线的流水线子类。

ClassificationPipeline

所有分类流水线的流水线子类。

MulticlassClassificationPipeline

所有多分类流水线的流水线子类。

PipelineBase

机器学习流水线。

RegressionPipeline

所有回归流水线的流水线子类。

TimeSeriesBinaryClassificationPipeline

时间序列二分类问题的流水线基类。

TimeSeriesClassificationPipeline

时间序列分类问题的流水线基类。

TimeSeriesMulticlassClassificationPipeline

时间序列多分类问题的流水线基类。

TimeSeriesRegressionPipeline

时间序列回归问题的流水线基类。

流水线工具函数#

get_actions_from_option_defaults

根据输入 DataCheckActionOption 列表中每个选项的默认参数返回操作列表。

generate_pipeline_code

创建并返回一个字符串,其中包含运行 EvalML 流水线所需的 Python 导入和代码。

generate_pipeline_example

创建并返回一个字符串,其中包含运行 EvalML 流水线所需的 Python 导入和代码。

make_pipeline

给定输入数据、目标数据、估计器类和问题类型,根据输入生成一个带有推荐的预处理链的流水线类。该流水线将是指定问题类型相应流水线基类的子类。

make_pipeline_from_actions

创建由组件组成的流水线,用于处理输入的 DataCheckAction 列表。

make_pipeline_from_data_check_output

创建由组件组成的流水线,用于处理运行数据检查输出的警告和错误。使用所有默认建议。

rows_of_interest

获取最接近阈值的数据的行索引。仅适用于二分类问题和流水线。

组件图#

ComponentGraph

作为有向无环图 (DAG) 的流水线组件图。

组件#

组件基类#

组件代表流水线中的一个步骤。

ComponentBase

所有组件的基类。

Transformer

可能需要或不需要拟合的组件,用于转换数据。这些组件在估计器之前使用。

Estimator

给定数据后进行拟合和预测的组件。

组件工具函数#

allowed_model_families

列出特定问题类型允许的模型类型。

estimator_unable_to_handle_nans

如果为 True,则提供的估计器类无法处理 NaN 值作为输入。

generate_component_code

创建并返回一个字符串,其中包含运行 EvalML 组件所需的 Python 导入和代码。

get_estimators

返回特定问题类型允许的估计器。

handle_component_class

如有必要,将字符串名称输入标准化为 ComponentBase 子类。

make_balancing_dictionary

为过采样器组件创建字典。找到每个类别与多数类别的比率。如果比率小于 sampling_ratio,则我们希望过采样,否则我们根本不希望采样,并保持数据不变。

转换器#

转换器是接受数据作为输入并输出转换后数据的组件。

DateTimeFeaturizer

可以自动从日期时间列提取特征的转换器。

DFSTransformer

Featuretools DFS 组件,为输入特征生成新特征。

DropColumns

删除输入数据中指定的列。

DropNaNRowsTransformer

删除包含 NaN 值的行的转换器。

DropNullColumns

删除 NaN 值百分比超过指定阈值的特征的转换器。

DropRowsTransformer

删除由行索引指定的行的转换器。

EmailFeaturizer

可以自动从电子邮件提取特征的转换器。

Imputer

根据指定的插补策略插补缺失数据。

LabelEncoder

一个转换器,使用 0 到 num_classes - 1 之间的值对目标标签进行编码。

LinearDiscriminantAnalysis

使用线性判别分析减少特征数量。

LogTransformer

对目标数据应用对数变换。

LSA

计算文本输入的潜在语义分析值的转换器。

NaturalLanguageFeaturizer

可以使用 featuretools 的 nlp_primitives 自动对文本列进行特征工程的转换器。

OneHotEncoder

一个转换器,将分类特征编码为独热数值数组。

OrdinalEncoder

一个转换器,将有序特征编码为表示类别相对顺序的有序整数数组。

Oversampler

SMOTE 过采样器组件。将根据组件输入自动选择是使用 SMOTE、SMOTEN 还是 SMOTENC。

PCA

使用主成分分析 (PCA) 减少特征数量。

PerColumnImputer

根据指定的每列插补策略插补缺失数据。

PolynomialDecomposer

通过拟合多项式和移动平均线,从时间序列中去除趋势和季节性。

ReplaceNullableTypes

将使用新的可空 dtype 的特征替换为 EvalML 中兼容的 dtype 的转换器。

RFClassifierRFESelector

使用随机森林分类器通过递归特征消除选择相关特征。

RFClassifierSelectFromModel

使用随机森林分类器根据重要性权重选择最重要的特征。

RFRegressorRFESelector

使用随机森林回归器通过递归特征消除选择相关特征。

RFRegressorSelectFromModel

使用随机森林回归器根据重要性权重选择最重要的特征。

SelectByType

在输入数据中按指定的 Woodwork 逻辑类型或语义标签选择列。

SelectColumns

选择输入数据中指定的列。

SimpleImputer

根据指定的插补策略插补缺失数据。忽略自然语言列。

StandardScaler

一个转换器,通过去除均值并缩放到单位方差来标准化输入特征。

STLDecomposer

使用 STL 算法从时间序列中去除趋势和季节性。

TargetEncoder

一个转换器,将分类特征编码为目标编码。

TargetImputer

根据指定的插补策略插补缺失目标数据。

TimeSeriesFeaturizer

为时间序列问题延迟输入特征和目标变量的转换器。

TimeSeriesImputer

根据指定的时间序列特定插补策略插补缺失数据。

TimeSeriesRegularizer

规范间隔不一致的日期时间列的转换器。

Undersampler

初始化欠采样转换器,对数据集中的多数类别进行降采样。

URLFeaturizer

可以自动从 URL 提取特征的转换器。

估计器#

分类器#

分类器是输出预测类别标签的组件。

BaselineClassifier

使用指定策略进行预测的分类器。

CatBoostClassifier

CatBoost 分类器,一种使用决策树梯度提升的分类器。CatBoost 是一个开源库,原生支持分类特征。

DecisionTreeClassifier

决策树分类器。

ElasticNetClassifier

Elastic Net 分类器。使用带有 elasticnet 惩罚项的逻辑回归作为基础估计器。

ExtraTreesClassifier

极度随机树分类器。

KNeighborsClassifier

K 近邻分类器。

LightGBMClassifier

LightGBM 分类器。

LogisticRegressionClassifier

逻辑回归分类器。

RandomForestClassifier

随机森林分类器。

StackedEnsembleClassifier

堆叠集成分类器。

SVMClassifier

支持向量机分类器。

XGBoostClassifier

XGBoost 分类器。

回归器#

回归器是输出预测目标值的组件。

ARIMARegressor

自回归积分滑动平均模型。三个参数 (p, d, q) 分别是 AR 阶数、差分阶数和 MA 阶数。更多信息请参见:https://statsmodels.cn/devel/generated/statsmodels.tsa.arima.model.ARIMA.html

BaselineRegressor

使用简单策略进行预测的基线回归器。这对于与其他回归器进行比较作为简单的基线回归器很有用。

CatBoostRegressor

CatBoost 回归器,一种使用决策树梯度提升的回归器。CatBoost 是一个开源库,原生支持分类特征。

DecisionTreeRegressor

决策树回归器。

ElasticNetRegressor

Elastic Net 回归器。

ExponentialSmoothingRegressor

Holt-Winters 指数平滑预测器。

ExtraTreesRegressor

极度随机树回归器。

LightGBMRegressor

LightGBM 回归器。

LinearRegressor

线性回归器。

ProphetRegressor

Prophet 是一种基于加性模型的时间序列数据预测方法,该模型使用年度、每周和每日季节性以及假日效应来拟合非线性趋势。它最适用于具有明显季节性效应和数个季节历史数据的时间序列。Prophet 对缺失数据和趋势变化具有鲁棒性,并且通常能很好地处理异常值。

RandomForestRegressor

随机森林回归器。

StackedEnsembleRegressor

堆叠集成回归器。

SVMRegressor

支持向量机回归器。

TimeSeriesBaselineEstimator

使用朴素预测方法进行预测的时间序列估计器。

XGBoostRegressor

XGBoost 回归器。

模型理解#

指标#

binary_objective_vs_threshold

计算已拟合二分类流水线在不同潜在二分类决策阈值下的目标分数。

calculate_permutation_importance

计算特征的排列重要性。

calculate_permutation_importance_one_column

计算原始 dataframe 中某一列的排列重要性。

confusion_matrix

二分类和多分类的混淆矩阵。

find_confusion_matrix_per_thresholds

获取每个阈值的混淆矩阵和直方图 bin,以及每个目标函数的最佳阈值。仅适用于二分类流水线。

get_linear_coefficients

返回一个 dataframe,显示线性模型中预测能力最强的特征。

get_prediction_vs_actual_data

将 y_true 和 y_pred 合并到单个 dataframe 中,并添加一列用于异常值。用于 graph_prediction_vs_actual()

get_prediction_vs_actual_over_time_data

获取 prediction_vs_actual_over_time 图所需的数据。

normalize_confusion_matrix

标准化混淆矩阵。

partial_dependence

计算一阶或二阶偏依赖性。

precision_recall_curve

给定标签和二分类器预测概率,计算并返回表示精确率-召回率曲线的数据。

roc_curve

给定标签和分类器预测概率,计算并返回表示接收者操作特征 (ROC) 曲线的数据。适用于二分类或多分类问题。

t_sne

使用 t-SNE 将 X 拟合到嵌入空间后,获取转换后的输出。

get_influential_features

从特征重要性 dataframe 中找到最有影响力的特征以及任何有害特征。

readable_explanation

输出训练后的流水线行为的人类可读解释。

可视化方法#

graph_binary_objective_vs_threshold

生成已拟合二分类流水线的目标分数与决策阈值关系的图表。

graph_confusion_matrix

生成并显示混淆矩阵图。

graph_partial_dependence

创建一阶或二阶偏依赖性图。

graph_permutation_importance

生成流水线排列重要性的条形图。

graph_precision_recall_curve

生成并显示精确率-召回率图。

graph_prediction_vs_actual

生成比较真实值和预测值的散点图。用于回归绘图。

graph_prediction_vs_actual_over_time

在 x 轴上绘制目标值和预测值随时间变化的图表。

graph_roc_curve

为二分类和多分类问题生成并显示接收者操作特征 (ROC) 图。

graph_t_sne

使用 t-SNE 将高维数据绘制到低维空间中。

预测解释#

explain_predictions

创建一个报告,总结输入特征中每个数据点的最重要贡献特征。

explain_predictions_best_worst

创建一个报告,总结数据集中最佳点和最差点(按与真实标签的误差衡量)的最重要贡献特征。

目标#

目标基类#

ObjectiveBase

所有目标的基类。

BinaryClassificationObjective

所有二分类目标的基类。

MulticlassClassificationObjective

所有多分类目标的基类。

RegressionObjective

所有回归目标的基类。

领域特定目标#

CostBenefitMatrix

使用成本-收益矩阵评分。分数量化给定值的收益,因此更高的数值分数代表更好的分数。成本和分数可以是负数,表示该值不利。例如,在货币利润的情况下,负成本和/或负分数代表现金流失。

FraudCost

计算由于欺诈造成的总交易金额中的损失百分比。

LeadScoring

潜在客户评分。

SensitivityLowAlert

低警报率下的敏感性。

分类目标#

AccuracyBinary

二分类的准确率分数。

AccuracyMulticlass

多分类的准确率分数。

AUC

二分类的 AUC 分数。

AUCMacro

使用宏平均的多分类的 AUC 分数。

AUCMicro

使用微平均的多分类的 AUC 分数。

AUCWeighted

使用加权平均的多分类的 AUC 分数。

Gini

二分类的基尼系数。

BalancedAccuracyBinary

二分类的平衡准确率分数。

BalancedAccuracyMulticlass

多分类的平衡准确率分数。

F1

二分类的 F1 分数。

F1Micro

使用微平均的多分类的 F1 分数。

F1Macro

使用宏平均的多分类的 F1 分数。

F1Weighted

使用加权平均的多分类的 F1 分数。

LogLossBinary

二分类的对数损失。

LogLossMulticlass

多分类的对数损失。

MCCBinary

二分类的马修斯相关系数。

MCCMulticlass

多分类的马修斯相关系数。

Precision

二分类的精确率分数。

PrecisionMicro

使用微平均的多分类的精确率分数。

PrecisionMacro

使用宏平均的多分类的精确率分数。

PrecisionWeighted

使用加权平均的多分类的精确率分数。

Recall

二分类的召回率分数。

RecallMicro

使用微平均的多分类的召回率分数。

RecallMacro

使用宏平均的多分类的召回率分数。

RecallWeighted

使用加权平均的多分类的召回率分数。

回归目标#

ExpVariance

回归的解释方差分数。

MAE

回归的平均绝对误差。

MASE

时间序列回归的平均绝对缩放误差。

MAPE

时间序列回归的平均绝对百分比误差。缩放 100 以返回百分比。

SMAPE

时间序列回归的对称平均绝对百分比误差。缩放 100 以返回百分比。

MSE

回归的均方误差。

MeanSquaredLogError

回归的均方对数误差。

MedianAE

回归的中位数绝对误差。

MaxError

回归的最大残差。

R2

回归的决定系数。

RootMeanSquaredError

回归的均方根误差。

RootMeanSquaredLogError

回归的均方根对数误差。

目标函数工具函数#

get_all_objective_names

获取所有目标名称的列表。

get_core_objectives

返回与给定问题类型相关的所有核心目标实例。

get_core_objective_names

获取所有有效核心目标的列表。

get_default_recommendation_objectives

获取给定问题类型的默认推荐评分指标。

get_non_core_objectives

获取非核心目标类。

get_objective

返回与给定目标名称对应的 Objective 类。

get_optimization_objectives

获取用于优化的目标。

get_ranking_objectives

获取用于流水线排名的目标。

normalize_objectives

给定每个目标的最大值和最小值,将目标从 [0, inf) 范围转换为 [0, 1] 范围。

organize_objectives

生成要考虑的目标,可选择修改默认值。

ranking_only_objectives

获取仅用于排名的目标类。

recommendation_score

根据一组目标的得分,计算模型的推荐分数。

问题类型#

detect_problem_type

根据目标(二分类、多分类或回归)确定正在解决的问题类型。忽略缺失和空数据。

handle_problem_types

处理 problem_type,或者返回 ProblemTypes,或者从字符串转换。

is_binary

判断提供的 problem_type 是否为二分类问题类型。

is_classification

判断提供的 problem_type 是否为分类问题类型。

is_multiclass

判断提供的 problem_type 是否为多分类问题类型。

is_regression

判断提供的 problem_type 是否为回归问题类型。

is_time_series

判断提供的 problem_type 是否为时间序列问题类型。

ProblemTypes

定义支持的机器学习问题类型的枚举。

模型族#

handle_model_family

处理 model_family,或者返回 ModelFamily,或者从字符串转换。

ModelFamily

机器学习模型族的枚举。

调优器#

Tuner

调优器基类。

SKOptTuner

贝叶斯优化器。

GridSearchTuner

网格搜索优化器,使用网格生成所有可能的搜索点。

RandomSearchTuner

随机搜索优化器。

数据检查#

数据检查类#

ClassImbalanceDataCheck

检查任何目标标签是否不平衡,或者每个目标的数值数量是否小于 CV 折数的 2 倍。用于分类问题。

DateTimeFormatDataCheck

检查日期时间列是否具有等间隔且单调递增或递减,以便时间序列估计器支持。

IDColumnsDataCheck

检查任何特征是否可能是 ID 列。

InvalidTargetDataCheck

检查目标数据是否被认为是无效的。

MulticollinearityDataCheck

检查任何特征集是否可能是多重共线。

NoVarianceDataCheck

检查目标或任何特征是否没有方差。

NullDataCheck

检查输入中是否存在高度空值的数值、布尔、分类、自然语言和未知列以及行。

OutliersDataCheck

使用 IQR 检测输入数据中是否存在异常值,以确定异常分数。

SparsityDataCheck

检查输入中是否存在值稀疏填充的列。

TargetDistributionDataCheck

检查目标数据是否包含某些可能需要在训练前进行转换以提高模型性能的分布。数据集样本数小于等于 5000 时使用 Shapiro-Wilks 检验,否则使用 Jarque-Bera。

TargetLeakageDataCheck

使用互信息、Pearson 相关系数和其他相关性指标检查任何特征是否与目标高度相关。

TimeSeriesParametersDataCheck

检查时间序列参数是否与数据分割兼容。

TimeSeriesSplittingDataCheck

检查时间序列目标数据是否与分割兼容。

UniquenessDataCheck

检查输入中是否有对于分类问题来说过于唯一或对于回归问题来说不够唯一的列。

DataCheck

所有数据检查的基类。

DataChecks

数据检查的集合。

DefaultDataChecks

AutoML 默认使用的一组基本数据检查。

数据检查消息#

DataCheckMessage

DataCheck 返回的消息的基类,按名称标记。

DataCheckError

DataCheckMessage 的子类,用于数据检查返回的错误。

DataCheckWarning

DataCheckMessage 的子类,用于数据检查返回的警告。

数据检查消息类型#

DataCheckMessageType

数据检查消息类型的枚举:WARNING 或 ERROR。

数据检查消息代码#

DataCheckMessageCode

数据检查消息代码的枚举。

数据检查操作#

DataCheckAction

DataCheck 返回的推荐操作。

DataCheckActionCode

数据检查操作代码的枚举。

DataCheckActionOption

DataCheck 返回的推荐操作选项。

工具函数#

通用工具函数#

convert_to_seconds

将描述时间长度的字符串转换为其以秒为单位的长度。

downcast_nullable_types

将 IntegerNullable、BooleanNullable 类型向下转换为 Double、Boolean,以支持 ARIMA、CatBoost 和 LightGBM 等某些估计器。

drop_rows_with_nans

删除所有 dataframe 或 series 中包含任何 NaN 的行。

get_importable_subclasses

获取基类的可导入子类。用于动态列出我们所有的估计器、转换器、组件和流水线。

get_logger

获取具有关联名称的日志记录器。

get_time_index

确定给定数据中应作为时间索引的列。

import_or_raise

尝试按名称导入请求的库。如果导入失败,则引发 ImportError 或警告。

infer_feature_types

从给定的 list、pandas 或 numpy 输入创建 Woodwork 结构,并为列指定类型。如果未指定列的类型,将由 Woodwork 推断。

is_all_numeric

检查给定的 DataFrame 是否只包含数值。

get_random_state

使用种子生成 numpy.random.RandomState 实例。

get_random_seed

给定一个 numpy.random.RandomState 对象,生成一个表示另一个随机数生成器种子值的整数。或者,如果给定一个整数,则返回该整数。

pad_with_nans

在开头的 num_to_pad 行填充 nans。

safe_repr

将给定值转换为可安全用于 repr 的字符串。

save_plot

如果指定,则将 fig 保存到 filepath;否则保存到默认位置。