MS python学习(21)

Evaluate the accuracy

how to evaluate the accuracy of test and predict data
numpy <–> dataframe
为提高数据对比的准确度,需要用到下面方法

  • 均方误差(Mean Square Error,MSE)
  • 均方根误差(Root Mean Square Error,RMSE)
  • 平均绝对误差(Mean Absolute Error,MAE)

方差(variance/deviation Var):被用于描述随机变量的数据相互间的偏离程度(分散程度),在概率论中是指随机变量与其数学期望作差的平方和再均化

标准差 :standard Deviation
:标准差是方差的算术平方根。标准差能反映一个数据集的离散程度。平均数相同的两组组数据,标准差未必相同。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ppM0XlmV-1680533683804)(../resources/20190829235611627.png)]

MSE: Mean Squared Error
均方误差是指参数估计值与参数真值之差平方的期望值;
MSE可以评价数据的变化程度,MSE的值越小,说明预测模型描述实验数据具有更好的精确度。

(img-wpQYXUSp-1680533683805)(../resources/20190829235349581.png)]
RMSE
均方根误差:均方根误差是均方误差的算术平方根

在这里插入图片描述

方差/均方误差的区别:区别在于MSE/RMSE应用情景存在一个真实值,其衡量的是各数据偏离真实值的情况,而后者则是各数据偏离样本平均值的情况.

MAE :Mean Absolute Error
平均绝对误差是绝对误差的平均值
平均绝对误差能更好地反映预测值误差的实际情况.

在这里插入图片描述
fi表示预测值,yi表示真实值;

from sklearn import metrics
import numpy as np  # 引入numpy是因为sklearn里面没有直接得到RMSE的方法

metrics.mean_squared_error(y_test, y_pred)
np.sqrt(metrics.mean_squared_error(y_test, y_pred))

在这里插入图片描述

观察y_pred的类型发现他是numpy array类型,而y_test是pandas DataFrame类型,这两种类型就不能一起做merge之类的操作,所以可以做相互转换成同一类型进行操作。

type(y_pred)
numpy.ndarray

type(y_test)
pandas.core.frame.DataFrame

# numpy的one dimensional array和 panda.Series类似, two dimensional array和pandas.DataFrame类似 
np_arrays = np.array([['Earth', 'live'], ['Moon', 'Rock'],['Sun', 'Hot']])
print(np_arrays)
print(np_arrays[1][0])
[['Earth' 'live']
 ['Moon' 'Rock']
 ['Sun' 'Hot']]
Moon

# 相互转换
y_pred_df = pd.DataFrame(y_pred)
y_test_np = np.array(y_test)

在这里插入图片描述

TO BE CONTINUED…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值