赞
踩
原文链接:https://xiets.blog.csdn.net/article/details/130977217
版权声明:原创文章禁止转载
专栏目录:scikit-learn 专栏(总目录)
scikit-learn 官方相关网站:
参考书籍:
sklearn.svm
模块中实现了支持向量机。
支持向量机 教程(官网): Support Vector Machines
支持向量机(SVM) 是一组用于分类、 回归和异常值检测的监督学习方法。
支持向量机的优点是:
支持向量机的缺点包括:
支持向量机估计器分类:
svm.LinearSVC([penalty, loss, dual, tol, C, ...])
:线性支持向量分类。svm.LinearSVR(*[, epsilon, tol, C, loss, ...])
:线性支持向量回归。svm.NuSVC(*[, nu, kernel, degree, gamma, ...])
:Nu-支持向量分类。svm.NuSVR(*[, nu, C, kernel, degree, gamma, ...])
:Nu 支持向量回归。svm.OneClassSVM(*[, kernel, degree, gamma, ...])
:无监督异常值检测。svm.SVC(*[, C, kernel, degree, gamma, ...])
:C-支持向量分类。svm.SVR(*[, kernel, degree, gamma, coef0, ...])
:Epsilon-支持向量回归。LinearSVC
使用 线性支持向量机(分类器) 处理 鸢尾花分类 问题:
from sklearn import datasets
from sklearn import model_selection
from sklearn import svm
# 加载鸢尾花数据集
X, y = datasets.load_iris(return_X_y=True)
# 拆分 训练集 和 测试集
X_train, X_test, y_train, y_test = model_selection.train_test_split(X, y, random_state=0)
# 创建 线型支持向量机分类器
# C 是正则化参数, 正则化的强度与 C 成反比, 必须严格为正, C默认为1.0。
svc_cls = svm.LinearSVC(C=100)
# 训练数据
svc_cls.fit(X_train, y_train)
# 评估模型得分 (准确率)
print(svc_cls.score(X_test, y_test)) # 输出: 0.9736842105263158
SVR
用 支持向量回归(SVR) 处理 加利福尼亚住房数据集 问题:
from sklearn import datasets
from sklearn import svm
from sklearn import model_selection
# 加载/获取 加利福尼亚住房 数据集
X, y = datasets.fetch_california_housing(return_X_y=True)
# 把数据集拆分为 训练集 和 测试集
X_train, X_test, y_train, y_test = model_selection.train_test_split(X, y, random_state=0)
# 创建 支持向量机 回归估计器
svm_reg = svm.SVR(C=100.0)
# 训练模型
svm_reg.fit(X_train, y_train)
# 评估模型 R方
print(svm_reg.score(X_train, y_train)) # 在训练集上的得分: 0.5122521137531422
print(svm_reg.score(X_test, y_test)) # 在测试集上的得分: 0.5078917076392786
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。