SVM(Support Vector Machine)支持向量机
1、SVM线性分类器
sklearn. svm. LinearsvC(penalty=12, loss=squared_hinge, dual=True, tol=0 0001, C=1.0,
multi_class=ovr, fit_intercept=True, intercept_ scaling=1, class_weight=None
verbose=0, random state=None, max iter=1000)
其参数如下。
口C:一个浮点数,罚项参数。
口loss:字符串。表示损失函数。可以为如下。
O" hinge':此时为合页损失函数(它是标准SVM的损失函数);
O' squared_hinge':合页损失函数的平方。
口 penalty:字符串。指定"11或者"l2',罚项的范数。默认为'12'(它是标准SVC采用的)
口dual:布尔值。如果为True,则解决对偶问题;如果是Fase,则解决原始问题。当 n_samples> n features时,倾向于采用 False
口tol:浮点数,指定终止迭代的阈值。
multi class:字符串,指定多类分类问题的策略。
O'ovr':采用one-vs-rest分类策略;
O' crammer-singer':多类联合分类,很少用。因为它的计算量大,而且精度不会更佳,此时忽略loss, penalty,dua参数。
口 fit_intercept:布尔值。如果为True,则计算截距,即决策函数中的常数项;否则忽
口 intercept_scaling:浮点值。如果提供了,则实例X变成向量[X, intercept_scaling]。此时相当于添加了一个人工特征,该特征对所有实例都是常数值。
○此时截距变成: intercept_scaling*人工特征的权重u;
O此时人工特征也参与了罚项的计算。
口 class_weight:可以是个字典,或者字符串" balanced'。指定各个类的权重,若未提供,则认为类的权重为1。
○如果是字典,则指定每个类标签的权重;
○如果是 balanced',则每个类的权重是它出现频率的倒数。
口 verbose:一个整数,表示是否开启 verbose输出。
口 random state:一个整数或者一个 Randomstate实例,或者None
○如果为整数,则它指定随机数生成器的种子。
O如果为 RandomState实例,则指定随机数生成器。
O如果为None,则使用默认的随机数生成器。
口max_iter:一个整数