一、目的和要求

1、理解监督学习和回归预测的基本概念。

2、掌握回归预测五种算法的算法流程。

3、学会编写回归预测五种算法的Python编程方法。

4、会使用回归预测评价方法测评不同的算法性能

二、设备或环境

个人电脑、Anaconda2、Python2.7.10和网络

实验步骤  

1、设计算法步骤和流程

2、根据算法编写Python程序

3、运行机器学习算法程序并调试

内容

针对美国波士顿地区房价数据预测问题,设计不同的回归模型进行预测。

(一):线性回归器

1、写出本例中所用数据的数据描述

该数据共有506条美国波士顿地区房价的数据,每条数据包括对指定房屋的13项数值型特征描述和目标房价。

2、运行Chapter_2.1.2 粘贴线性回归器相关的实验结果,并分别对每一个结果做出解释

数据描述

数据分割:

数据标准化处理:

使用线性回归模型进行房价预测:

使用回归评价机制对模型的回归性能做出评价:

3、在代码中添加查看数据规模和特征维度的语句,粘贴结果。

数据规模506 特征维度13

4、在代码中添加语句用于查看原始数据,粘贴结果。

5 、对训练集和测试集的目标值标准化之后,添加代码查看标准化之后的y_train和y_test,对比数据标准化之后数据有什么变化?

标准化之前:

标准化之后:

数据标准化后将原来的数据进行重新调整,使他们具有标准正态分布的属性

(二):支持向量机

1运行Chapter_2.1.2 粘贴支持向量机相关的实验结果、并分别对每一个结果做出解释

2 说明支持向量机中核函数的作用

答:可以通过配置不同的核函数来改变模型性能,通过某种函数计算,将原有的特征映射到更高维度的空间,从而尽可能达到新的高维度特征线性可分的程度。

3说明本例中使用的三种核函数(linear’, ‘poly’, ‘rbf’),分析这三种核函数对结果的准确率的影响。

答:liner是最准确的

linear:线性核函数,是在数据线性可分的情况下使用的,运算速度快,效果好。不足在于它不能处理线性不可分的数据。

poly:多项式核函数,多项式核函数可以将数据从低维空间映射到高维空间,但参数比较多,计算量大。

rbf:高斯核函数(默认),高斯核函数同样可以将样本映射到高维空间,但相比于多项式核函数来说所需的参数比较少,通常性能不错,所以是默认使用的核函数。

(三):K近邻回归

1运行Chapter_2.1.2 粘贴K近邻回归相关的实验结果、并分别对每一个结果做出解释

2 说明KNeighborsRegressor函数的作用和各参数的含义

作用:用于实现k近邻算法的分类器

n_neighbors:默认情况下kneighbors查询使用的邻居数。就是k的值,选取最近的k个点。

Weights:默认是uniform,参数可以是uniform、distance,也可以是用户自己定义的函数。uniform是均等的权重,就说所有的邻近点的权重都是相等的。distance是不均等的权重,距离近的点比距离远的点的影响大。用户自定义的函数,接收距离的数组,返回一组维数相同的权重。

3在程序中修改KNeighborsRegressor函数的两个参数,观察和记录模型的R_squred、MSE、MAE的变化,找到最优的参数并记录。

(四):回归树与集成模型

1运行Chapter_2.1.2 粘贴回归树和三种集成模型相关的实验结果、并分别对每一个结果做出解释

回归树:

集成回归:

2 通过分析Chapter_2.1.2所有算法的性能指标,说明不同算法对波士顿房价预测的性能差异。

答:使用非线性回归树模型,特别是集成模型,能够取得更高的性能表现

五、实验结果与分析

六、调试和运行程序过程中产生的问题及采取的措施  

七、思考题

1、简述sklearn库中计算R_squared的两种函数方法及其使用。

答:使用LinearRegression模型自带的评估模块,使用SGDRegressor模型自带的评估模块

2、简述sklearn库中class sklearn.svm.SVR()的含义,并说明其核函数的种类和使用方法。

答:SVR非线性回归,linear:线性核函数,是在数据线性可分的情况下使用的,运算速度快,效果好。不足在于它不能处理线性不可分的数据。

poly:多项式核函数,多项式核函数可以将数据从低维空间映射到高维空间,但参数比较多,计算量大。

rbf:高斯核函数(默认),高斯核函数同样可以将样本映射到高维空间,但相比于多项式核函数来说所需的参数比较少,通常性能不错,所以是默认使用的核函数。

使用kernel调用和函数,kernel: str参数 默认为‘rbf’
算法中采用的核函数类型,可选参数有:
‘linear’:线性核函数
‘poly’:多项式核函数
‘rbf’:径像核函数/高斯核
‘sigmod’:sigmod核函数
‘precomputed’:核矩阵
precomputed表示自己提前计算好核函数矩阵,这时候算法内部就不再用核函数去计算核矩阵,而是直接用你给的核矩阵。

机器学习实验——回归预测算法相关推荐

  1. [Python从零到壹] 十四.机器学习之分类算法五万字总结全网首发(决策树、KNN、SVM、分类对比实验)

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

  2. Python机器学习实验二:1.编写代码,实现对iris数据集的KNN算法分类及预测

    Python机器学习实验二:编写代码,实现对iris数据集的KNN算法分类及预测 1.编写代码,实现对iris数据集的KNN算法分类及预测,要求: (1)数据集划分为测试集占20%: (2)n_nei ...

  3. 机器学习实验:朴素贝叶斯算法

    机器学习实验:朴素贝叶斯算法 问题如下: 根据给出的算法naivebayes.py,实现: 1.将数据集文件naivebayes_data.csv中的数据替换成14天打球与天气数据: 2.预测样本{O ...

  4. 机器学习实验:使用3种朴素贝叶斯算法对iris()、breast_cancer()和wine()数据集进行训练

    机器学习实验:使用3种朴素贝叶斯算法对iris().breast_cancer()和wine()数据集进行训练 实验内容: 分别使用3种朴素贝叶斯算法对iris().breast_cancer()和w ...

  5. 【机器学习】机器学习的经典算法

    [机器学习]机器学习的经典算法 https://www.cnblogs.com/DicksonJYL/p/9517025.html 本文为整篇文章第二部分,整篇文章主要目录如下: 1:一个故事说明什么 ...

  6. 机器学习实验一线性回归

    机器学习实验一线性回归 实验题目 1 . 一元线性回归 题目: 应用一元线性回归预测移动餐车的利润.假设你是一家餐饮连锁店的CEO, 考虑在不同的城市开辟新店.该餐饮店已在许多城市拥有移动餐车,现有各 ...

  7. 强化学习ppt_机器学习原理、算法与应用配套PPT第四部分(深度学习概论、自动编码器、强化学习、聚类算法、半监督学习等)...

    本文是SIGAI公众号文章作者雷明编写的<机器学习>课程新版PPT第四部分,包含了课程内容的深度学习概论,自动编码器,受限玻尔兹曼机,聚类算法1,聚类算法2,聚类算法3,半监督学习,强化学 ...

  8. python 预测算法_通过机器学习的线性回归算法预测股票走势(用Python实现)

    本文转自博客园,作者为hsm_computer 原文链接:https://www.cnblogs.com/JavaArchitect/p/11717998.html在笔者的新书里,将通过股票案例讲述P ...

  9. [Python人工智能] 十.Tensorflow+Opencv实现CNN自定义图像分类案例及与机器学习KNN图像分类算法对比

    从本专栏开始,作者正式开始研究Python深度学习.神经网络及人工智能相关知识.前一篇详细讲解了gensim词向量Word2Vec安装.基础用法,并实现<庆余年>中文短文本相似度计算及多个 ...

  10. 机器学习在ABR算法中的应用纵览

    本文整理自LiveVideoStack线上分享第三季,第五期,由清华大学计算机系网络技术研究所博士生王莫为为大家介绍近些年ABR算法的发展,探讨基于机器学习的ABR算法的优劣势,并结合AiTrans比 ...

最新文章

  1. 对于大规模机器学习的理解和认识
  2. 图像几何变换(geometric transformation)
  3. 【转】context和getApplicationContext()介绍
  4. SQL Server 中 EXEC 与 SP_EXECUTESQL 的区别 及动态查询中的标识符函数QUOTENAME
  5. Day4--MATLAB简介
  6. 【BST】Treap
  7. YOLOX安装及训练
  8. Eclipse 2020-06 汉化包安装步骤(附汉化包+安装教程)(转载)
  9. zigbee协议与开发-ZStack中之协调器数据包解析
  10. 数据化解析国内风险投资现状
  11. 什么是RabbitMQ RabbitMQ详解
  12. jQuery实现导航栏的样式切换
  13. 修改Notepad++不同文件格式不同图标
  14. 机器学习之掌纹识别(掌纹分类)
  15. 向左转移测试需要团队的努力
  16. 特高压输电线路在线监测系统方案-A40i 核心板 应用解析-飞凌嵌入式
  17. vivo+x21+android版本,vivo X21参数_vivo X21配置怎么样-太平洋IT百科
  18. 点击按钮测试用例标题_输入框测试用例的思考点
  19. UltraEdit发布了Linux版-UEX
  20. 刀片服务器与机架式服务器的选择

热门文章

  1. db4o数据库文件_繁忙的Java开发人员指南db4o,使用db4o进行数据库重构
  2. c语言扔球第一次弹10米,c语言滚动字幕代码
  3. 【科普】有趣“小学”数学题,做出一道即可成名(持续补充)
  4. GBK 汉字内码扩展规范编码表
  5. 如何制作个人网站(如何搭建个人博客)
  6. javascript常用正则
  7. uni-app 商城源码
  8. tomcat内存溢出,性能优化配置讲解
  9. iOS 蓝牙开发之NFC读写
  10. android 播放直播流,安卓大部分浏览器播放HLS协议直播流会从头开始