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

举报
一个处女座的程序猿 发表于 2021/03/30 23:12:07 2021/03/30
2k+ 0 0
【摘要】 ML:根据不同机器学习模型输出的预测值+且与真实值相减得到绝对误差对比+误差可视化       目录 输出结果 实现代码       输出结果   实现代码 # -*- coding: utf-8 -*- #ML:根据不同机器学习模型输出的预测值+且与真实值相减得到绝对误差对比+误差可视化 #Model_comparison_error_Pl...

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)
  
 

文章来源: yunyaniu.blog.csdn.net,作者:一个处女座的程序猿,版权归原作者所有,如需转载,请联系作者。

原文链接:yunyaniu.blog.csdn.net/article/details/94052293

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。