平均绝对误差python_机器学习回归模型的常用评价指标(8):均方误差MSE、平均绝对误差MAE、平均绝对比例误差MAPE、相关系数R2,方差,相关性...
模型评价:回归模型的常用评价指标
1) 样本误差:衡量模型在一个样本上的预测准确性
样本误差 = 样本预测值 - 样本实际值
2) 最常用的评价指标:均误差方(MSE)
指标解释:所有样本的样本误差的平方的均值
指标解读:均误差方越接近0,模型越准确
3) 较为好解释的评价指标:平均绝对误差(MAE)
指标解释:所有样本的样本误差的绝对值的均值
指标解读:平均绝对误差的单位与因变量单位一致,越接近0,模型越准确
4)平均绝对误差的衍生指标:平均绝对比例误差(MAPE)
指标解释:所有样本的样本误差的绝对值占实际值的比值
指标解读:指标越接近与0,模型越准确
5)模型解释度:R squared R方 r2
指标解释:应变量的方差能被自变量解释的程度
指标解读:指标越接近1,则代表自变量对于应变量的解释度越高
使用sklearn查看回归模型的各项指标
1) 加载数据
import pandas as pd
import matplotlib.pyplot as plt
import os
os.chdir(r'C:\Users\86177\Desktop')
# 样例数据读取
df = pd.read_excel('realestate_sample_preprocessed.xlsx')
# 根据共线性矩阵,保留与房价相关性最高的日间人口,将夜间人口和20-39岁夜间人口进行比例处理
def age_percent(row):
if row['nightpop'] == 0:
return 0
else:
return row['night20-39']/row['nightpop']
df['per_a20_39'] = df.apply(age_percent,axis=1)
df = df.drop(columns=['nightpop','night20-39'])
# 数据集基本情况查看
print(df.shape)
print(df.dtypes)
print(df.isnull().sum())
–> 输出的结果为:(这里直接加载数据并对共线性数据进行处理)
(898, 9)
id int64
complete_year int64
average_price float64
area float64
daypop float64
sub_kde float64
bus_kde float64
kind_kde float64
per_a20_39 float64
dtype: object
id 0
complete_year 0
average_price 0
area 0
daypop 0
sub_kde 0
bus_kde 0
kind_kde 0
per_a20_39 0
dtype: int64
2) 划分数据集
x = df[['complete_year','area', 'daypop', 'sub_kde',
'bus_kde', 'kind_kde','per_a20_39']]
y = df['average_price']
print(x.shape)
print(y.shape)
–> 输出的结果为:(创建模型前需要将数据集划分好,查看数据维度)
(898, 7)
(898,)
3) 建立回归模型
之前提到的Pipeline模型工作流就可以直接使用了,将要执行的工作流程全部封装在Pipeline中,具体的有:
数据标准化
StandardScaler()
,
数据纠偏
PowerTransformer()
,
变量拓展
PolynomialFeatures(degree=3)
,样本值为1000,特征有7个,这里选择
degree=3
,
线性回归中选择了
lasso
回归,里面的
LassoCV(alphas=(list(np.arange(8, 10) * 10)
,可以实现自动训练出最优的
alpha
值带入模型中
import numpy as np
from sklearn.linear_model import LinearRegression, LassoCV
from sklearn.model_selection import KFold
from sklearn.preprocessing import StandardScaler, PowerTransformer
from sklearn.preprocessing import PolynomialFeatures
from sklearn.pipeline import Pipeline
# 构建模型工作流
pipe_lm = Pipeline([
('sc',StandardScaler()),
('power_trans',PowerTransformer()),
('polynom_trans',PolynomialFeatures(degree=3)),
('lasso_regr', LassoCV(alphas=(
list(np.arange(8, 10) * 10)
),
cv=KFold(n_splits=3, shuffle=True),
n_jobs=-1))
])
print(pipe_lm)
–> 输出的结果为:
Pipeline(memory=None,
steps=[('sc',
StandardScaler(copy=True, with_mean=True, with_std=True)),
('power_trans',
PowerTransformer(copy=True, method='yeo-johnson',
standardize=True)),
('polynom_trans',
PolynomialFeatures(degree=3, include_bias=True,
interaction_only=False, order='C')),
('lasso_regr',
LassoCV(alphas=[80, 90], copy_X=True,
cv=KFold(n_splits=3, random_state=None, shuffle=True),
eps=0.001, fit_intercept=True, max_iter=1000,
n_alphas=100, n_jobs=-1, normalize=False,
positive=False, precompute='auto', random_state=None,
selection='cyclic', tol=0.0001, verbose=False))],
verbose=False)
4) 查看模型表现
import warnings
from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score
warnings.filterwarnings('ignore')
pipe_lm.fit(x,y)
y_predict = pipe_lm.predict(x)
print(f'mean squared error is: {mean_squared_error(y,y_predict)}')
print(f'mean absolute error is: {mean_absolute_error(y,y_predict)}')
print(f'R Squared is: {r2_score(y,y_predict)}')
# 计算MAPE
check = df[['average_price']]
check['y_predict'] = pipe_lm.predict(x)
check['abs_err'] = abs(check['y_predict']-check['average_price'] )
check['ape'] = check['abs_err']/check['average_price']
ape = check['ape'].mean()
print(f'mean absolute percent error is: {ape}')
–> 输出的结果为:(MAPE需要手动单独计算,没有模块可以使用)
mean squared error is: 27731808.3971612
mean absolute error is: 3764.8763555076
R Squared is: 0.671538868244777
mean absolute percent error is: 0.16143438261828635
最后可以看一下
check
数据
average_pricey_predictabs_errape
033464.00040132.9811806668.9811800.199288
138766.00034522.8543224243.1456780.109455
233852.00032718.5080301133.4919700.033484
339868.00039242.949615625.0503850.015678
442858.00039242.9496153615.0503850.084349
...............
89340113.00039559.520171553.4798290.013798
89441806.00048224.3538206418.3538200.153527
89551895.37537610.72715214284.6478480.275259
89634546.00044010.8965349464.8965340.273980
89733595.00032194.0551271400.9448730.041701
898 rows × 4 columns
平均绝对误差python_机器学习回归模型的常用评价指标(8):均方误差MSE、平均绝对误差MAE、平均绝对比例误差MAPE、相关系数R2,方差,相关性...相关推荐
- 模型评价 - 回归模型的常用评价指标
回归模型的常用评价指标 样本误差:衡量模型在一个样本上的预测准确性 样本误差 = 样本预测值 - 样本实际值 最常用的评价指标:均误差方(MSE) 指标解释:所有样本的样本误差的平方的均值 指标解读: ...
- 模型评估 | 机器学习回归模型评价(RMSE、MAE、MAPE)
模型评估 | 机器学习回归模型评价(RMSE.MAE.MAPE) RMSE.MAE.MAPE function result(true_value,predict_value,type) disp(t ...
- R语言caret包构建机器学习回归模型(regression model)、使用DALEX包进行模型解释分析、特征重要度、偏依赖分析等
R语言caret包构建机器学习回归模型(regression model).使用DALEX包进行模型解释分析.特征重要度.偏依赖分析等 目录
- 机器学习回归模型精度_机器学习模型实施精度召回和概率截止。
机器学习回归模型精度 Congratulations on completing your Machine Learning (ML) pipeline! In the second part of ...
- 【实战】——基于机器学习回归模型对广州二手房价格进行分析及模型评估
目录 1.数据导入 2.数据清洗 2.1.变量选取 2.2.空值处理 2.3.类型转化 2.4.数据再处理 3.机器学习sklearn的实现 3.1.训练集和测试集的拆分 3.2.数据的标准化 3.3 ...
- 模型评估 | 机器学习回归模型评价(RMSE、MAPE、R^2、NSE)
模型评估 | 机器学习回归模型评价(RMSE.MAPE.R^2.NSE) RMSE.MAPE.R^2.NSE % RMSE RMSE_test = sqrt(sumsqr(output_test - ...
- 模型评价 - 分类模型的常用评价指标
分类模型的常用评价指标 基本指标:误差率 指标解释:错分类样本占总样本的比例 基本指标:准确率 指标解释:正确分类样本占总样本的比例 指标解读:准确率越接近1,模型越准确 混淆矩阵 真实情况 预测:正 ...
- 机器学习---回归模型和分类模型的评价指标体系
回归模型评价体系 SSE(误差平方和): R-square(决定系数) Adjusted R-square: 分类模型评价体系 一 ROC曲线和AUC值 二 KS曲线 三 GINI系数 四 Lift ...
- (4)机器学习--回归模型
老饼|机器学习 (bbbdata.com) 1逻辑回归模型 1.1与线性回归模型的区别 • 线性回归模型的过程: 找出一个函数能够拟合自变量x与因变量y之间的线性关系,预测新数据x的y值. 先决条件是 ...
- 机器学习——回归模型
回归模型的功能一般是预测,分为线性回归,决策树(回归树),支持向量机(SVR) 1.线性回归 线性回归一般使用的公式如下: y' = w[0]*x[0] +w[1]*x[1] +w[2]*x[2] + ...
最新文章
- 一步一步玩控件:自定义TabControl——从山寨Safari开始
- spring aop JointPoint类
- Oracle左右链接
- 最短路径问题matlab作图,[MATLAB基础] matlab最短路径的输出问题,用了递归,但程序出错了,请大虾指点...
- 2018年,牛客网小白月赛5
- 第5章分布式系统模式 Broker(代理程序)
- RPA机器人如何调用USB SERVER
- Windows 10 自带的远程协助工具 快速助手
- 拼多多linux版本,拼多多没有Linux版本客户端,但可用xDroid来运行拼多多APP
- android 微信浮窗实现_Android仿微信文章悬浮窗效果
- 蓄电池内阻测试仪分析软件,福禄克 Fluke BT500系列蓄电池内阻测试仪
- 数据科学家和人工智能职业生涯之外软件公司之外的热门市场
- 人物画像————圆球转动效果
- node.js 安装详细步骤
- 刷题、OJ 1337: 运动员分组
- Tomcat配置图片保存路径
- android9手机电池管家,电池寿命修复大师手机版
- 微软杀毒软件Microsoft Security Essentials 今起可下载
- 百度云高速下载Pandownload
- js监听元素尺寸变化