学无先后,达者为师

网站首页 编程语言 正文

sklearn.linear_model.Perceptron详解

作者:taotaoiit 更新时间: 2022-10-14 编程语言

sklearn.linear_model.Perceptron详解

形式

class sklearn.linear_model.Perceptron(*, penalty=None, alpha=0.0001, l1_ratio=0.15, fit_intercept=True, max_iter=1000, tol=0.001, shuffle=True, verbose=0, eta0=1.0, n_jobs=None, random_state=0, early_stopping=False, validation_fraction=0.1, n_iter_no_change=5, class_weight=None, warm_start=False)

参数

  • penalty : {‘l2’,’l1’,’elasticnet’}, default=None

    惩罚项,用来正则化。

  • alpha: float, default=0.0001

    惩罚项之前的常数,调控正则化的权重比例

  • l1_ratio: float, default=0.15

    当选用了penalty=elasticnet时,其为混合正则项,该参数可以控制L1正则项与L2正则项的比例

  • fit_intercept: bool, default=True

    是否需要计算截距b的值

  • max_iter: int, default=1000

    最大迭代次数,只影响fit方法,对partial_fit没影响

  • tol: float, default=1e-3

    迭代停止规则,如果tol不为None值当上一轮的损失值-当前轮的损失值<tol时,训练停止。

  • shuffle: bool, default=True

    在每一轮训练结束后是否打乱数据

  • verbose: int, default=0

    是否输出训练日志,1为输出,0为不输出

  • eta0: float, default=1

    学习率,决定梯度下降时每次参数变化的幅度

  • n_jobs: int, default=None

    在多分类时使用的CPU数量,默认为None(或1),若为-1则使用所有CPU

  • random_state: int, RandomState instance or None, default=0

    当 shuffle =True时,用于标记打乱训练数据的随机种子,可以方便下次复用

  • early_stopping: bool, default=False

    验证时是否使用提前停止终止训练。分数没有提高。如果设置为True,它将自动留出训练数据的分层部分作为验证,并在n_iter_no_change连续周期的验证得分没有提高至少tol时终止训练。

  • validation_fraction: float, default=0.1

    训练数据的比例留作早期停止的验证集。必须在0和1之间。仅在early_stopped为True时使用。

  • n_iter_no_change: int, default=5

    在提前停止之前等待没有改进的迭代数。

  • class_weight: dict, {class_label: weight} or “balanced”, default=None

    与类关联的权重。如果没有给出,所有类的权重都是1。

    “balanced”模式使用y的值自动调整权重,权重与输入数据中的类频率成反比,即n_samples / (n_classes * np.bincount(y))。

  • warm_start: bool, default=False

    若为True则调用前一次设置的参数,使用之前设置的参数,详情见warm_start详解

属性

  • classes_: ndarray of shape (n_classes,)

    放着y所有分类的数组,如感知机是array([-1., 1.])

  • coef_: ndarray of shape (1, n_features) if n_classes == 2 else (n_classes, n_features)

    存放模型参数w,当为多(k)分类时,感知机启用默认多分类规则one-vs-rest导致出现k个参数w

  • intercept_: ndarray of shape (1,) if n_classes == 2 else (n_classes,)

    存放模型参数b,当为多(k)分类时,感知机启用默认多分类规则one-vs-rest导致出现k个参数b

  • loss_function_: concrete LossFunction

    查看选取的损失函数

  • n_features_in_: int

    fit期间的特征数量

  • n_iter_: int

    达到停止条件的实际迭代次数。对于多分类拟合,它是每一个二元拟合的最大值。

  • t_: int

    在训练过程中进行重量更新的次数。与 ( n _ i t e r _ ⋅ n _ s a m p l e s ) (n\_iter\_ \cdot n\_samples) (n_iter_n_samples)相同。

方法

  • decision_function(X)

    返回样本到分类器分离超平面的距离,若对于多分类,则返回(样本数,类别数)大小的数组表示,正数表示正类,负数表示负类,详解见此链接:https://www.ab62.cn/article/24835.html

  • densify()

    将coef_成员(返回)转换为numpy.ndarray。这是coef_的默认格式,是拟合所必需的,因此只需要在先前被稀疏化的模型上调用此方法;否则,它就是无效的。

  • fit(X, y, coef_init=None, intercept_init=None, sample_weight=None)

    随机梯度下降拟合线性模型

    在这里插入图片描述

  • get_params([deep])

    在这里插入图片描述

  • partial_fit(X, y[, classes, sample_weight])

    对样本进行一次随机梯度下降,一次就结束,不保证效果

  • predict(X)

    预测样本的类别

    在这里插入图片描述

  • score(X, y[, sample_weight])

    输入测试数据集,返回测试集中预测正确的样本所占比例

    在这里插入图片描述

  • set_params(**params)

    修改模型的参数

  • sparsify()

    coef_数据稀疏化,变为scipy.sparse matrix格式,提高储存效率,l1正则化模型在内存和存储方面比通常的numpy要高效得多。可用densify()还原,注意!intercept_没有被稀疏化


原文链接:https://blog.csdn.net/weixin_45804601/article/details/127287339

栏目分类
最近更新