scikit-learn是python的第三方机器学习库,里面集成了大量机器学习的常用方法。例如:贝叶斯,svm,knn等。

scikit-learn的官网 : http://scikit-learn.org/stable/index.html点击打开链接

SVR是支持向量回归(support vector regression)的英文缩写,是支持向量机(SVM)的重要的应用分支。

scikit-learn中提供了基于libsvm的SVR解决方案。

PS:libsvm是台湾大学林智仁教授等开发设计的一个简单、易于使用和快速有效的SVM模式识别与回归的软件包。

我们自己随机产生一些值,然后使用sin函数进行映射,使用SVR对数据进行拟合

from __future__ import division

import time

import numpy as np

from sklearn.svm import SVR

from sklearn.model_selection import GridSearchCV

from sklearn.model_selection import learning_curve

import matplotlib.pyplot as plt

rng = np.random.RandomState(0)

#############################################################################

# 生成随机数据

X = 5 * rng.rand(10000, 1)

y = np.sin(X).ravel()

# 在标签中对每50个结果标签添加噪声

y[::50] += 2 * (0.5 - rng.rand(int(X.shape[0]/50)))

X_plot = np.linspace(0, 5, 100000)[:, None]

#############################################################################

# 训练SVR模型

#训练规模

train_size = 100

#初始化SVR

svr = GridSearchCV(SVR(kernel='rbf', gamma=0.1), cv=5,

param_grid={"C": [1e0, 1e1, 1e2, 1e3],

"gamma": np.logspace(-2, 2, 5)})

#记录训练时间

t0 = time.time()

#训练

svr.fit(X[:train_size], y[:train_size])

svr_fit = time.time() - t0

t0 = time.time()

#测试

y_svr = svr.predict(X_plot)

svr_predict = time.time() - t0

然后我们对结果进行可视化处理

#############################################################################

# 对结果进行显示

plt.scatter(X[:100], y[:100], c='k', label='data', zorder=1)

plt.hold('on')

plt.plot(X_plot, y_svr, c='r',

label='SVR (fit: %.3fs, predict: %.3fs)' % (svr_fit, svr_predict))

plt.xlabel('data')

plt.ylabel('target')

plt.title('SVR versus Kernel Ridge')

plt.legend()

plt.figure()

##############################################################################

# 对训练和测试的过程耗时进行可视化

X = 5 * rng.rand(1000000, 1)

y = np.sin(X).ravel()

y[::50] += 2 * (0.5 - rng.rand(int(X.shape[0]/50)))

sizes = np.logspace(1, 4, 7)

for name, estimator in {

"SVR": SVR(kernel='rbf', C=1e1, gamma=10)}.items():

train_time = []

test_time = []

for train_test_size in sizes:

t0 = time.time()

estimator.fit(X[:int(train_test_size)], y[:int(train_test_size)])

train_time.append(time.time() - t0)

t0 = time.time()

estimator.predict(X_plot[:1000])

test_time.append(time.time() - t0)

plt.plot(sizes, train_time, 'o-', color="b" if name == "SVR" else "g",

label="%s (train)" % name)

plt.plot(sizes, test_time, 'o--', color="r" if name == "SVR" else "g",

label="%s (test)" % name)

plt.xscale("log")

plt.yscale("log")

plt.xlabel("Train size")

plt.ylabel("Time (seconds)")

plt.title('Execution Time')

plt.legend(loc="best")

################################################################################

# 对学习过程进行可视化

plt.figure()

svr = SVR(kernel='rbf', C=1e1, gamma=0.1)

train_sizes, train_scores_svr, test_scores_svr = \

learning_curve(svr, X[:100], y[:100], train_sizes=np.linspace(0.1, 1, 10),

scoring="neg_mean_squared_error", cv=10)

plt.plot(train_sizes, -test_scores_svr.mean(1), 'o-', color="r",

label="SVR")

plt.xlabel("Train size")

plt.ylabel("Mean Squared Error")

plt.title('Learning curves')

plt.legend(loc="best")

plt.show()

看见了熟悉的LOSS下降图,我仿佛又回到了学生时代。。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

python svr回归_python机器学习库scikit-learn:SVR的基本应用相关推荐

  1. python sklearn 支持向量机_python机器学习库sklearn之支持向量机svm介绍

    python机器学习库sklearn之支持向量机svm介绍tcB太阳2平台注册|网站分类目录 python数据挖掘系列教程tcB太阳2平台注册|网站分类目录 这里只讲述sklearn中如何使用svm算 ...

  2. python机器学习库_Python机器学习库 Top 10,你值得拥有!

    随着人工智能技术的发展与普及,Python超越了许多其他编程语言,成为了机器学习领域中最热门最常用的编程语言之一.有许多原因致使Python在众多开发者中如此受追捧,其中之一便是其拥有大量的与机器学习 ...

  3. 机器学习与Scikit Learn学习库

    摘要: 本文介绍机器学习相关的学习库Scikit Learn,包含其安装及具体识别手写体数字案例,适合机器学习初学者入门Scikit Learn. 在我科研的时候,机器学习(ML)是计算机科学领域中最 ...

  4. 【可解释性机器学习】详解Python的可解释机器学习库:SHAP

    详解Python的可解释机器学习库:SHAP SHAP介绍 SHAP的用途 SHAP的工作原理 解释器Explainer 局部可解释性Local Interper 单个prediction的解释 多个 ...

  5. 机器学习 python 库_Python机器学习库

    机器学习 python 库 什么是机器学习? (What is Machine Learning?) As the web is immensely growing with each day, an ...

  6. python中的sklearn.svm.svr_python机器学习库scikit-learn:SVR的基本应用

    scikit-learn是python的第三方机器学习库,里面集成了大量机器学习的常用方法.例如:贝叶斯,svm,knn等. scikit-learn的官网 : http://scikit-learn ...

  7. python svr回归_机器学习入门之机器学习之路:python支持向量机回归SVR 预测波士顿地区房价...

    本文主要向大家介绍了机器学习入门之机器学习之路:python支持向量机回归SVR  预测波士顿地区房价,通过具体的内容向大家展现,希望对大家学习机器学习入门有所帮助. 支持向量机的两种核函数模型进行预 ...

  8. python datasets 下载_Python机器学习·微教程

    Python目前是机器学习领域增长最快速的编程语言之一. 该教程共分为11小节.在这个教程里,你将学会: 如何处理数据集,并构建精确的预测模型 使用Python完成真实的机器学习项目 这是一个非常简洁 ...

  9. python价格预测模型_Python 机器学习教程: 预测Airbnb 价格(2)

    Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 创建一个多变量KNN模型 我们可以对前面的函数进行扩展,来使用两个特性和整个数据集.代替distance. ...

最新文章

  1. record-09 ATM 过程思想 综合练习
  2. 抽象工厂与工厂模式例子
  3. 设计模式入门,适配器模式,c++代码实现
  4. css(面试第2天)用css绘制三角形
  5. 开源大数据周刊-第44期
  6. Linux下Nginx编译安装过程详解
  7. sublime-text-2相关快捷键
  8. 【转】回调函数,函数指针与函数对象
  9. 如何赋予自主系统具备持续学习的能力?
  10. 【C语言】单词个数统计(库函数第一次运用)
  11. jquery按键事件_jQuery按键事件
  12. bounce buffer
  13. STM32固件库下载教程
  14. 用贪心算法求解最小生成树
  15. JAVASCRIPT实现基于文本的自动智能聊天机器人
  16. 韩商言房子卖价有多高,做现女友就有多难?
  17. APP在各大应用商店上架要求汇总
  18. AMD Software Adrenalin Edition 23.5.1驱动发布,快速获取驱动
  19. fuchsia中virtio 后端实现
  20. 计算机无法识别出硬件,电脑检测不到网卡硬件信息怎么办

热门文章

  1. 我们要有危机感 利他方能利己
  2. java mediator_关于Java 设计模式 中介者模式 Mediator
  3. 另辟蹊径,阿里从业务切入移动安全
  4. 高德地图规划路线,并显示该路线的坐标
  5. Android _ MVVM 设计模式的一种实现方式,最新BAT大厂面试者整理的Android面试题目
  6. 视频云的核心价值在哪?
  7. 新能源汽车充电桩装在什么地方能够有收益
  8. gpu算力测试软件,模块充分优化DFT测试资源算力GPU的10倍
  9. 【大话设计模式】依赖倒转原则
  10. 在某次比赛中有10个评委给选手打分,选手的得分是各评委的平均分(其中按要求去掉一个最高分、去掉一个最低分)