ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ML:根据不同机器学习模型输出的预测值+且与真实值相减得到绝对误差对比+误差可视化

2021-06-15 20:04:27  阅读:216  来源: 互联网

标签:subtraction01 plt 绝对误差 ML list 列表 65 相减


ML:根据不同机器学习模型输出的预测值+且与真实值相减得到绝对误差对比+误差可视化

 

 

 

目录

输出结果

实现代码


 

 

 

输出结果

 

实现代码

# -*- coding: utf-8 -*-


#ML:根据不同机器学习模型输出的预测值+且与真实值相减得到绝对误差对比+误差可视化

#Model_comparison_error_Plot()函数:根据不同模型预测值输出绝对误差对比且可视化
def Model_comparison_error_Plot(list_str01,list_str02,list_num00, Xlabel,Ylabel,title):
    #数字列表相减功能:将两个字符串列表改为数字列表并相减
    #(1)、依次将两个字符串列表改为数字列表
    import numpy as np
    list_num01 = list(map(float, list_str01))
    list_num02 = list(map(float, list_str02))
    
    #(2)、列表内数字相减求差
    #T1、利用array方法
    list_array01 = np.array(list_num01)
    list_array02 = np.array(list_num02)
    list_array00 = np.array(list_num00)     #定义标准列表
    
    list_subtraction01 = list_array00 - list_array01
    list_subtraction02 = list_array00 - list_array02
    print(list_array00)
    print('list_subtraction01', list_subtraction01)
    print('list_subtraction02', list_subtraction02)
    
    #T2、利用列表的for循环指针对应取出法
    error01 = []
    error02 = []
    for i in range(len(list_num00)):
        error01.append(round (list_num01[i] - list_num00[i],3) )
        error02.append(round (list_num02[i] - list_num00[i],3) )
    print(error01)
    print(error02)
    
    #(3)、绘制error曲线
    import matplotlib.pyplot as plt
     
    x = range(0,len(list_subtraction01))
    y1 = list_subtraction01
    y2 = list_subtraction02
    y_zero = [0 for x in range(0, len(list_subtraction01))]

    plt.plot(x,y_zero,'r--',label='zero') 
    plt.plot(x,y1,'g',label='STD-DTR')                      
    plt.plot(x,y2,'b',label='STD-XGBR')
     
    plt.xlabel(Xlabel)
    plt.ylabel(Ylabel)
    plt.title(title)
     
    plt.legend(loc=1)   
    plt.show()


DTR_list =  ['67.330', '66.794', '65.319', '65.435', '67.903', '67.743', '63.994', '62.466', '67.581', '67.505', '64.196', '63.726', '66.749', '67.363', '65.962', '65.630', '66.602', '66.956', '63.730', '63.858', '67.370', '66.902', '63.392', '63.408', '64.428', '73.083', '72.952', '73.561', '73.148', '73.258', '72.558']
XGBR_list =  ['66.398', '66.308', '66.197', '66.323', '66.388', '66.388', '65.761', '65.074', '65.516', '65.448', '65.534', '65.530', '64.163', '64.097', '62.860', '62.860', '63.771', '63.926', '62.667', '62.902', '62.981', '62.981', '62.987', '62.897', '66.465', '72.292', '71.947', '71.947', '71.947', '71.947', '71.928']
real_list = [64, 68, 64, 68, 65, 65, 63, 63, 66, 65, 65, 65, 64, 65, 61, 62, 64, 63, 66, 60, 66, 62, 64, 61, 71, 75, 73, 73, 73, 73, 73]
title = 'Comparisons and Visualization of Absolute Errors in Output of Predicted Values of Different Models'
Xlabel = 'working condition'
Ylabel = 'Absolute Error Value'
Model_comparison_error_Plot(DTR_list,XGBR_list,real_list,Xlabel,Ylabel,title)

 

 

 

 

 

标签:subtraction01,plt,绝对误差,ML,list,列表,65,相减
来源: https://blog.51cto.com/u_14217737/2905671

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有