sklearn svm.LinearSVC的参数说明

写在前面的话:本人刚刚学sklearn,很多参数也不是很懂,英语又比较low,只能求助google翻译,若有不对的地方,请大佬指出来。

Sklearn.svm.LinearSVC参数说明

与参数kernel ='linear'的SVC类似,但是以liblinear而不是libsvm的形式实现,因此它在惩罚和损失函数的选择方面具有更大的灵活性,并且应该更好地扩展到大量样本。

此类支持密集和稀疏输入,并且多类支持根据one-vs-the-rest方案处理。

Sklearn.svm.LinearSVC(penalty=’l2’loss=’squared_hinge’dual=Truetol=0.0001C=1.0multi_class=’ovr’,fit_intercept=Trueintercept_scaling=1class_weight=Noneverbose=0random_state=Nonemax_iter=1000)

penalty : string, ‘l1’ or ‘l2’ (default=’l2’)

指定惩罚中使用的规范。 'l2'惩罚是SVC中使用的标准。 'l1'导致稀疏的coef_向量。

loss : string, ‘hinge’ or ‘squared_hinge’ (default=’squared_hinge’)

指定损失函数。 “hinge”是标准的SVM损失(例如由SVC类使用),而“squared_hinge”是hinge损失的平方。

dual : bool, (default=True)

选择算法以解决双优化或原始优化问题。 当n_samples> n_features时,首选dual = False。

tol : float, optional (default=1e-4)

公差停止标准

C : float, optional (default=1.0)

错误项的惩罚参数

multi_class : string, ‘ovr’ or ‘crammer_singer’ (default=’ovr’)

如果y包含两个以上的类,则确定多类策略。 “ovr”训练n_classes one-vs-rest分类器,而“crammer_singer”优化所有类的联合目标。 虽然crammer_singer在理论上是有趣的,因为它是一致的,但它在实践中很少使用,因为它很少能够提高准确性并且计算成本更高。 如果选择“crammer_singer”,则将忽略选项loss,penalty和dual。

fit_intercept : boolean, optional (default=True)

是否计算此模型的截距。 如果设置为false,则不会在计算中使用截距(即,预期数据已经居中)。

intercept_scaling : float, optional (default=1)

当self.fit_intercept为True时,实例向量x变为[x,self.intercept_scaling],即具有等于intercept_scaling的常量值的“合成”特征被附加到实例向量。 截距变为intercept_scaling *合成特征权重注意! 合成特征权重与所有其他特征一样经受l1 / l2正则化。 为了减小正则化对合成特征权重(并因此对截距)的影响,必须增加intercept_scaling。

class_weight : {dict, ‘balanced’}, optional

将类i的参数C设置为SVC的class_weight [i] * C. 如果没有给出,所有课程都应该有一个重量。 “平衡”模式使用y的值自动调整与输入数据中的类频率成反比的权重,如n_samples /(n_classes * np.bincount(y))

verbose : int, (default=0)

启用详细输出。 请注意,此设置利用liblinear中的每进程运行时设置,如果启用,可能无法在多线程上下文中正常工作。

random_state : int, RandomState instance or None, optional (default=None)

在随机数据混洗时使用的伪随机数生成器的种子。 如果是int,则random_state是随机数生成器使用的种子; 如果是RandomState实例,则random_state是随机数生成器; 如果为None,则随机数生成器是np.random使用的RandomState实例。

max_iter : int, (default=1000)

要运行的最大迭代次数。

你可能感兴趣的:(sklearn svm.LinearSVC的参数说明)