返回介绍

2.属性构造

发布于 2024-01-28 21:41:24 字数 1482 浏览 0 评论 0 收藏 0

经过数据清洗后的磁盘数据见表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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文