sklearn监督学习笔记

一、支持向量机

(SVMs) 可用于以下监督学习算法 分类, 回归 和 异常检测.

支持向量机的优势在于:

    在高维空间中非常高效.
    即使在数据维度比样本数量大的情况下仍然有效.
    在决策函数(称为支持向量)中使用训练集的子集,因此它也是高效利用内存的.
    通用性: 不同的核函数 核函数 与特定的决策函数一一对应.常见的 kernel 已经提供,也可以指定定制的内核.

支持向量机的缺点包括:

    如果特征数量比样本数量大得多,在选择核函数 核函数 时要避免过拟合,
而且正则化项是非常重要的.
    支持向量机不直接提供概率估计,这些都是使用昂贵的五次交叉验算计算的. 

1、分类

支持向量机文档
SVC, NuSVC 和 LinearSVC 能在数据集中实现多元分类.
SVC 和 NuSVC 是相似的方法, LinearSVC 是另一个实现线性核函数的支持向量分类.
和其他分类器一样, SVC, NuSVC 和 LinearSVC 将两个数组作为输入: [n_samples, n_features] 大小的数组 X 作为训练样本, [n_samples] 大小的数组 y 作为类别标签(字符串或者整数):

from sklearn import svm
X = [[0, 0], [1, 1]]
y = [0, 1]
clf = svm.SVC()
clf.fit(X, y)  

在拟合后, 这个模型可以用来预测新的值:

clf.predict([[2., 2.]])

SVMs 决策函数取决于训练集的一些子集, 称作支持向量. 这些支持向量的部分特性可以在 support_vectors_, support_ 和 n_support 找到:

# 获得支持向量
clf.support_vectors_
# 获得支持向量的索引get indices of support vectors
clf.support_ 
# 为每一个类别获得支持向量的数量
clf.n_support_ 

2、回归

支持向量分类的方法可以被扩展用作解决回归问题. 这个方法被称作支持向量回归.
支持向量分类有三种不同的实现形式: SVR, NuSVR 和 LinearSVR. 在只考虑线性核的情况下, LinearSVR 比 SVR 提供一个更快的实现形式
与分类的类别一样, fit方法会调用参数向量 X, y, 只在 y 是浮点数而不是整数型.:

from sklearn import svm
X = [[0, 0], [2, 2]]
y = [0.5, 2.5]
clf = svm.SVR()
clf.fit(X, y) 

clf.predict([[1, 1]])

二、随机梯度下降

随机梯度下降(SGD) 是一种简单但又非常高效的方法,主要用于凸损失函数下线性分类器的判别式学习,例如(线性) 支持向量机 和 Logistic 回归 。

SGD 已成功应用于在文本分类和自然语言处理中经常遇到的大规模和稀疏的机器学习问题。对于稀疏数据,本模块的分类器可以轻易的处理超过 10^5 的训练样本和超过 10^5 的特征。

Stochastic Gradient Descent (随机梯度下降法)的优势:

    高效。
    易于实现 (有大量优化代码的机会)。

Stochastic Gradient Descent (随机梯度下降法)的劣势:

    SGD 需要一些超参数,例如 regularization (正则化)参数和 number of iterations (迭代次数)。
    SGD 对 feature scaling (特征缩放)敏感。

1. 分类

SGDClassifier 类实现了一个简单的随机梯度下降学习例程, 支持不同的 loss functions(损失函数)和 penalties for classification(分类处罚)。

作为另一个 classifier (分类器), 拟合 SGD 我们需要两个 array (数组):保存训练样本的 size 为 [n_samples, n_features] 的数组 X 以及保存训练样本目标值(类标签)的 size 为 [n_samples] 的数组 Y

from sklearn.linear_model import SGDClassifier
X = [[0., 0.], [1., 1.]]
y = [0, 1]
clf = SGDClassifier(loss="hinge", penalty="l2")
clf.fit(X, y)

广义线性模型

  • 普通最小二乘法 LinearRegression
  • 岭回归 Ridge
  • Lasso
  • LARS Lasso

猜你喜欢

转载自blog.csdn.net/qq_42988748/article/details/82876156