文档
注册
评分
提单
论坛
小智

参数包

param

描述

输入/输出

类型

取值范围

默认值

is_diff_feature

特征工程参数, 是否增加差分特征

输入

bool

True/False

True

is_diff_roll_feature

特征工程参数, 是否增加差分滚动周期求和特征、长周期差分特征、

周期内差分最大/最小值特征

输入

bool

True/False

True

is_min_max_feature

特征工程参数, 是否增加周期内原始值最大/最小值特征

输入

bool

True/False

True

long_period

特征工程参数, 差分滚动计算的周期长度

输入

int

[1 ~ sys.maxsize]

14

alert_threshold

故障判断参数, 当sn报警次数超过此阈值时认定为故障盘

输入

int

[1 ~ ∞)

5

data_tail

数据预处理参数, 对每个sn只保留末尾data_tail条数据进行训练

输入

int

[1 ~ ∞)

10

model

源数据参数,SSD SMART信息不同厂家之间差异较大,需要指定厂家确定使用的SMART列信息

输入

String

['DEFAULT', 'MA1', 'MA2', 'MB1', 'MB2', 'MC1', 'MC2', ]

'DEFAULT'

log_file

日志文件路径

输入

String

-

/var/log/smartmaintainkit.log

  1. Python中sys.maxsize代表int类型的最大值。
  2. 仅当“is_diff_feature”为True时,“is_diff_roll_sum_feature”参数才起作用,“is_diff_feature”为False时,“is_diff_roll_sum_feature”无意义,不产生任何影响。

    参数使用举例如下。

    1. 默认调用方式需要执行以下命令。
      fault_train(r'fault_test.data', r'model.pkl')
    2. 执行以下命令修改日志路径到temp.log。
      param = {'log_file': 'temp.log'} 
      fault_train(r'fault_test.data', r'model.pkl', param)
表1 model参数说明:

SMART ID

MA1

MA2

MB1

MB2

MC1

MC2

1

-

-

-

5

9

12

170

-

-

-

171

-

-

172

-

-

173

-

-

-

174

-

-

175

-

-

-

-

177

-

-

-

-

180

-

181

-

-

-

-

182

-

-

-

-

183

  

184

187

188

-

-

-

190

-

-

192

-

-

-

-

-

194

-

195

-

196

-

-

-

197

-

-

198

-

-

-

199

206

-

-

-

-

232

-

-

-

-

-

233

-

-

-

-

-

241

-

-

-

242

-

-

-

244

-

-

-

-

245

-

-

-

-

备注

:模型需要的数据集中需要包含的SMART ID。

'DEFAULT'参数为上表每个模型所含所有SMART ID的集合。

以下提供一个便于快速检测一个数据集中适用各种模型的数据量。

import pandas as pd
smart_id_dict = {
    'MA1': [1, 5, 9, 12, 171, 172, 173, 174, 175, 180, 184, 187, 188, 190, 194, 195, 196, 197, 198, 199],  # MA1
    'MA2': [5, 9, 12, 170, 171, 172, 174, 183, 184, 187, 190, 192, 194, 197, 199, 233, 241, 242, 175, 232],  # MA2
    'MB1': [5, 9, 12, 177, 180, 181, 182, 183, 184, 187, 190, 194, 195, 197, 199, 241, 242, 244, 245],  # MB1
    'MB2': [5, 9, 12, 177, 180, 181, 182, 183, 184, 187, 190, 195, 197, 199, 241, 242, 244, 245],  # MB2
    'MC1': [1, 5, 9, 12, 170, 171, 172, 173, 174, 180, 183, 184, 187, 188, 194, 195, 196, 198, 199, 206],  # MC1
    'MC2': [1, 5, 9, 12, 170, 171, 172, 173, 174, 180, 183, 184, 187, 188, 194, 195, 196, 198, 199, 206]  # MC2
}
smart_id_dict['DEFAULT'] = list(set(smart_id_dict['MA1']).intersection(
    smart_id_dict['MA2'], smart_id_dict['MB1'], smart_id_dict['MB2'], smart_id_dict['MC1'], smart_id_dict['MC2']))
data = pd.read_csv(r'ssd_fault_data.csv', low_memory=False)  # 在此处填入待检测数据文件路径
for key, value in smart_id_dict.items():
    feature_smart_col = [f'ssdSmart.smart_{value}_value' for value in value] + \
                        [f'ssdSmart.smart_{value}_raw_value' for value in value]
    feature_col = ['disk_sn', 'timestamp', 'fault'] + feature_smart_col

    try:
        count = data[feature_col].dropna(axis=0, subset=feature_col).shape[0]
    except KeyError:
        count = 0

    print(key + ': ' + str(count))

输出数据集ssd_fault_data.csv中适用各种模型的数据量。

MA1: 15068
MA2: 80597
MB1: 39963
MB2: 83407
MC1: 191758
MC2: 191758
DEFAULT: 370840

默认推荐的参数

MA1

param = {'model': 'MA1'}
fault_train(r'ssd_MA1_fault_train.csv', r'model.pkl', param)

MA2

param = {'model': 'MA2'}
fault_train(r'ssd_MA2_fault_train.csv', r'model.pkl', param)

MB1

param = {'model': 'MB1'}
fault_train(r'ssd_MB1_fault_train.csv', r'model.pkl', param)

MB2

param = {'model': 'MB2'}
fault_train(r'ssd_MB2_fault_train.csv', r'model.pkl', param)

MC1

param ={'model': 'MC1', 'long_period': 100}
fault_train(r'ssd_MC1_fault_train.csv', r'model.pkl', param)

MC2

param = {'model': 'MC2', 'long_period': 100}
fault_train(r'ssd_MC2_fault_train.csv', r'model.pkl', param)
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词