【笔记】SVM思想解决回归问题
使用svm思想解决回归问题
使用svm思想解决是如何解决回归问题,其中回归问题的本质就是找一条线,能够最好的拟合数据点
怎么定义拟合就是回归算法的关键,线性回归算法就是让预测的直线的MSE的值最小,对于SVM来说,拟合的定义是指定一个margin值,在这个margin范围里面,包含的数据点越多越好,包含的越多就代表这个范围能比较好的表达样本数据点,这种情况下取中间的直线作为真正的回归结果,用其来预测其他点的相应的值
在训练的时候是要对margin的范围进行一个指定,这就要引入一个新的超参数,即上下两根直线到中间的直线的垂直距离
这个思路和前面SVM解决分类问题的思路是有点相反的意思,前面是越少越好,这里是越多越好
具体操作实现
(在notebook中)
加载好必要的包,使用波士顿房价数据集,进行分割数据集的操作,随机种子为666,
import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
boston = datasets.load_boston()
X = boston.data
y = boston.target
from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test = train_test_split(X,y,random_state=666)
sklearn中使用SVR和LinearSVR,这两个都是解决回归问题的类,构造的时候的参数设置与先前(链接)差距不大,使用LinearSVR要传入参数epsilon,然后调用函数实例化并fit操作,最后计算出测试数据集的准确度
from sklearn.pipeline import Pipeline
from sklearn.svm import SVR
from sklearn.preprocessing import StandardScaler
from sklearn.svm import LinearSVR
def StandardLinearSVR(epsilon=0.1):
return Pipeline([
("std_scaler",StandardScaler()),
("linearSVR",LinearSVR(epsilon=epsilon))
])
svr = StandardLinearSVR()
svr.fit(X_train,y_train)
svr.score(X_test,y_test)
结果如下(不能只能一次得到结果)
以上就是简单的对于SVM解决回归问题的操作
您能读到这儿,我呢是发自真心的感谢您,若要转载,还望请您带上链接
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!