mlxtend version: 0.23.1

BootstrapOutOfBag

BootstrapOutOfBag(n_splits=200, random_seed=None)

Parameters

Returns

Examples

有关使用示例,请参见 https://rasbt.github.io/mlxtend/user_guide/evaluate/BootstrapOutOfBag/

Methods


get_n_splits(X=None, y=None, groups=None)

返回交叉验证器中的分割迭代次数

Parameters

Returns


split(X, y=None, groups=None)

y : array-like 或 None (默认: None) 该参数不使用,仅作为兼容性参数包含在内,类似于 KFold 在 scikit-learn 中的用法.

GroupTimeSeriesSplit

GroupTimeSeriesSplit(test_size, train_size=None, n_splits=None, gap_size=0, shift_size=1, window_type='rolling')

时间序列分组交叉验证器.

Parameters

Examples

有关使用示例,请参见 https://rasbt.github.io/mlxtend/user_guide/evaluate/GroupTimeSeriesSplit/

Methods


get_n_splits(X=None, y=None, groups=None)

返回交叉验证器中的分割迭代次数.

Parameters

Returns


split(X, y=None, groups=None)

生成用于将数据划分为训练集和测试集的索引.

Parameters

Yields

PredefinedHoldoutSplit

PredefinedHoldoutSplit(valid_indices)

用于sklearn的GridSearchCV等的训练/验证集分割器.

使用用户指定的训练/验证集索引来分割数据集,
通过用户定义或随机索引将其分为训练集和验证集.

Parameters

Examples

有关使用示例,请参见 https://rasbt.github.io/mlxtend/user_guide/evaluate/PredefinedHoldoutSplit/

Methods


get_n_splits(X=None, y=None, groups=None)

返回交叉验证器中的分割迭代次数

Parameters

Returns


split(X, y, groups=None)

生成用于将数据划分为训练集和测试集的索引.

Parameters

Yields

RandomHoldoutSplit

RandomHoldoutSplit(valid_size=0.5, random_seed=None, stratify=False)

用于sklearn的GridSearchCV等的训练/验证集分割器.

提供训练/验证集索引,以使用随机索引将数据集分割为训练/验证集.

Parameters

Examples

有关使用示例,请参见 https://rasbt.github.io/mlxtend/user_guide/evaluate/RandomHoldoutSplit/

Methods


get_n_splits(X=None, y=None, groups=None)

返回交叉验证器中的分割迭代次数

Parameters

Returns


split(X, y, groups=None)

生成用于将数据划分为训练集和测试集的索引.

Parameters

Yields

accuracy_score

accuracy_score(y_target, y_predicted, method='standard', pos_label=1, normalize=True)

监督学习的通用准确率函数. Parameters

Returns

score: float

Examples

有关使用示例,请参见 https://rasbt.github.io/mlxtend/user_guide/evaluate/accuracy_score/

bias_variance_decomp

bias_variance_decomp(estimator, X_train, y_train, X_test, y_test, loss='0-1_loss', num_rounds=200, random_seed=None, fit_params)

estimator : 对象 一个分类器或回归器对象或类,实现类似于scikit-learn API的fitpredict方法.

Returns

Examples

有关使用示例,请参见 https://rasbt.github.io/mlxtend/user_guide/evaluate/bias_variance_decomp/

bootstrap

bootstrap(x, func, num_rounds=1000, ci=0.95, ddof=1, seed=None)

Implements the ordinary nonparametric bootstrap

Parameters

Returns

Examples

```
>>> from mlxtend.evaluate import bootstrap
>>> rng = np.random.RandomState(123)
>>> x = rng.normal(loc=5., size=100)
>>> original, std_err, ci_bounds = bootstrap(x,
...                                          num_rounds=1000,
...                                          func=np.mean,
...                                          ci=0.95,
...                                          seed=123)
>>> print('Mean: %.2f, SE: +/- %.2f, CI95: [%.2f, %.2f]' % (original,
...                                                         std_err,
...                                                         ci_bounds[0],
...                                                         ci_bounds[1]))
Mean: 5.03, SE: +/- 0.11, CI95: [4.80, 5.26]
>>>

更多使用示例,请参见
https://rasbt.github.io/mlxtend/user_guide/evaluate/bootstrap/




## bootstrap_point632_score

*bootstrap_point632_score(estimator, X, y, n_splits=200, method='.632', scoring_func=None, predict_proba=False, random_seed=None, clone_estimator=True, **fit_params)*

监督学习的.632 [1] 和 .632+ [2] 自助法实现

    参考文献:

    - [1] Efron, Bradley. 1983. "估计预测规则的错误率:改进交叉验证."
    美国统计协会杂志
    78 (382): 316. doi:10.2307/2288636.
    - [2] Efron, Bradley, 和 Robert Tibshirani. 1997.
    "改进交叉验证:.632+ 自助法."
    美国统计协会杂志
    92 (438): 548. doi:10.2307/2965703.

**Parameters**

- `estimator` : object

    用于分类或回归的估计器,
    遵循 scikit-learn API 并实现 "fit" 和 "predict" 方法.


- `X` : array-like

    要拟合的数据.例如,可以是一个列表,或至少二维的数组.


- `y` : array-like, 可选, 默认: None

    在监督学习的情况下,要尝试预测的目标变量.


- `n_splits` : int (默认=200)

    自助法的迭代次数.
    必须大于 1.


- `method` : str (默认='.632')

    自助法方法,可以是以下之一:
    - 1) '.632' 自助法 (默认)
    - 2) '.632+' 自助法
    - 3) 'oob' (常规的袋外样本,无加权)
    用于比较研究.


- `scoring_func` : callable,

    评分函数(或损失函数),签名
``scoring_func(y, y_pred, **kwargs)``.
    如果没有提供,则使用分类准确率(如果估计器是分类器)

和均方误差(如果估计器是回归器).


- `predict_proba` : bool

    是否使用 `estimator` 参数的 `predict_proba` 函数.
    这需要与 `scoring_func` 结合使用,后者接受概率值
    而不是实际预测值.
    例如,如果 scoring_func 是
    :meth:`sklearn.metrics.roc_auc_score`,则使用
    `predict_proba=True`.
    请注意,这要求 `estimator` 实现 `predict_proba` 方法.


- `random_seed` : int (默认=None)

    如果为整数,random_seed 是随机数生成器使用的种子.


- `clone_estimator` : bool (默认=True)

    如果为真,则克隆估计器,否则使用原始估计器进行拟合.


- `fit_params` : 额外参数

    在将估计器拟合到自助样本时,传递给估计器的 .fit() 函数的额外参数.

**Returns**

- `scores` : array of float, shape=(len(list(n_splits)),)

    估计器在每个自助样本上的得分数组.

**Examples**

>>> from sklearn import datasets, linear_model
>>> from mlxtend.evaluate import bootstrap_point632_score
>>> iris = datasets.load_iris()
>>> X = iris.data
>>> y = iris.target
>>> lr = linear_model.LogisticRegression()
>>> scores = bootstrap_point632_score(lr, X, y)
>>> acc = np.mean(scores)
>>> print('Accuracy:', acc)
0.953023146884
>>> lower = np.percentile(scores, 2.5)
>>> upper = np.percentile(scores, 97.5)
>>> print('95%% Confidence interval: [%.2f, %.2f]' % (lower, upper))
95% Confidence interval: [0.90, 0.98]

更多使用示例,请参见
https://rasbt.github.io/mlxtend/user_guide/evaluate/bootstrap_point632_score/

```

cochrans_q

cochrans_q(y_target, y_model_predictions)*

Cochran's Q检验用于比较2个或更多模型.

Parameters

Returns

Examples

有关使用示例,请参见 https://rasbt.github.io/mlxtend/user_guide/evaluate/cochrans_q/

combined_ftest_5x2cv

combined_ftest_5x2cv(estimator1, estimator2, X, y, scoring=None, random_seed=None)

Implements the 5x2cv combined F test proposed by Alpaydin 1999, to compare the performance of two models.

Parameters

Returns

Examples

For usage examples, please see https://rasbt.github.io/mlxtend/user_guide/evaluate/combined_ftest_5x2cv/

confusion_matrix

confusion_matrix(y_target, y_predicted, binary=False, positive_label=1)

计算混淆矩阵/列联表.

Parameters

Returns

Examples

使用示例请参见 https://rasbt.github.io/mlxtend/user_guide/evaluate/confusion_matrix/

create_counterfactual

create_counterfactual(x_reference, y_desired, model, X_dataset, y_desired_proba=None, lammbda=0.1, random_seed=None)

实现Wachter等人在2017年提出的反事实方法

参考文献:

- Wachter, S., Mittelstadt, B., & Russell, C. (2017).
反事实解释无需打开黑箱:自动化决策与GDPR.Harv. JL & Tech., 31, 841.,
https://arxiv.org/abs/1711.00399

Parameters

feature_importance_permutation

feature_importance_permutation(X, y, predict_method, metric, num_rounds=1, feature_groups=None, seed=None)

特征重要性插补通过排列重要性

Parameters

Returns

Examples

有关使用示例, 请参见 https://rasbt.github.io/mlxtend/user_guide/evaluate/feature_importance_permutation/

ftest

ftest(y_target, y_model_predictions)*

F-Test test to compare 2 or more models.

Parameters

Returns

Examples

For usage examples, please see https://rasbt.github.io/mlxtend/user_guide/evaluate/ftest/

lift_score

lift_score(y_target, y_predicted, binary=True, positive_label=1)

提升度衡量了分类模型的预测结果优于随机生成预测结果的程度.

在真阳性(TP)、真阴性(TN)、假阳性(FP)和假阴性(FN)的术语中,提升度得分计算如下:
[ TP / (TP+FP) ] / [ (TP+FN) / (TP+TN+FP+FN) ]

Parameters

Returns

Examples

有关使用示例,请参见 https://rasbt.github.io/mlxtend/user_guide/evaluate/lift_score/

mcnemar

mcnemar(ary, corrected=True, exact=False)

McNemar检验用于配对名义数据

Parameters

Returns

Examples

使用示例请参见
https://rasbt.github.io/mlxtend/user_guide/evaluate/mcnemar/

mcnemar_table

mcnemar_table(y_target, y_model1, y_model2)

计算用于McNemar检验的2x2列联表.

Parameters

Returns

Examples

使用示例请参见 https://rasbt.github.io/mlxtend/user_guide/evaluate/mcnemar_table/

mcnemar_tables

mcnemar_tables(y_target, y_model_predictions)*

计算McNemar检验或Cochran's Q检验的多个2x2列联表.

Parameters

Returns

Examples

有关使用示例,请参见
https://rasbt.github.io/mlxtend/user_guide/evaluate/mcnemar_tables/

paired_ttest_5x2cv

paired_ttest_5x2cv(estimator1, estimator2, X, y, scoring=None, random_seed=None)

Implements the 5x2cv paired t test proposed by Dieterrich (1998) to compare the performance of two models.

Parameters

Returns

Examples

For usage examples, please see https://rasbt.github.io/mlxtend/user_guide/evaluate/paired_ttest_5x2cv/

paired_ttest_kfold_cv

paired_ttest_kfold_cv(estimator1, estimator2, X, y, cv=10, scoring=None, shuffle=False, random_seed=None)

Implements the k-fold paired t test procedure to compare the performance of two models.

Parameters

Returns

Examples

For usage examples, please see https://rasbt.github.io/mlxtend/user_guide/evaluate/paired_ttest_kfold_cv/

paired_ttest_resampled

paired_ttest_resampled(estimator1, estimator2, X, y, num_rounds=30, test_size=0.3, scoring=None, random_seed=None)

Implements the resampled paired t test procedure to compare the performance of two models (also called k-hold-out paired t test).

Parameters

Returns

Examples

For usage examples, please see https://rasbt.github.io/mlxtend/user_guide/evaluate/paired_ttest_resampled/

permutation_test

permutation_test(x, y, func='x_mean != y_mean', method='exact', num_rounds=1000, seed=None, paired=False)

非参数置换检验

Parameters

Returns

原假设下的 p 值

Examples

有关使用示例,请参见 https://rasbt.github.io/mlxtend/user_guide/evaluate/permutation_test/

proportion_difference

proportion_difference(proportion_1, proportion_2, n_1, n_2=None)

计算比例差异检验的检验统计量和p值.

Parameters

Returns

Examples

有关使用示例,请参见 https://rasbt.github.io/mlxtend/user_guide/evaluate/proportion_difference/

scoring

scoring(y_target, y_predicted, metric='error', positive_label=1, unique_labels='auto')

计算监督学习的评分指标.

Parameters

Returns

Examples

有关使用示例,请参见 https://rasbt.github.io/mlxtend/user_guide/evaluate/scoring/