mlxtend version: 0.23.1
category_scatter
category_scatter(x, y, label_col, data, markers='sxo^v', colors=('blue', 'green', 'red', 'purple', 'gray', 'cyan'), alpha=0.7, markersize=20.0, legend_loc='best')
散点图,以不同颜色/标记样式绘制类别.
Parameters
-
x
: str 或 intx轴值的DataFrame列名或 numpy ndarray列索引的整数.
-
y
: stry轴值的DataFrame列名或 numpy ndarray列索引的整数
-
data
: Pandas DataFrame对象或NumPy ndarray. -
markers
: str在标签类别中循环使用的标记.
-
colors
: tuple在标签类别中循环使用的颜色.
-
alpha
: float (默认: 0.7)控制透明度的参数.
-
markersize
: float (默认` : 20.0)控制标记大小的参数.
-
legend_loc
: str (默认: 'best')图例的位置 {best, upper left, upper right, lower left, lower right} 如果legend_loc=False,则不显示图例
Returns
fig
: matplotlig.pyplot图对象
Examples
有关使用示例,请参见 https://rasbt.github.io/mlxtend/user_guide/plotting/category_scatter/
checkerboard_plot
checkerboard_plot(ary, cell_colors=('white', 'black'), font_colors=('black', 'white'), fmt='%.1f', figsize=None, row_labels=None, col_labels=None, fontsize=None)
通过matplotlib绘制棋盘表格/热图.
Parameters
-
ary
: array-like, shape = [n, m]一个二维的Numpy数组.
-
cell_colors
: tuple or list (默认: ('white', 'black'))包含棋盘图案两种颜色的元组或列表.
-
font_colors
: tuple or list (默认: ('black', 'white'))与单元格颜色对应的字体颜色.
-
figsize
: tuple (默认: (2.5, 2.5))图表的高度和宽度
-
fmt
: str (默认: '%.1f')单元格值的Python字符串格式化器. 默认的'%.1f'表示小数点后保留1位小数的浮点数.使用'%d'以显示整数.
-
row_labels
: list (默认: None)行标签的列表.默认使用数组的行索引0到n.
-
col_labels
: list (默认: None)列标签的列表.默认使用数组的列索引0到m.
-
fontsize
: int (默认: None)指定棋盘表格的字体大小. 如果为None,则使用matplotlib的默认值.
Returns
fig
: matplotlib Figure对象.
Examples
有关使用示例,请参见 https://rasbt.github.io/mlxtend/user_guide/plotting/checkerboard_plot/
ecdf
ecdf(x, y_label='ECDF', x_label=None, ax=None, percentile=None, ecdf_color=None, ecdf_marker='o', percentile_color='black', percentile_linestyle='--')
绘制经验累积分布函数
Parameters
-
x
: 数组或列表, shape=[n_samples,]包含特征值的类数组对象
-
y_label
: str (默认='ECDF')y轴的文本标签
-
x_label
: str (默认=None)x轴的文本标签
-
ax
: matplotlib.axes.Axes (默认: None)现有的matplotlib Axes.如果ax=None则创建一个
-
percentile
: float (默认=None)介于0和1之间的浮点数,用于绘制百分位阈值线
-
ecdf_color
: matplotlib颜色 (默认=None)ECDF图的颜色;如果为None则使用matplotlib默认值
-
ecdf_marker
: matplotlib标记 (默认='o')ECDF图的标记样式
-
percentile_color
: matplotlib颜色 (默认='black')百分位阈值的颜色(如果percentile不为None)
-
percentile_linestyle
: matplotlib线型 (默认='--')百分位阈值的线型(如果percentile不为None)
Returns
-
ax
: matplotlib.axes.Axes对象 -
percentile_threshold
: float百分位处的特征阈值,如果
percentile=None
则为None -
percentile_count
: 如果percentile不为None的样本数量特征小于或等于百分位阈值处特征阈值的样本数量 如果
percentile=None
则为None
Examples
有关使用示例,请参见 https://rasbt.github.io/mlxtend/user_guide/plotting/ecdf/
enrichment_plot
enrichment_plot(df, colors='bgrkcy', markers=' ', linestyles='-', alpha=0.5, lw=2, where='post', grid=True, count_label='Count', xlim='auto', ylim='auto', invert_axes=False, legend_loc='best', ax=None)
绘制堆积条形图
Parameters
-
df
: pandas.DataFrame一个pandas DataFrame,其中列代表不同的类别. colors: str (默认: 'bgrcky') 条形的颜色.
-
markers
: str (默认: ' ')Matplotlib标记样式,例如, 'sov' 表示方形、圆形和三角形标记.
-
linestyles
: str (默认: '-')Matplotlib线条样式,例如, '-,--' 用于循环正常和虚线.注意 不同的线条样式需要用逗号分隔.
-
alpha
: float (默认: 0.5)透明度级别,范围从0.0到1.0.
-
lw
: int 或 float (默认: 2)线宽参数.
-
where
: {'post', 'pre', 'mid'} (默认: 'post')步长的起始位置.
-
grid
: bool (默认:True
)如果为True,则绘制网格.
-
count_label
: str (默认: 'Count')"Count"轴的标签.
-
xlim
: 'auto' 或 array-like [min, max] (默认: 'auto')x轴范围的最小和最大位置.
-
ylim
: 'auto' 或 array-like [min, max] (默认: 'auto')y轴范围的最小和最大位置.
-
invert_axes
: bool (默认: False)如果为True,则在x轴上绘制计数.
-
legend_loc
: str (默认: 'best')图例的位置 {best, upper left, upper right, lower left, lower right} 如果legend_loc=False,则不显示图例
-
ax
: matplotlib轴, 可选 (默认: None)使用此轴进行绘图,否则创建一个新的轴
Returns
ax
: matplotlib轴
Examples
有关使用示例,请参见 https://rasbt.github.io/mlxtend/user_guide/plotting/enrichment_plot/
heatmap
heatmap(matrix, hide_spines=False, hide_ticks=False, figsize=None, cmap=None, colorbar=True, row_names=None, column_names=None, column_name_rotation=45, cell_values=True, cell_fmt='.2f', cell_font_size=None, text_color_threshold=None)
绘制热力图通过matplotlib.
Parameters
-
conf_mat
: 类数组, shape = [n_rows, n_columns]任意二维数组.
-
hide_spines
: bool (默认: False)如果为True,隐藏坐标轴脊线.
-
hide_ticks
: bool (默认: False)如果为True,隐藏坐标轴刻度.
-
figsize
: 元组 (默认: (2.5, 2.5))图表的高度和宽度.
-
cmap
: matplotlib颜色映射 (默认:None
)如果为
None
,使用matplotlib.pyplot.cm.viridis. -
colorbar
: bool (默认: True)如果为True,显示颜色条.
-
row_names
: 类数组, shape = [n_rows] (默认: None)用于作为y轴刻度标签的行名称列表.
-
column_names
: 类数组, shape = [n_columns] (默认: None)用于作为x轴刻度标签的列名称列表.
-
column_name_rotation
: int (默认: 45)旋转列x轴刻度标签的度数.
-
cell_values
: bool (默认: True)如果为True,绘制单元格值.
-
cell_fmt
: 字符串 (默认: '.2f')单元格值的格式规范(如果
cell_values=True
). -
cell_font_size
: int (默认: None)单元格值的字体大小(如果
cell_values=True
). -
text_color_threshold
: float (默认: None)文本注释的黑/白文本阈值.默认(None)尝试使用
np.max(normed_matrix) / 2
自动推断一个良好的阈值.
Returns
-
fig, ax
: matplotlib.pyplot子图对象子图的图表和轴元素.
Examples
有关使用示例,请参见 https://rasbt.github.io/mlxtend/user_guide/plotting/heatmap/
plot_confusion_matrix
plot_confusion_matrix(conf_mat, hide_spines=False, hide_ticks=False, figsize=None, cmap=None, colorbar=False, show_absolute=True, show_normed=False, norm_colormap=None, class_names=None, figure=None, axis=None, fontcolor_threshold=0.5)
通过matplotlib绘制混淆矩阵.
Parameters
-
conf_mat
: 类数组, shape = [n_classes, n_classes]来自evaluate.confusion_matrix的混淆矩阵.
-
hide_spines
: bool (默认: False)如果为True,隐藏坐标轴脊线.
-
hide_ticks
: bool (默认: False)如果为True,隐藏坐标轴刻度.
-
figsize
: 元组 (默认: (2.5, 2.5))图表的高度和宽度.
-
cmap
: matplotlib颜色映射 (默认:None
)如果为
None
,使用matplotlib.pyplot.cm.Blues. -
colorbar
: bool (默认: False)如果为True,显示颜色条.
-
show_absolute
: bool (默认: True)如果为True,显示混淆矩阵的绝对系数.
show_absolute
或show_normed
中至少有一个必须为True. -
show_normed
: bool (默认: False)如果为True,显示归一化的混淆矩阵系数. 归一化的混淆矩阵系数表示每个类别的训练样本中被正确分类的比例.
show_absolute
或show_normed
中至少有一个必须为True. -
norm_colormap
: bool (默认: False)Matplotlib颜色归一化对象,用于归一化颜色刻度,例如
matplotlib.colors.LogNorm()
. -
class_names
: 类数组, shape = [n_classes] (默认: None)类别名称列表. 如果非
None
,刻度将被设置为这些值. -
figure
: None 或 Matplotlib图表 (默认: None)如果为None,将创建一个新的图表.
-
axis
: None 或 Matplotlib图表轴 (默认: None)如果为None,将创建一个新的轴.
-
fontcolor_threshold
: Float (默认: 0.5)设置一个阈值,用于选择单元格的字体颜色(黑色或白色). 默认情况下,所有大于0.5倍最大单元格值的值将被转换为白色, 所有等于或小于0.5倍最大单元格值的值将被转换为黑色.
Returns
-
fig, ax
: matplotlib.pyplot子图对象子图的图表和轴元素.
Examples
有关使用示例,请参见 https://rasbt.github.io/mlxtend/user_guide/plotting/plot_confusion_matrix/
plot_decision_regions
plot_decision_regions(X, y, clf, feature_index=None, filler_feature_values=None, filler_feature_ranges=None, ax=None, X_highlight=None, zoom_factor=1.0, legend=1, hide_spines=True, markers='s^oxv<>', colors='#1f77b4,#ff7f0e,#3ca02c,#d62728,#9467bd,#8c564b,#e377c2,#7f7f7f,#bcbd22,#17becf', scatter_kwargs=None, contourf_kwargs=None, contour_kwargs=None, scatter_highlight_kwargs=None, n_jobs=None)
绘制分类器的决策区域.
请注意,此函数假设类别标签是连续标记的,例如 0, 1, 2, 3, 4 和 5.如果您有整数标签 > 4 的类别标签,您可能需要提供额外的颜色和/或标记作为 `colors` 和 `markers` 参数.
有关更多信息,请参见 https://matplotlib.org/examples/color/named_colors.html.
Parameters
-
X
: 类数组, 形状 = [n_samples, n_features]特征矩阵.
-
y
: 类数组, 形状 = [n_samples]真实的类别标签.
-
clf
: 分类器对象.必须具有 .predict 方法.
-
feature_index
: 类数组 (默认: (0,) 用于 1D, (0, 1) 否则)用于绘图的特征索引.
feature_index
中的第一个索引将位于 x 轴上,第二个索引将位于 y 轴上. -
filler_feature_values
: 字典 (默认: None)仅在特征数量 > 2 时需要.字典包含未绘制的特征的索引-值对.
-
filler_feature_ranges
: 字典 (默认: None)仅在特征数量 > 2 时需要.字典包含未绘制的特征的索引-值对.将使用提供的范围选择用于绘图的训练样本.
-
ax
: matplotlib.axes.Axes (默认: None)现有的 matplotlib Axes.如果没有,则创建一个.
-
X_highlight
: 类数组, 形状 = [n_samples, n_features] (默认: None)用于在
X
中突出显示样本的数据点数组. -
zoom_factor
: 浮点数 (默认: 1.0)控制决策图的 x 轴和 y 轴的缩放比例.
-
hide_spines
: 布尔值 (默认: True)如果为 True,则隐藏轴脊.
-
legend
: 整数 (默认: 1)指定图例位置的整数.如果为 0,则没有图例.
-
markers
: 字符串 (默认: 's^oxv<>')散点图标记.
-
colors
: 字符串 (默认: 'red,blue,limegreen,gray,cyan')逗号分隔的颜色列表.
-
scatter_kwargs
: 字典 (默认: None)底层 matplotlib scatter 函数的参数.
-
contourf_kwargs
: 字典 (默认: None)底层 matplotlib contourf 函数的参数.
-
contour_kwargs
: 字典 (默认: None)底层 matplotlib contour 函数的参数(用于在决策区域之间绘制线条).
-
scatter_highlight_kwargs
: 字典 (默认: None)底层 matplotlib scatter 函数的参数.
-
n_jobs
: 整数或 None, 可选 (默认: None)使用 Python 的多进程库进行计算时使用的 CPU 数量.
None
表示 1.-1
表示使用所有处理器.自 v0.22.0 起新增.
Returns
ax
: matplotlib.axes.Axes 对象
Examples
有关使用示例,请参见 https://rasbt.github.io/mlxtend/user_guide/plotting/plot_decision_regions/
plot_learning_curves
plot_learning_curves(X_train, y_train, X_test, y_test, clf, train_marker='o', test_marker='^', scoring='misclassification error', suppress_plot=False, print_model=True, title_fontsize=12, style='default', legend_loc='best')
绘制分类器的学习曲线.
Parameters
-
X_train
: array-like, shape = [n_samples, n_features]训练数据集的特征矩阵.
-
y_train
: array-like, shape = [n_samples]训练数据集的真实类别标签.
-
X_test
: array-like, shape = [n_samples, n_features]测试数据集的特征矩阵.
-
y_test
: array-like, shape = [n_samples]测试数据集的真实类别标签.
-
clf
: Classifier object. 必须具有 .predict 和 .fit 方法. -
train_marker
: str (默认: 'o')训练集线图的标记.
-
test_marker
: str (默认: '^')测试集线图的标记.
-
scoring
: str (默认: 'misclassification error')如果不是 'misclassification error',则接受以下指标(来自 scikit-learn): {'accuracy', 'average_precision', 'f1_micro', 'f1_macro', 'f1_weighted', 'f1_samples', 'log_loss', 'precision', 'recall', 'roc_auc', 'adjusted_rand_score', 'mean_absolute_error', 'mean_squared_error', 'median_absolute_error', 'r2'}
-
suppress_plot=False
: bool (默认: False)如果为 True,则抑制 matplotlib 绘图.推荐用于测试目的.
-
print_model
: bool (默认: True)如果为 True,则在绘图标题中打印模型参数.
-
title_fontsize
: int (默认: 12)确定绘图标题字体的大小.
-
style
: str (默认: 'default')Matplotlib 样式.更多样式请参见 https://matplotlib.org/stable/gallery/style_sheets/style_sheets_reference.html
-
legend_loc
: str (默认: 'best')放置图例的位置: {'best', 'upper left', 'upper right', 'lower left', 'lower right'}
Returns
errors
: (training_error, test_error): 包含两个列表的元组
Examples
有关使用示例,请参见 https://rasbt.github.io/mlxtend/user_guide/plotting/plot_learning_curves/
plot_linear_regression
plot_linear_regression(X, y, model=LinearRegression(), corr_func='pearsonr', scattercolor='blue', fit_style='k--', legend=True, xlim='auto')
绘制线性回归拟合线.
Parameters
-
X
: numpy数组, shape = [n_samples,]样本.
-
y
: numpy数组, shape (n_samples,)目标值 model: 对象 (默认: sklearn.linear_model.LinearRegression) 回归估计器对象.必须实现 .fit()和.predict()方法. corr_func: 字符串或函数 (默认: 'pearsonr') 如果corr_func='pearsonr',则使用scipy.stats中的
pearsonr
来计算回归斜率.如果不是'pearsonr',则corr_func
参数 期望一个形如func(, )的函数作为输入, 该函数应返回一个元组 (<相关系数>, <某个未使用的值>)
. scattercolor: 字符串 (默认: blue) 散点图点的颜色. fit_style: 字符串 (默认: k--) 拟合线的样式. legend: 布尔值 (默认: True) 绘制带有相关系数、 拟合系数和截距值的图例. xlim: 类似数组 (x_min, x_max) 或 'auto' (默认: 'auto') 线性拟合的X轴范围.
Returns
-
regression_fit
: 元组截距, 斜率, 相关系数 (float, float, float)
Examples
有关使用示例,请参见 https://rasbt.github.io/mlxtend/user_guide/plotting/plot_linear_regression/
plot_pca_correlation_graph
plot_pca_correlation_graph(X, variables_names, dimensions=(1, 2), figure_axis_size=6, X_pca=None, explained_variance=None)
计算X的主成分分析并绘制相关图
Parameters
-
X
: 类似2d数组.列表示不同的变量,行是这些变量的样本
-
variables_names
: 类似数组X的列(变量)的名称
dimensions: 包含两个元素的元组. 要绘制的维度 (x,y)
figure_axis_size : 最终框架的大小.创建的图形是一个边长和宽度等于figure_axis_size的正方形.
-
X_pca
: np.ndarray, shape = [n_samples, n_components].可选.
X_pca
是从X变换后的成分矩阵. 如果未提供,函数将使用mlxtend.feature_extraction.PrincipalComponentAnalysis自动计算PCA 预期n_componentes >= max(dimensions)
-
explained_variance
: 一维np.ndarray, 长度 = n_components可选.
explained_variance
是PCA变换中协方差矩阵对角化的特征值. 如果未提供,函数将独立计算PCA 预期n_componentes == X.shape[1]
Returns
matplotlib_figure, correlation_matrix
Examples
有关使用示例,请参见 https://rasbt.github.io/mlxtend/user_guide/plotting/plot_pca_correlation_graph/
plot_sequential_feature_selection
plot_sequential_feature_selection(metric_dict, figsize=None, kind='std_dev', color='blue', bcolor='steelblue', marker='o', alpha=0.2, ylabel='Performance', confidence_interval=0.95)
绘制特征选择结果.
Parameters
-
metric_dict
: mlxtend.SequentialFeatureSelector.get_metric_dict() 对象 -
figsize
: 元组 (默认: None)图表的高度和宽度
-
kind
: 字符串 (默认: "std_dev")误差条或置信区间的类型,可选值为 {'std_dev', 'std_err', 'ci', None}.
-
color
: 字符串 (默认: "blue")线图的颜色(接受任何 matplotlib 颜色名称)
-
bcolor
: 字符串 (默认: "steelblue")误差条或置信区间的颜色(接受任何 matplotlib 颜色名称)
-
marker
: 字符串 (默认: "o")线图的标记(接受任何 matplotlib 标记名称)
-
alpha
: 浮点数在 [0, 1] 之间 (默认: 0.2)误差条或置信区间的透明度.
-
ylabel
: 字符串 (默认: "Performance")Y 轴标签.
-
confidence_interval
: 浮点数 (默认: 0.95)如果
kind='ci'
,则为置信水平.
Returns
fig
: matplotlib.pyplot.figure() 对象
Examples
有关使用示例,请参见 https://rasbt.github.io/mlxtend/user_guide/plotting/plot_sequential_feature_selection/
remove_borders
remove_borders(axes, left=False, bottom=False, right=True, top=True)
去除matplotlib图表中的杂乱元素.
Parameters
-
axes
: 可迭代对象包含plt.gca()或plt.subplot()对象的可迭代对象,例如[plt.gca()].
-
left
: bool (默认值:False
)如果为True,隐藏左侧轴脊.
-
bottom
: bool (默认值:False
)如果为True,隐藏底部轴脊.
-
right
: bool (默认值:True
)如果为True,隐藏右侧轴脊.
-
top
: bool (默认值:True
)如果为True,隐藏顶部轴脊.
Examples
有关使用示例,请参见 https://rasbt.github.io/mlxtend/user_guide/plotting/remove_chartjunk/
scatter_hist
scatter_hist(x, y, xlabel=None, ylabel=None, figsize=(5, 5))
散点图及沿轴的单个特征直方图.
Parameters
-
x
: 一维数组或Pandas SeriesX轴的值.
-
y
: 一维数组或Pandas SeriesY轴的值.
-
xlabel
: 字符串 (默认:None
)X轴值的标签.如果
x
是pandas Series, 且xlabel
为None
,则标签会自动推断. -
ylabel
: 字符串 (默认:None
)Y轴值的标签.如果
y
是pandas Series, 且ylabel
为None
,则标签会自动推断. -
figsize
: 元组 (默认:(5, 5)
)Matplotlib图表大小.
Returns
plot
: Matplotlib Figure对象
scatterplotmatrix
scatterplotmatrix(X, fig_axes=None, names=None, figsize=(8, 8), alpha=1.0, kwargs)
散点图矩阵的下三角部分
Parameters
-
X
: array-like, shape={num_examples, num_features}包含数据实例(样本)的设计矩阵,具有多个探索性变量(特征).
-
fix_axes
: tuple (默认: None)一个
(fig, axes)
元组,其中 fig 是一个图形对象, axes 是通过 matplotlib 创建的轴对象,例如,通过调用 pyplot 的subplot
函数fig, axes = plt.subplots(...)
-
names
: list (默认: None)一个字符串名称列表,其元素数量应与
X
中的特征(列)数量相同. -
figsize
: tuple (默认: (8, 8))子图网格的高度和宽度.如果 fig_axes 不是
None
,则忽略此参数. -
alpha
: float (默认: 1.0)散点图和对角线上直方图的透明度.
-
**kwargs
: kwargs散点图的关键字参数.
Returns
-
fix_axes
: tuple一个
(fig, axes)
元组,其中 fig 是一个图形对象, axes 是通过 matplotlib 创建的轴对象,例如,通过调用 pyplot 的subplot
函数fig, axes = plt.subplots(...)
Examples
更多使用示例,请参见 https://rasbt.github.io/mlxtend/user_guide/plotting/scatterplotmatrix/
stacked_barplot
stacked_barplot(df, bar_width='auto', colors='bgrcky', labels='index', rotation=90, legend_loc='best')
绘制堆积条形图的函数
Parameters
-
df
: pandas.DataFrame一个pandas DataFrame,其中索引表示x轴标签,列包含每行的不同测量值. bar_width: 'auto' 或 float (默认: 'auto') 设置条形宽度的参数.如果为'auto',宽度将根据数据集中的列数自动确定. colors: str (默认: 'bgrcky') 条形的颜色. labels: 'index' 或 iterable (默认: 'index') 如果为'index',将使用DataFrame索引作为x轴刻度标签. rotation: int (默认: 90) 旋转x轴标签的参数.
-
legend_loc
: str (默认: 'best')图例的位置 {best, upper left, upper right, lower left, lower right} 如果legend_loc=False,则不显示图例
Returns
fig
: matplotlib.pyplot figure对象
Examples
有关使用示例,请参见 https://rasbt.github.io/mlxtend/user_guide/plotting/stacked_barplot/