当前位置: 首页 > news >正文

河西苏州网站建设问答类网站开发

河西苏州网站建设,问答类网站开发,网站 毕业设计代做,做冷库的网站1、支持向量回归(SVR)原理 支持向量回归(Support Vector Regression,SVR)不仅可以用于预测,还可以用于异常值检测。其基本思路是训练一个回归模型,通过对每个数据点进行预测,并计算…

1、支持向量回归(SVR)原理

支持向量回归(Support Vector Regression,SVR)不仅可以用于预测,还可以用于异常值检测。其基本思路是训练一个回归模型,通过对每个数据点进行预测,并计算其预测残差,来判断该数据点是否为异常值。

在SVR中,我们通过最大化预测出错的容忍度(margin)来寻找最优解。具体地,我们希望找到一个超平面,使得所有数据点到该超平面的距离都大于等于一定的阈值(margin)。对于线性回归模型,该超平面为:

w^T * x + b = 0

其中,w是超平面法向量,b是偏置项,x是输入数据。对于一个输入数据x_i,其距离超平面的距离为:

y_pred_i - y_i = (w^T * x_i + b) - y_i

其中,y_pred_i是该数据点的预测值,y_i是该数据点的真实值。我们定义预测残差为绝对值:

r_i = abs(y_pred_i - y_i)

那么,如果某个数据点的预测残差(r_i)大于某个阈值,则被视为异常值,否则视为正常值。

在实际操作中,我们需要指定SVR的一些超参数,例如核函数类型、核函数参数、惩罚系数等。这些超参数对于SVR的性能有很大的影响,需要根据具体问题进行调整。

2、关键函数svr.fit函数参数

sklearn.svm.SVRfit函数常用参数如下:

  • X: 训练数据X,必选参数,形状为(n_samples, n_features)。
  • y: 目标值y,必选参数,形状为(n_samples,)。
  • sample_weight: 样本权重,可选参数,形状为(n_samples,),默认每个样本的权重相等。
  • C: 惩罚系数,可选参数,默认为1.0,一般取值为(0, +∞)之间的数。C越小,模型越简单;C越大,模型越复杂。调整C的值可以防止过拟合或欠拟合的问题。
  • kernel: 核函数,可选参数,默认为’rbf’,表示高斯核函数。常用的核函数还有’linear’线性核函数、'poly’多项式核函数、‘sigmoid’ Sigmoid核函数。核函数的选择决定了模型的复杂度和拟合能力。
  • degree: 多项式核函数的次数,可选参数,默认为3。
  • gamma: 核函数系数,可选参数,默认为’scale’,表示使用1 / (n_features * X.var())作为gamma值。也可以设置为’auto’或一个数值。
  • coef0: 核函数的截距,可选参数,默认为0。
  • epsilon: SVR中的ε,可选参数,默认为0.1。控制了对误差的容忍度。如果预测值与真实值的差小于ε,该点就被视为预测正确。
  • shrinking: 是否使用启发式(Hearst)方法来加速计算,可选参数,默认为True。建议保持默认值。
  • tol: 迭代终止条件,可选参数,默认为1e-3。如果模型收敛后两次迭代的损失函数之差小于该值,则终止训练。
  • max_iter: 最大迭代次数,可选参数,默认为-1,表示没有限制。如果收敛前达到该值,则提前终止训练。
  • cache_size: 核函数缓存大小,可选参数,默认为200MB。

需要根据具体的情况,调整SVR的超参数以获得更好的性能和效果。

3、完整代码

import pandas as pd
from sklearn.svm import SVR# 加载数据
data = pd.read_csv('data.csv')# 训练SVR模型
X = data.index.values.reshape(-1, 1)
y = data['value'].values.reshape(-1, 1)
svr = SVR(kernel='rbf', gamma='scale', C=1.0, epsilon=0.1)
svr.fit(X, y)# 计算每个数据点的预测偏差
y_pred = svr.predict(X)
residuals = abs(y - y_pred)# 计算偏差的标准差
std_dev = residuals.std()# 计算阈值
threshold = 3 * std_dev# 找到异常值
mask = (residuals <= threshold).flatten()
clean_data = data.loc[mask]# 输出结果
print(clean_data)

测试报错:
Reshape your data either using array.reshape(-1, 1) 。
dataframe数据需要转换为array。
经测试:

X = df['X'].values.reshape(-1, 1)
y = np.array(df['y'])

测试结果:
在这里插入图片描述

http://www.15wanjia.com/news/168514.html

相关文章:

  • 推荐10网站无棣县建设局网站
  • 企业网站 开源vi设计百科
  • 购买源码的网站网页设计后怎么上传到网站
  • 济南网站建设选搜点网络VIPseo搜索引擎优化工资多少钱
  • 深圳网站建设费用大概免费摄影网站推荐
  • 网站开发方法有哪些网络架构的基本特征是什么
  • 如何个网站做二维码广告公司管理制度
  • 互联网网站建设咨询世界互联网峰会2022
  • 东莞网站制作公司联系方式国外网络推广公司
  • 网站设计与建设实践网页基础知识
  • 05网站emlog和wordpress
  • wordpress博客分享到朋友圈长春网站建设SEO优化营销
  • 网站建设实训 考核要求大连开发区网页制作
  • 知名的饰品行业网站开发更换网站需要备案吗
  • 排版漂亮的网站长沙麓谷网站建设
  • 电子商务就是建网站广告店名字怎么取好
  • 网站地图写法郑州网络运营平台有哪些
  • 营销网站建设优化wordpress手机端插件
  • 自动做网站的ai用织梦网站后台发布文章为什么还需要审核
  • 在百度备案网站上海有哪些做网站
  • 阜宁县建设局网站wordpress中文博客模板
  • 做网站顾客提现金额后台对网站建设安全性的要求
  • 更换网站备案义乌城市投资建设集团网站
  • 在线做的网站设计深圳
  • 网站关键字优化销售多姿wordpress
  • 自己的电脑做网站云存储莱芜雪野湖风景区门票多少钱
  • 深圳做app网站的公司哪家好搜网站关键词
  • 焦作网站建设哪家正规移动电商网站建设
  • 做贸易的都有什么网站医疗器械网站备案前置审批事例
  • 上海网站建设团队杨浦有哪些网站用vue做的