在学习xg的 时候,想画学习曲线,但无奈没有没有这个 evals_result_

AttributeError: 'Booster' object has no attribute 'evals_result_'

因为不是用的分类器或者回归器,而且是使用的train而不是fit进行训练的,看过源码fit才有evals_result_这个,导致训练后没有这个,但是又想获取学习曲线,因此肯定还需要获取训练数据。

运行的结果 上面有数据,于是就想自己解析屏幕的数据试一下,屏幕可以看到有我们迭代过程的数据,因此想直接获取屏幕上的数据,思维比较low但是简单粗暴。

接下来分两步完成:

1) 获取屏幕数据

import subprocess

import pandas as pd

top_info = subprocess.Popen(["python", "main.py"], stdout=subprocess.PIPE)

out, err = top_info.communicate()

out_info = out.decode('unicode-escape')

lines=out_info.split('\n')

注:这里的main.py就是自己之前执行的python文件

2) 解析文件数据:

ln=0

lst=dict()

for line in lines:

if line.strip().startswith('[{}] train-auc:'.format(ln)):

if ln not in lst.keys():

lst.setdefault(ln, {})

tmp = line.split('\t')

t1=tmp[1].split(':')

t2=tmp[2].split(':')

if str(t1[0]) not in lst[ln].keys():

lst[ln].setdefault(str(t1[0]), 0)

if str(t2[0]) not in lst[ln].keys():

lst[ln].setdefault(str(t2[0]), 0)

lst[ln][str(t1[0])]=t1[1]

lst[ln][str(t2[0])]=t2[1]

ln+=1

json_df=pd.DataFrame(pd.DataFrame(lst).values.T, index=pd.DataFrame(lst).columns, columns=pd.DataFrame(lst).index).reset_index()

json_df.columns=['numIter','eval-auc','train-auc']

print(json_df)

整体代码:

import subprocess

import pandas as pd

top_info = subprocess.Popen(["python", "main.py"], stdout=subprocess.PIPE)

out, err = top_info.communicate()

out_info = out.decode('unicode-escape')

lines=out_info.split('\n')

ln=0

lst=dict()

for line in lines:

if line.strip().startswith('[{}] train-auc:'.format(ln)):

if ln not in lst.keys():

lst.setdefault(ln, {})

tmp = line.split('\t')

t1=tmp[1].split(':')

t2=tmp[2].split(':')

if str(t1[0]) not in lst[ln].keys():

lst[ln].setdefault(str(t1[0]), 0)

if str(t2[0]) not in lst[ln].keys():

lst[ln].setdefault(str(t2[0]), 0)

lst[ln][str(t1[0])]=t1[1]

lst[ln][str(t2[0])]=t2[1]

ln+=1

json_df=pd.DataFrame(pd.DataFrame(lst).values.T, index=pd.DataFrame(lst).columns, columns=pd.DataFrame(lst).index).reset_index()

json_df.columns=['numIter','eval-auc','train-auc']

print(json_df)

看下效果:

以上这篇获取python运行输出的数据并解析存为dataFrame实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持python博客。

python遍历data、并输出结果_获取python运行输出的数据并解析存为dataFrame实例相关推荐

  1. python遍历文本文件统计字符个数_用python获取txt文件中关键字的数量

    缘起: 开发人员需要tomcat中一个项目在一个月的访问请求量,因其他原因只剩下查找tomcat请求日志的方法获取,刚好最近在学习python,于是就用python摸索了下: 大体思路: 1.把相应t ...

  2. 基于python的智能文本分析 豆瓣_长文干货 | 基于豆瓣影评数据的完整文本分析!...

    原标题:长文干货 | 基于豆瓣影评数据的完整文本分析! 作者:沂水寒城,CSDN博客专家,个人研究方向:机器学习.深度学习.NLP.CV Blog: http://yishuihancheng.blo ...

  3. C#获取http请求的JSON数据并解析

    文章目录 1️⃣ C#获取http请求的JSON数据并解析 1.1 获取http的JSON数据 1.2 解析JSON数据 优质资源分享 C#获取http请求的JSON数据并解析,第一步,先拿到http ...

  4. python图片分析中央气象台降水量预报_获取中央气象台网的气象数据 全流程技术解析(python 爬虫)...

    一.Python环境搭建 下载安装python 下载安装PyCharm,Community版即可 理论上应该先安装python再安装IDE(PyCharm),必要时按网上要求进行环境变量设置. 二.爬 ...

  5. delphi dbgrideh 遍历每一个单元格_用Python解数独[1]:求每个单元格的行值域

    目录 用Python解数独[0] 用Python解数独[1]:求每个单元格的行值域 用Python解数独[2]:求列值域和九宫格值域 用Python解数独[3]:求总值域 用Python解数独[4]: ...

  6. 查看python包中所有方法_获取Python包中的所有类名

    我需要获取 Python包中所有类的列表. 起初我得到所有文件名(它工作正常,从stackoverflow获取): from os import listdir, getcwd from os.pat ...

  7. python输出方格_使用Python实现LBM(格子法)方腔驱动流

    使用Python实现LBM(格子法)方腔驱动流 Python的不足: Python的最大优势也可能是它最大的弱点:它的灵活性和无类型的高级语法可能导致数据和计算密集型程序的性能不佳.-- 动态类型化解 ...

  8. python查看包的路径_获取python及三方包的版本,安装路径等信息

    #coding:utf-8 #yys #1.1________获取python的版本号信息________ import sys python_version1=sys.version python_ ...

  9. python在屏幕上输出文字_对python的输出和输出格式详解

    输出 1. 普通的输出 # 打印提示 print('hello world') 用print()在括号中加上字符串,就可以向屏幕上输出指定的文字.比如输出'hello, world',用代码实现如下: ...

最新文章

  1. OSChina 娱乐弹弹弹——Team,对你爱爱爱不完
  2. Projection of Tuple DataSet具体用法
  3. 简单三层架构(登录)
  4. 容器赋能AI-人工智能在360私有云容器服务上的实践
  5. background-position取值笔记
  6. 具有左,中或右对齐项的Bootstrap NavBar
  7. telnet 的使用(ping 与 telnet)
  8. 两种方式打开jar文件
  9. 朗途职业规划之一 职业发展报告 (北森测评)
  10. 【机器人学】正运动学详解
  11. 解读——等级保护定级指南
  12. 网站视频很卡怎么办?有没有免费的视频平台?使用阿里云OSS对象云存储+下行流量包解决网站文件/视频访问慢问题
  13. 秒拍视频其实在你浏览器缓存里
  14. 深蓝视觉SLAM课程第四讲--相机模型,非线性优化(G2O)
  15. 数据中心交换机与普通交换机有什么不同?
  16. 中国地面气候资料日值数据集(V3.0)
  17. 直觉模糊犹豫集结算子的多属性决策方法及matlab应用
  18. 数字IC设计随笔之一(Verdi自动添加波形脚本应用)
  19. centos7 添加开机自启动
  20. 软考备战之计算机专业词汇

热门文章

  1. java的比较器_java两种比较器总结
  2. uve (mui/light7)写APP的使用心得(大坑);
  3. 2017年 JavaScript 框架回顾 -- React生态系统
  4. jqgrid 启用键盘操作bindKeys
  5. maven的dependency 和 dependencymanagement
  6. 网络安全泡沫是否即将破灭?
  7. 编译php源码错误集与解决
  8. Chipmunk僵尸物理对象的出现和解决(七)
  9. CC2530存储空间——Code
  10. Linux系统/网络管理