Skip to main content

实时三级预警算法

安装

pip install thinkenergy-2.1.0-py3-none-any.whl
#执行激活脚本

使用方法

1.导入引擎工厂类

from thinkenergy.thinkengine import ThinkEngineFactory

2.使用 app_key 和 app_secret 初始化引擎工厂

Tip:用户需要申请app_key 和 app_secret,否则算法无法使用

tef = ThinkEngineFactory(app_key, app_secret)

3.根据算法编码获取具体的算法引擎

Tip:每一个算法都有对应的算法编号码,针对不同的算法请传入正确的算法编号,本例中A100156代表实时三级预警算法

alg_code = 'A100156'
te1 = tef.get_engine(alg_code)

4.给算法引擎设置参数(可选)

Tip:算法参数可以通过两种方式实现:

通过算法配置文件

通过set_params方法实现

不配置参数会使用默认的参数

te1.set_params(params=params)   # 设置参数

5.调用算法

Tip:run()函数接收的数据为DataFarme,用户可以将自己的数据构建成符合算法的DataFarme,本例采用的是读取.csv格式文件中的数据转为DataFarme.

data = pd.read_csv(r'/tmp/sample_data_A100156.csv')
te1.run(data)

算法的使用参数说明如下:

参数类型示例说明
app_keystr123456用户申请的app_key
app_secretstr'I2NEWMBQFW7IMSD7XFZNHFARCVJAK7IZDK23BGABSWNU5QLBBCWLRFTL6QDAHDM32ZDA5ITFR6JPPJT3JHCBHZC77ZXNYSE4NUPHAEA='用户申请的app_secret
alg_codestrA100156算法编码
dataDataFramepandas二维数组
paramsdict算法配置

算法输入数据样例

算法传入数据DataFarme字段

#实时三级预警
[ "timestamp","current", "min_single_volt", "volt", "soc", "min_temp","max_temp", "max_single_volt", "vin" ](最少50条数据)

输入数据样例

sample_data_A100156.csv文件内容

vintimestampvoltcurrentsocmin_single_voltmax_single_voltmax_tempmin_temp
018751620479291375.700.934.06100034.0913029
118751621262603360.574.40.843.93.93200022523
218751620605310361.7-5.60.823.93700033.96500022725
318751621230411379.410.964.10100034.1323027
418751621257077370.530.884.0054.03400042623

算法参数配置

#在配置文件中的配置
CO_PARAMS = {
'alg_config': {
}
}

详细实例demo

import pandas as pd
from thinkenergy.thinkengine import ThinkEngineFactory

app_key = '123456' # 用户申请的 app_key
app_secret = 'I2NEWMBQFW7IMSD7XFZNHFARCVJAK7IZD' \
'K23BGABSWNU5QLBBCWLRFTL6QDAHDM32Z' \
'DA5ITFR6JPPJT3JHCBHZC77ZXNYSE4NUP' \
'HAEA=' # 用户申请的 app_secret
tef = ThinkEngineFactory(app_key, app_secret) # 初始化引擎工厂
# 实例化
alg_code = 'A100156' # 算法编号.本例为实时三级预警算法编号
data = pd.read_csv(r'/tmp/charge_trip.csv', encoding = 'gbk') # 读取 CSV
params = {
'alg_config': {
}
} #可传入符合厂商的配置参数
te1 = tef.get_engine(alg_code) # 获取实时三级预警算法引擎
te1.set_params(params=params) # 设置参数.可选,非必须

print(te1.run(data)) # 调用实时三级预警算法

算法结果

{'vin': 'Vehicle1_1.csv', 'start_time': '2020-01-20 01:43:39', 'end_time': '2020-03-19 18:13:31', 'score_list': 
'[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,0.1,0.2,0.3,0.4,0.5,0.6,0.7, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6,
1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6,
1.6]', 'max_score': 1.6}