python svr回归_python机器学习库scikit-learn:SVR的基本应用
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的基本应用相关推荐
- python sklearn 支持向量机_python机器学习库sklearn之支持向量机svm介绍
python机器学习库sklearn之支持向量机svm介绍tcB太阳2平台注册|网站分类目录 python数据挖掘系列教程tcB太阳2平台注册|网站分类目录 这里只讲述sklearn中如何使用svm算 ...
- python机器学习库_Python机器学习库 Top 10,你值得拥有!
随着人工智能技术的发展与普及,Python超越了许多其他编程语言,成为了机器学习领域中最热门最常用的编程语言之一.有许多原因致使Python在众多开发者中如此受追捧,其中之一便是其拥有大量的与机器学习 ...
- 机器学习与Scikit Learn学习库
摘要: 本文介绍机器学习相关的学习库Scikit Learn,包含其安装及具体识别手写体数字案例,适合机器学习初学者入门Scikit Learn. 在我科研的时候,机器学习(ML)是计算机科学领域中最 ...
- 【可解释性机器学习】详解Python的可解释机器学习库:SHAP
详解Python的可解释机器学习库:SHAP SHAP介绍 SHAP的用途 SHAP的工作原理 解释器Explainer 局部可解释性Local Interper 单个prediction的解释 多个 ...
- 机器学习 python 库_Python机器学习库
机器学习 python 库 什么是机器学习? (What is Machine Learning?) As the web is immensely growing with each day, an ...
- python中的sklearn.svm.svr_python机器学习库scikit-learn:SVR的基本应用
scikit-learn是python的第三方机器学习库,里面集成了大量机器学习的常用方法.例如:贝叶斯,svm,knn等. scikit-learn的官网 : http://scikit-learn ...
- python svr回归_机器学习入门之机器学习之路:python支持向量机回归SVR 预测波士顿地区房价...
本文主要向大家介绍了机器学习入门之机器学习之路:python支持向量机回归SVR 预测波士顿地区房价,通过具体的内容向大家展现,希望对大家学习机器学习入门有所帮助. 支持向量机的两种核函数模型进行预 ...
- python datasets 下载_Python机器学习·微教程
Python目前是机器学习领域增长最快速的编程语言之一. 该教程共分为11小节.在这个教程里,你将学会: 如何处理数据集,并构建精确的预测模型 使用Python完成真实的机器学习项目 这是一个非常简洁 ...
- python价格预测模型_Python 机器学习教程: 预测Airbnb 价格(2)
Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 创建一个多变量KNN模型 我们可以对前面的函数进行扩展,来使用两个特性和整个数据集.代替distance. ...
最新文章
- record-09 ATM 过程思想 综合练习
- 抽象工厂与工厂模式例子
- 设计模式入门,适配器模式,c++代码实现
- css(面试第2天)用css绘制三角形
- 开源大数据周刊-第44期
- Linux下Nginx编译安装过程详解
- sublime-text-2相关快捷键
- 【转】回调函数,函数指针与函数对象
- 如何赋予自主系统具备持续学习的能力?
- 【C语言】单词个数统计(库函数第一次运用)
- jquery按键事件_jQuery按键事件
- bounce buffer
- STM32固件库下载教程
- 用贪心算法求解最小生成树
- JAVASCRIPT实现基于文本的自动智能聊天机器人
- 韩商言房子卖价有多高,做现女友就有多难?
- APP在各大应用商店上架要求汇总
- AMD Software Adrenalin Edition 23.5.1驱动发布,快速获取驱动
- fuchsia中virtio 后端实现
- 计算机无法识别出硬件,电脑检测不到网卡硬件信息怎么办