文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
2.属性构造
经过数据清洗后的磁盘数据见表11-4,其中磁盘相关属性以记录的形式存在数据中,其单位为KB。因为每台服务器的磁盘信息可以通过表中NAME、TARGET_ID、ENTITY三个属性进行区分,且每台服务器的上述三个属性值是不变的,所以可以将三个属性的值合并,构造新的属性,如表11-5所示。(本质上是进行行列互换操作)
表11-4 原始性能表
表11-5 属性变换后的性能表
属性变换的Python代码如代码清单11-1所示。
代码清单11-1 属性变换代码
#-*- coding: utf-8 -*- #属性变换 import pandas as pd #参数初始化 discfile = '../data/discdata.xls' #磁盘原始数据 transformeddata = '../tmp/discdata_processed.xls' #变换后的数据 data = pd.read_excel(discfile) data = data[data['TARGET_ID'] == 184].copy() #只保留TARGET_ID为184的数据 data_group = data.groupby('COLLECTTIME') #以时间分组 def attr_trans(x): #定义属性变换函数 result = pd.Series(index = ['SYS_NAME', 'CWXT_DB:184:C:\\', 'CWXT_DB:184:D:\\', 'COLLECTTIME']) result['SYS_NAME'] = x['SYS_NAME'].iloc[0] result['COLLECTTIME'] = x['COLLECTTIME'].iloc[0] result['CWXT_DB:184:C:\\'] = x['VALUE'].iloc[0] result['CWXT_DB:184:D:\\'] = x['VALUE'].iloc[1] return result data_processed = data_group.apply(attr_trans) #逐组处理 data_processed.to_excel(transformeddata, index = False)
代码详见:demo/code/attribute_transform.py
11.2.4 模型构建
为了方便对模型进行评价,将经过数据预处理后的建模数据划分两部分。1)建模样本数据;2)模型验证数据。选取建模数据的最后5条记录作为验证数据,其他数据作为建模样本数据。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论