鱼C论坛

 找回密码
 立即注册
查看: 3567|回复: 1

[技术交流] 机器学习系列------SVM

[复制链接]
发表于 2018-6-19 11:31:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
        SVM是一个应用非常广泛的机器学习模型,支持线性和非线性分类,回归分类,边界检查等,特别适用于复杂数据的分类。首先是SVM里的线性SVC模型:
import numpy as np
from sklearn import datasets
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.svm import LinearSVC

iris=datasets.load_iris()
X=iris["data"][:,(2,3)]
y=(iris["target"]==2).astype(np.float64)

svm_clf=Pipeline([
        ("scaler",StandardScaler()),
        ("linear_svc",LinearSVC(C=1,loss="hinge")),
    ])

svm_clf.fit(X,y)
        还是用上次的鸢尾花数据制作模型,然后随便预测下:
svm_clf.predict([[5.5,1.7]])
        输出为:array([ 1.])。然后是多项式特征模型:
from sklearn.datasets import make_moons
from sklearn.preprocessing import PolynomialFeatures

polynomial_svm_clf=Pipeline([
        ("poly_features",PolynomialFeatures(degree=3)),
        ("scaler",StandardScaler()),
        ("svm_clf",LinearSVC(C=10,loss="hinge"))
    ])
polynomial_svm_clf.fit(X,y)
        这里就不演示预测了,都一样。然后是支撑向量分类模型:
from sklearn.svm import SVC

poly_kernel_svm_clf=Pipeline([
        ("scaler",StandardScaler()),
        ("svm_clf",SVC(kernel="poly",degree=3,coef0=1,C=5))
    ])
poly_kernel_svm_clf.fit(X,y)
        然后是高斯RBF神经网络模型:
rbf_kernel_svm_clf=Pipeline([
        ("scaler",StandardScaler()),
        ("svm_clf",SVC(kernel="rbf",gamma=5,C=0.001))
    ])
poly_kernel_svm_clf.fit(X,y)
        支持向量回归模型:
from sklearn.svm import SVR
svm_poly_reg=SVR(kernel="poly",degree=2,C=100,epsilon=0.1)
svm_poly_reg.fit(X,y)
       

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-9-19 19:13:07 | 显示全部楼层
题主优秀!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 09:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表