9.12 将字符串解析为数值
将字符串解析为数值。
模型表现表记录了不同模型的各种指标,想要选出其中的数值目标模型(ModelType 是 2),并以指标为列名展现。其中每个模型的指标是按同一次序输出到文件中的。部分数据如下:
ID | ModelName | ModelType | Performance |
---|---|---|---|
1 | HousePrice | 2 | SquareR=0.933743 |
2 | HousePrice | 2 | MSE=295749426.986263 |
3 | HousePrice | 2 | RMSE=17197.366862 |
4 | HousePrice | 2 | GINI=0.197449 |
5 | HousePrice | 2 | MAE=12509.456071 |
6 | HousePrice | 2 | MAPE=7.798386 |
7 | Titanic | 1 | GINI=0.654867 |
8 | Titanic | 1 | AUC=0.827434 |
9 | Titanic | 1 | KS=0.587658 |
… | … | … | … |
使用函数 number(stringExp) 将字符串 stringExp 解析为数值。
脚本:
A | |
---|---|
1 | =T(“mps.txt”) |
2 | =A1.select(ModelType:2) |
3 | =A2.group(ModelName) |
4 | =A3(1).(Performance.split(“=”)(1)).concat@c() |
5 | =create(${“ModelName,”+A4}) |
6 | =A3.(A5.record(A3.~.ModelName | A3.~.(number(Performance.split(“=”)(2))))) |
A1 导入模型表现数据文件
A2 选出数值目标的模型
A3 按模型名称分组
A4 将第一组的指标名称用逗号连接成字符串
A5 创建空序表,第一列是模型名称,后面是模型表现指标
A6 循环插入指标到 A5 的序表中。这里使用了 number() 函数,将拆分后的字符串转换为数值。
运行结果:
ModelName | SquareR | MSE | RMSE | GINI | MAE | MAPE |
---|---|---|---|---|---|---|
HousePrice | 0.933743 | 295749426.986263 | 17197.366862 | 0.197449 | 12509.456071 | 7.798386 |
… | … | … | … | … | … | … |