离线三级预警算法
安装
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:每一个算法都有对应的算法编号码,针对不同的算法请传入正确的算法编号,本例中A100161代表离线三级预警算法
alg_code = 'A100161'
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_A100161.csv')
te1.run(data)
算法的使用参数说明如下:
参数 | 类型 | 示例 | 说明 |
---|---|---|---|
app_key | str | 123456 | 用户申请的app_key |
app_secret | str | 'I2NEWMBQFW7IMSD7XFZNHFARCVJAK7IZDK23BGABSWNU5QLBBCWLRFTL6QDAHDM32ZDA5ITFR6JPPJT3JHCBHZC77ZXNYSE4NUPHAEA=' | 用户申请的app_secret |
alg_code | str | A100161 | 算法编码 |
data | DataFrame | pandas二维数组 | |
params | dict | 算法配置 |
算法输入数据样例
算法传入数据DataFarme字段
#3.三级预警
[ "timestamp","current", "min_single_volt","volt", "soc", "min_temp","max_temp", "max_single_volt", "vin" ](最少50条数据)
输入数据样例
sample_data_A100161.csv文件内容
vin | timestamp | volt | current | soc | min_single_volt | max_single_volt | max_temp | min_temp | |
---|---|---|---|---|---|---|---|---|---|
0 | 1875 | 1620479291 | 375.7 | 0 | 0.93 | 4.0610003 | 4.091 | 30 | 29 |
1 | 1875 | 1621262603 | 360.5 | 74.4 | 0.84 | 3.9 | 3.9320002 | 25 | 23 |
2 | 1875 | 1620605310 | 361.7 | -5.6 | 0.82 | 3.9370003 | 3.9650002 | 27 | 25 |
3 | 1875 | 1621230411 | 379.4 | 1 | 0.96 | 4.1010003 | 4.132 | 30 | 27 |
4 | 1875 | 1621257077 | 370.5 | 3 | 0.88 | 4.005 | 4.0340004 | 26 | 23 |
算法参数配置
#在配置文件中的配置
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 = 'A100161' # 算法编号.本例为离线三级预警算法编号
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}