可视化#
用于模型理解的可视化函数。
模块内容#
函数#
计算拟合的二元分类流水线在不同二元分类决策阈值下的目标分数。 |
|
以重构格式返回拟合树的数据。 |
|
以重构格式返回拟合流水线的数据。 |
|
返回一个 DataFrame,显示线性模型中具有最大预测能力的特征。 |
|
将 y_true 和 y_pred 合并到一个 DataFrame 中,并添加一列用于标识异常值。在 graph_prediction_vs_actual() 中使用。 |
|
获取 prediction_vs_actual_over_time 绘图所需的数据。 |
|
生成一个图表,展示拟合的二元分类流水线的目标分数与决策阈值之间的关系。 |
|
生成一个散点图,比较真实值和预测值。用于回归分析绘图。 |
|
在 x 轴上绘制目标值和预测值随时间的变化。 |
|
使用 t-SNE 将高维数据绘制到低维空间中。 |
|
使用 t-SNE 将 X 拟合到嵌入空间后,获取变换后的输出。 |
|
生成一个可视化决策树的图像。 |
目录#
- evalml.model_understanding.visualizations.binary_objective_vs_threshold(pipeline, X, y, objective, steps=100)[source]#
计算拟合的二元分类流水线在不同二元分类决策阈值下的目标分数。
- 参数
pipeline (BinaryClassificationPipeline 对象) – 拟合的二元分类流水线。
X (pd.DataFrame) – 用于计算目标分数的输入数据。
y (pd.Series) – 目标标签。
objective (ObjectiveBase 对象, str) – 用于评分的目标。
steps (int) – 划分并计算目标分数的区间数量。
- 返回
包含阈值和在每个阈值下计算出的对应目标分数的 DataFrame。
- 返回类型
pd.DataFrame
- 引发
ValueError – 如果目标不是二元分类目标。
ValueError – 如果目标的 score_needs_proba 不是 False。
- evalml.model_understanding.visualizations.decision_tree_data_from_estimator(estimator)[source]#
以重构格式返回拟合树的数据。
- 参数
estimator (ComponentBase) – 拟合的基于决策树的估计器。
- 返回
描述树结构的 OrderedDict 嵌套。
- 返回类型
OrderedDict
- 引发
ValueError – 如果估计器不是基于决策树的估计器。
NotFittedError – 如果估计器尚未拟合。
- evalml.model_understanding.visualizations.decision_tree_data_from_pipeline(pipeline_)[source]#
以重构格式返回拟合流水线的数据。
- 参数
pipeline (PipelineBase) – 包含基于决策树的估计器的流水线。
- 返回
描述树结构的 OrderedDict 嵌套。
- 返回类型
OrderedDict
- 引发
ValueError – 如果估计器不是基于决策树的估计器。
NotFittedError – 如果估计器尚未拟合。
- evalml.model_understanding.visualizations.get_linear_coefficients(estimator, features=None)[source]#
返回一个 DataFrame,显示线性模型中具有最大预测能力的特征。
- 参数
estimator (Estimator) – 拟合的线性模型家族估计器。
features (list[str]) – 与底层数据相关的特征名称列表。
- 返回
按重要性显示特征。
- 返回类型
pd.DataFrame
- 引发
ValueError – 如果模型不是线性模型。
NotFittedError – 如果模型尚未拟合。
- evalml.model_understanding.visualizations.get_prediction_vs_actual_data(y_true, y_pred, outlier_threshold=None)[source]#
将 y_true 和 y_pred 合并到一个 DataFrame 中,并添加一列用于标识异常值。在 graph_prediction_vs_actual() 中使用。
- 参数
y_true (pd.Series 或 np.ndarray) – 数据的真实目标值
y_pred (pd.Series 或 np.ndarray) – 回归模型输出的预测值。
outlier_threshold (int, float) – 用于判断异常值的正阈值。此值与 y_true 和 y_pred 每对值之间的绝对差进行比较。在此阈值范围内的值将显示为蓝色,否则显示为黄色。默认为 None。
- 返回
prediction: 回归模型的预测值。
actual: 真实目标值。
outlier: 指示哪些值在异常值阈值范围内的颜色。
- 返回类型
包含以下列的 pd.DataFrame
- 引发
ValueError – 如果阈值不是正数。
- evalml.model_understanding.visualizations.get_prediction_vs_actual_over_time_data(pipeline, X, y, X_train, y_train, dates)[source]#
获取 prediction_vs_actual_over_time 绘图所需的数据。
- 参数
pipeline (TimeSeriesRegressionPipeline) – 拟合的时间序列回归流水线。
X (pd.DataFrame) – 用于生成新预测的特征。
y (pd.Series) – 用于与预测进行比较的目标值。
X_train (pd.DataFrame) – 用于训练流水线的数据。
y_train (pd.Series) – 训练数据的目标值。
dates (pd.Series) – 对应于目标值和预测值的日期。
- 返回
预测值随时间的变化。
- 返回类型
pd.DataFrame
- evalml.model_understanding.visualizations.graph_binary_objective_vs_threshold(pipeline, X, y, objective, steps=100)[source]#
生成一个图表,展示拟合的二元分类流水线的目标分数与决策阈值之间的关系。
- 参数
pipeline (PipelineBase 或 子类) – 拟合的流水线
X (pd.DataFrame) – 用于评分和计算分数的输入数据
y (pd.Series) – 目标标签
objective (ObjectiveBase 对象, str) – 用于评分的目标,显示在图表的 y 轴上
steps (int) – 划分并计算目标分数的区间数量
- 返回
表示生成的目标分数 vs. 阈值图表的 plotly.Figure
- evalml.model_understanding.visualizations.graph_prediction_vs_actual(y_true, y_pred, outlier_threshold=None)[source]#
生成一个散点图,比较真实值和预测值。用于回归分析绘图。
- 参数
y_true (pd.Series) – 数据的真实目标值。
y_pred (pd.Series) – 回归模型输出的预测值。
outlier_threshold (int, float) – 用于判断异常值的正阈值。此值与 y_true 和 y_pred 每对值之间的绝对差进行比较。在此阈值范围内的值将显示为蓝色,否则显示为黄色。默认为 None。
- 返回
表示预测值 vs. 真实值图表的 plotly.Figure
- 引发
ValueError – 如果阈值不是正数。
- evalml.model_understanding.visualizations.graph_prediction_vs_actual_over_time(pipeline, X, y, X_train, y_train, dates, single_series=None)[source]#
在 x 轴上绘制目标值和预测值随时间的变化。
- 参数
pipeline (TimeSeriesRegressionPipeline) – 拟合的时间序列回归流水线。
X (pd.DataFrame) – 用于生成新预测的特征。如果问题是多序列的,X 应该进行堆叠。
y (pd.Series) – 用于与预测进行比较的目标值。如果问题是多序列的,y 应该进行堆叠。
X_train (pd.DataFrame) – 用于训练流水线的数据。
y_train (pd.Series) – 训练数据的目标值。
dates (pd.Series) – 对应于目标值和预测值的日期。
single_series (str) – 多序列数据集中用于只绘制单个序列的序列 id 值。默认为 None。
- 返回
显示预测值与真实值随时间的变化。
- 返回类型
plotly.Figure
- 引发
ValueError – 如果流水线不是时间序列回归流水线。
- evalml.model_understanding.visualizations.graph_t_sne(X, n_components=2, perplexity=30.0, learning_rate=200.0, metric='euclidean', marker_line_width=2, marker_size=7, **kwargs)[source]#
使用 t-SNE 将高维数据绘制到低维空间中。
- 参数
X (np.ndarray, pd.DataFrame) – 要进行变换的数据。必须是数值类型。
n_components (int) – 嵌入空间的维度。默认为 2。
perplexity (float) – 与其他流形学习算法中使用的最近邻数量相关。大型数据集通常需要更大的困惑度(perplexity)。建议选择 5 到 50 之间的值。默认为 30。
learning_rate (float) – 通常在 [10.0, 1000.0] 范围内。如果成本函数陷入糟糕的局部最小值,增加学习率可能有助于改善。必须是正数。默认为 200。
metric (str) – 计算特征数组中实例之间距离时使用的度量。默认是“euclidean”,解释为欧氏距离的平方。
marker_line_width (int) – 确定标记边界的线宽。默认为 2。
marker_size (int) – 确定标记的大小。默认为 7。
kwargs – 任意关键字参数。
- 返回
表示变换后数据的 Figure。
- 返回类型
plotly.Figure
- 引发
ValueError – 如果 marker_line_width 或 marker_size 不是有效值。
- evalml.model_understanding.visualizations.t_sne(X, n_components=2, perplexity=30.0, learning_rate=200.0, metric='euclidean', **kwargs)[source]#
使用 t-SNE 将 X 拟合到嵌入空间后,获取变换后的输出。
- 参数
X (np.ndarray, pd.DataFrame) – 要进行变换的数据。必须是数值类型。
n_components (int, 可选) – 嵌入空间的维度。
perplexity (float, 可选) – 与其他流形学习算法中使用的最近邻数量相关。大型数据集通常需要更大的困惑度(perplexity)。建议选择 5 到 50 之间的值。
learning_rate (float, 可选) – 通常在 [10.0, 1000.0] 范围内。如果成本函数陷入糟糕的局部最小值,增加学习率可能有助于改善。
metric (str, 可选) – 计算特征数组中实例之间距离时使用的度量。
kwargs – 任意关键字参数。
- 返回
TSNE 输出。
- 返回类型
np.ndarray (n_samples, n_components)
- 引发
ValueError – 如果指定的参数不是有效值。
- evalml.model_understanding.visualizations.visualize_decision_tree(estimator, max_depth=None, rotate=False, filled=False, filepath=None)[source]#
生成一个可视化决策树的图像。
- 参数
estimator (ComponentBase) – 拟合的基于决策树的估计器。
max_depth (int, 可选) – 树应显示的深度。如果设置为 None (默认为此值),则完全生成树。
rotate (bool, 可选) – 使树的方向从左到右,而不是自顶向下。
filled (bool, 可选) – 填充节点以指示分类中的多数类别、回归中的值极值或多输出中的节点纯度。
filepath (str, 可选) – 图表应保存到的路径。如果设置为 None (默认为此值),则图表将不会保存。
- 返回
可以直接在 Jupyter notebooks 中显示的 DOT 对象。
- 返回类型
graphviz.Source
- 引发
ValueError – 如果估计器不是基于决策树的估计器。
NotFittedError – 如果估计器尚未拟合。