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_没有被稀疏化