Orange学习3-Evaluate模块简介-3-创新互联

目录

目前创新互联公司已为数千家的企业提供了网站建设、域名、网站空间、网站托管维护、企业网站设计、富民网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

Test and Score模块对回归(regression)问题的评价

1. 分类问题与回归问题简介

2. 创建案例,也就是一个workflow

3. Test and Score模块对回归(regression)问题的评价

4. 对结果进行分析


Test and Score模块对回归(regression)问题的评价 1. 分类问题与回归问题简介

机器学习的应用场景可分为classification(分类)、regression(回归)以及Clustering(聚类)。其中,分类和回归为监督学习,聚类为无监督学习。目前咱们以监督学习为主。那么分类问题和回归问题分别适用于哪些场景呢?

分类问题是用于将事物打上一个标签,通常结果为离散值。例如前面的case中的鸢尾花数据集,那个数据集就是根据鸢尾花的不同特征,判断在该特征属性下,这朵花属于哪一类的鸢尾花。

回归问题通常是用来预测一个值,如预测房价、未来的天气情况等等,例如一个产品的实际价格为500元,通过回归分析预测值为499元,我们认为这是一个比较好的回归分析。回归是对真实值的一种逼近预测。

在Orange的【Test and Score】模块中,分类和回归的评价标准不同

前面一篇博客中(Orange 学习3 - Evaluate模块简介-1_每天都要丰富自己的博客-博客),已经进行了【Test and Score】模块在分类问题中的评价标准的介绍

本章进行【Test and Score】模块在回归问题中的评价标准的介绍

2. 创建案例,也就是一个workflow

使用的案例为自带的housing数据集,也就是波士顿房价数据集。每条数据包含以下13个特征以及一个Target(MEDV (业主自住房屋中值))。最终评价预测的值与实际的MEDV的差距

  • CRIM(每个城镇人均犯罪率): per capita crime rate by town
  • ZN(超过25000平方英尺用地划为居住用地的百分比): proportion of residential land zoned for lots over 25,000 sq.ft.
  • INDUS(非零售商用地百分比): proportion of non-retail business acres per town
  • CHAS(是否靠近查尔斯河): Charles River dummy variable (= 1 if tract bounds river; 0 otherwise)
  • NOX(氮氧化物浓度): nitric oxides concentration (parts per 10 million)
  • RM(住宅平均房间数目): average number of rooms per dwelling
  • AGE(1940年前建成自用单位比例): proportion of owner-occupied units built prior to 1940 
  • DIS(到5个波士顿就业服务中心的加权距离): weighted distances to five Boston employment centres 
  • RAD(无障碍径向高速公路指数): index of accessibility to radial highways
  • TAX(每万元物业税率): full-value property-tax rate per $10,000
  • PTRATIO(小学师生比例): pupil-teacher ratio by town
  • B(黑人比例指数): 1000(Bk - 0.63)^2 where Bk is the proportion of blacks by town
  • LSTAT(下层经济阶层比例): % lower status of the population
  • MEDV (业主自住房屋中值): Median value of owner-occupied homes in $1000's

创建如下图所示workflow,选用Tree(决策树)、Random Forest(随机森林)以及 Linear Regression(线性回归)三个学习器,使用【Test and Score】进行评价

3. Test and Score模块对回归(regression)问题的评价

双击【Test and Score】模块,如下图所示,左侧是采样方法,已在上一篇博客进行了介绍(Orange 学习3 - Evaluate模块简介-1_每天都要丰富自己的博客-博客),与分类问题相比,它们的评价指标不同

MSE,Mean Squared Error, 均方误差 measures the average of the squares of the errors or deviations (the difference between the estimator and what is estimated)

MSE=\frac{1}{m}\sum_{i=1}^{m}(y_{test}^{i}-\hat{y}_{test}^{i})^2

其中,m是样本数量,y_{test}^{i}是实际的预测值(在验证的时候,需要分为训练集和测试集,这就是真实的测试集,也就是通过训练集计算出来模型,测试集来评估准确性),\hat{y}_{test}^{i}计算出来的预测值

RMSE,Root Mean Squared Error,均方根误差 is the square root of the arithmetic mean of the squares of a set of numbers (a measure of imperfection of the fit of the estimator to the data) 

MSE 公式在使用的过程中存在会改变量纲的问题。因为公式平方了,比如说 y 值的单位是万元,MSE 计算出来的是万元的平方,对于这个值难以解释它的含义。所以为了消除量纲的影响,我们可以对这个MSE 开方,得到的结果就第二个评价指标,也就是RMSE

RMSE=\sqrt{\frac{1}{m}\sum_{i=1}^{m}(y_{test}^{i}-\hat{y}_{test}^{i})^2}

MSE 和 RMSE 二者是呈正相关的,MSE 值大,RMSE 值也大

MAE,Mean Absolute Error,平均绝对误差,is used to measure how close forecasts or predictions are to eventual outcomes.

上面公式为了避免误差出现正负抵消的情况,采用计算差值的平方。还有一种公式也可以起到同样效果,就是计算差值的绝对值。

MAE=\frac{1}{m}\sum_{i=1}^{m}|y_{test}^{i}-\hat{y}_{test}^{i}|

上面三个模型解决了样本数量 m 和 量纲的影响。但是它们都存在一个相同的问题:当量纲不同时,难以衡量模型效果好坏。举个例子,模型在一份房价数据集上预测得到的误差 RMSE 是 5 万元, 在另一份学生成绩数据集上得到误差是 10 分。凭这两个值,很难知道模型到底在哪个数据集上效果好。

R2,R2_score,R方值,is interpreted as the proportion of the variance in the dependent variable that is predictable from the independent variable

既然不同数据集的量纲不同,很难通过上面的三种方式去比较,那么不妨找一个第三者作为参照,根据参照计算 R方值,就可以比较模型的好坏了。

R^{2}=1-\frac{\sum(\hat{y}_{test}^{i}-y_{test}^{i})^2 }{\sum(\bar{y}-y_{test}^{i})^2 }

R2_score越接近于1越好。

当R2_score =  1时,达到大值。即分子为 0 ,意味着样本中预测值和真实值完全相等,没有任何误差。也就是说我们建立的模型完美拟合了所有真实数据,是效果最好的模型,R2_score 值也达到了大。但通常模型不会这么完美,总会有误差存在,当误差很小的时候,分子小于分母,模型会趋近 1,仍然是好的模型,随着误差越来越大,R2_score 也会离大值 1 越来越远,直到出现第 2 中情况。

R2_score =  0。此时分子等于分母,样本的每项预测值都等于均值。也就是说我们辛苦训练出来的模型和前面说的均值模型完全一样,还不如不训练,直接让模型的预测值全去均值。当误差越来越大的时候就出现了第三种情况。

R2_score< 0 :分子大于分母,训练模型产生的误差比使用均值产生的还要大,也就是训练模型反而不如直接去均值效果好。出现这种情况,通常是模型本身不是线性关系的,而我们误使用了线性模型,导致误差很大。

参考了(【从零开始学机器学习12】MSE、RMSE、R2_score_wade1203的博客-博客)

4. 对结果进行分析

MSE、RMSE以及MAE的值越小越好,

R2值越接近于1越好

根据MSE、RMSE以及MAE的值可以看出,Random Forest的效果好于Tree,Tree好于Linear Regression。根据R2值也得到了同样的结论

双击【Scatter Plot】

Axis x:MEDV为实际的值

Axis y:为所对应的学习器预测的值,上图显示的是Random Forest的值

可以更改左侧的设置,进行不同的显示

在【Linear Regression】后方加入一个【Data Table】,将Coefficients传入到【Data Table】中

(注意的是,其他两个模型不会给出一个很拟合式)

双击【data Table】,不同的特征所对应的参数,intercept是截距,那么公式如下:

MEDV=36.2452-0.10786CRIM+0.0464625+0.01928INDUS.......

可拉入一个【Tree Viewer】模块,查看Tree的分支

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网站名称:Orange学习3-Evaluate模块简介-3-创新互联
本文地址:http://hbruida.cn/article/ddddsd.html