19 changed files with 545 additions and 239 deletions
@ -1,32 +0,0 @@ |
|||||
package cn.iocoder.yudao.module.alert.controller.admin.model; |
|
||||
|
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
|
||||
import cn.iocoder.yudao.module.alert.controller.admin.model.vo.ModelDataQuery; |
|
||||
import cn.iocoder.yudao.module.alert.controller.admin.model.vo.ModelDataVO; |
|
||||
import cn.iocoder.yudao.module.alert.controller.admin.model.vo.TimeRange; |
|
||||
import cn.iocoder.yudao.module.alert.service.model.ModelDataService; |
|
||||
import lombok.RequiredArgsConstructor; |
|
||||
import org.springframework.web.bind.annotation.*; |
|
||||
|
|
||||
/** |
|
||||
* @author chenjiale |
|
||||
* @version 1.0 |
|
||||
* @date 2023-09-05 22:08 |
|
||||
*/ |
|
||||
@RestController |
|
||||
@RequiredArgsConstructor |
|
||||
@RequestMapping("/alert/model/data") |
|
||||
public class ModelDataController { |
|
||||
private final ModelDataService modelDataService; |
|
||||
|
|
||||
|
|
||||
@GetMapping("/{id}") |
|
||||
public CommonResult<ModelDataVO> getModelData(@PathVariable Integer id, ModelDataQuery query) { |
|
||||
return CommonResult.success(null); |
|
||||
} |
|
||||
|
|
||||
@PostMapping("/calculate/{id}") |
|
||||
public CommonResult<Boolean> calculate(@PathVariable Integer id, @RequestBody TimeRange timeRange) { |
|
||||
return CommonResult.success(null); |
|
||||
} |
|
||||
} |
|
@ -0,0 +1,41 @@ |
|||||
|
package cn.iocoder.yudao.module.alert.controller.admin.model.model; |
||||
|
|
||||
|
import lombok.AllArgsConstructor; |
||||
|
import lombok.Data; |
||||
|
import lombok.NoArgsConstructor; |
||||
|
|
||||
|
@Data |
||||
|
@AllArgsConstructor |
||||
|
@NoArgsConstructor |
||||
|
public class TrainTime { |
||||
|
/** |
||||
|
* 开始时间 |
||||
|
*/ |
||||
|
private String st; |
||||
|
|
||||
|
/** |
||||
|
* 结束时间 |
||||
|
*/ |
||||
|
private String et; |
||||
|
|
||||
|
/** |
||||
|
* 时长(秒) |
||||
|
*/ |
||||
|
private Integer duration; |
||||
|
|
||||
|
/** |
||||
|
* 采样数量 |
||||
|
*/ |
||||
|
private Integer number; |
||||
|
|
||||
|
/** |
||||
|
* 清洗样本数 |
||||
|
*/ |
||||
|
private Integer filter; |
||||
|
|
||||
|
/** |
||||
|
* 有效样本数 |
||||
|
*/ |
||||
|
private Integer mode; |
||||
|
|
||||
|
} |
@ -0,0 +1,87 @@ |
|||||
|
package cn.iocoder.yudao.module.alert.controller.admin.model.vo; |
||||
|
|
||||
|
import com.fasterxml.jackson.annotation.JsonInclude; |
||||
|
import com.fasterxml.jackson.annotation.JsonProperty; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
@Data |
||||
|
@JsonInclude(JsonInclude.Include.NON_NULL) |
||||
|
public class ModelInfoDetails { |
||||
|
|
||||
|
@JsonProperty("Train_X_min") |
||||
|
private List<Double> trainXMin; |
||||
|
|
||||
|
@JsonProperty("Train_X_max") |
||||
|
private List<Double> trainXMax; |
||||
|
|
||||
|
@JsonProperty("Train_X_std") |
||||
|
private List<Double> trainXStd; |
||||
|
|
||||
|
@JsonProperty("Train_X_mean") |
||||
|
private List<Double> trainXMean; |
||||
|
|
||||
|
@JsonProperty("Train_X_bais_max") |
||||
|
private List<List<Double>> trainXBaisMax; |
||||
|
|
||||
|
@JsonProperty("Train_X_bais_min") |
||||
|
private List<List<Double>> trainXBaisMin; |
||||
|
|
||||
|
@JsonProperty("Train_X_bais_mean") |
||||
|
private List<List<Double>> trainXBaisMean; |
||||
|
|
||||
|
@JsonProperty("QCUL_95") |
||||
|
private double qcul95; |
||||
|
|
||||
|
@JsonProperty("QCUL_99") |
||||
|
private double qcul99; |
||||
|
|
||||
|
@JsonProperty("QCUL_95_line") |
||||
|
private List<Double> qcul95Line; |
||||
|
|
||||
|
@JsonProperty("QCUL_99_line") |
||||
|
private List<Double> qcul99Line; |
||||
|
|
||||
|
@JsonProperty("T2CUL_95") |
||||
|
private double t2cul95; |
||||
|
|
||||
|
@JsonProperty("T2CUL_99") |
||||
|
private double t2cul99; |
||||
|
|
||||
|
@JsonProperty("T2CUL_95_line") |
||||
|
private List<Double> t2cul95Line; |
||||
|
|
||||
|
@JsonProperty("T2CUL_99_line") |
||||
|
private List<Double> t2cul99Line; |
||||
|
|
||||
|
@JsonProperty("Kesi_95") |
||||
|
private double kesi95; |
||||
|
|
||||
|
@JsonProperty("Kesi_99") |
||||
|
private double kesi99; |
||||
|
|
||||
|
@JsonProperty("Kesi_95_line") |
||||
|
private List<Double> kesi95Line; |
||||
|
|
||||
|
@JsonProperty("Kesi_99_line") |
||||
|
private List<Double> kesi99Line; |
||||
|
|
||||
|
@JsonProperty("COV") |
||||
|
private List<List<Double>> cov; |
||||
|
|
||||
|
@JsonProperty("K") |
||||
|
private int k; |
||||
|
|
||||
|
@JsonProperty("R") |
||||
|
private double r; |
||||
|
|
||||
|
@JsonProperty("featValue") |
||||
|
private List<Double> featValue; |
||||
|
|
||||
|
@JsonProperty("featVec") |
||||
|
private List<List<Double>> featVec; |
||||
|
|
||||
|
@JsonProperty("selectVec") |
||||
|
private List<List<Double>> selectVec; |
||||
|
} |
@ -0,0 +1,58 @@ |
|||||
|
package cn.iocoder.yudao.module.alert.controller.admin.model.vo; |
||||
|
|
||||
|
import cn.iocoder.yudao.module.alert.common.enums.Algorithm; |
||||
|
import cn.iocoder.yudao.module.alert.controller.admin.model.model.Point; |
||||
|
import cn.iocoder.yudao.module.alert.controller.admin.model.model.TrainTime; |
||||
|
import com.fasterxml.jackson.annotation.JsonFormat; |
||||
|
import lombok.*; |
||||
|
|
||||
|
import java.math.BigDecimal; |
||||
|
import java.util.Date; |
||||
|
import java.util.List; |
||||
|
|
||||
|
@Data |
||||
|
@Builder |
||||
|
@ToString |
||||
|
@NoArgsConstructor |
||||
|
@AllArgsConstructor |
||||
|
public class ModelInitVO { |
||||
|
/** |
||||
|
* id |
||||
|
*/ |
||||
|
private Integer id; |
||||
|
/** |
||||
|
* 创建人 |
||||
|
*/ |
||||
|
private String founder; |
||||
|
|
||||
|
/** |
||||
|
* 创建时间 |
||||
|
*/ |
||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
||||
|
private Date createTime; |
||||
|
|
||||
|
/** |
||||
|
* 运行条件 |
||||
|
*/ |
||||
|
private String condition; |
||||
|
|
||||
|
/** |
||||
|
* 名称 |
||||
|
*/ |
||||
|
private String modelName; |
||||
|
|
||||
|
private String description; |
||||
|
|
||||
|
|
||||
|
private List<Point> pointInfo; |
||||
|
|
||||
|
private List<TrainTime> trainTime; |
||||
|
|
||||
|
private Algorithm algorithm; |
||||
|
|
||||
|
private Integer systemId; |
||||
|
|
||||
|
private Integer sampling; |
||||
|
|
||||
|
private BigDecimal rate; |
||||
|
} |
@ -0,0 +1,20 @@ |
|||||
|
package cn.iocoder.yudao.module.alert.controller.admin.model.vo; |
||||
|
|
||||
|
import lombok.AllArgsConstructor; |
||||
|
import lombok.Data; |
||||
|
import lombok.NoArgsConstructor; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
@Data |
||||
|
@AllArgsConstructor |
||||
|
@NoArgsConstructor |
||||
|
public class ModelTestData { |
||||
|
private List<List<Double>> sampleData; |
||||
|
private List<List<Double>> reconData; |
||||
|
private List<List<Double>> errorData; |
||||
|
private Integer R; |
||||
|
private List<Double> SPE; |
||||
|
private List<List<Integer>> paraState; |
||||
|
private String time; |
||||
|
} |
@ -0,0 +1,26 @@ |
|||||
|
package cn.iocoder.yudao.module.alert.controller.admin.model.vo; |
||||
|
|
||||
|
import com.fasterxml.jackson.annotation.JsonProperty; |
||||
|
import lombok.AllArgsConstructor; |
||||
|
import lombok.Data; |
||||
|
import lombok.NoArgsConstructor; |
||||
|
|
||||
|
@Data |
||||
|
@AllArgsConstructor |
||||
|
@NoArgsConstructor |
||||
|
public class TrainInfo { |
||||
|
@JsonProperty("Model_info") |
||||
|
private ModelInfoDetails modelInfo; |
||||
|
|
||||
|
@JsonProperty("Model_type") |
||||
|
private String modelType; |
||||
|
|
||||
|
@JsonProperty("BeforeCleanSamNum") |
||||
|
private int beforeCleanSamNum; |
||||
|
|
||||
|
@JsonProperty("AfterCleanSamNum") |
||||
|
private int afterCleanSamNum; |
||||
|
|
||||
|
@JsonProperty("CleanOrNot") |
||||
|
private boolean cleanOrNot; |
||||
|
} |
@ -0,0 +1,31 @@ |
|||||
|
package cn.iocoder.yudao.module.alert.param; |
||||
|
|
||||
|
import com.fasterxml.jackson.annotation.JsonProperty; |
||||
|
import lombok.AllArgsConstructor; |
||||
|
import lombok.Data; |
||||
|
import lombok.NoArgsConstructor; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
@Data |
||||
|
@AllArgsConstructor |
||||
|
@NoArgsConstructor |
||||
|
public class ModelTestParam { |
||||
|
@JsonProperty("Test_Data") |
||||
|
private TestData testData; |
||||
|
private Integer modelId; |
||||
|
private String version; |
||||
|
|
||||
|
@Data |
||||
|
@NoArgsConstructor |
||||
|
@AllArgsConstructor |
||||
|
public static class TestData { |
||||
|
private String time; |
||||
|
private String points; |
||||
|
private Integer interval; |
||||
|
@JsonProperty("AddBias") |
||||
|
private List<Double> addBias; |
||||
|
@JsonProperty("AddBias_Time") |
||||
|
private String addBiasTime; |
||||
|
} |
||||
|
} |
@ -0,0 +1,59 @@ |
|||||
|
package cn.iocoder.yudao.module.alert.param; |
||||
|
|
||||
|
import com.alibaba.fastjson.annotation.JSONField; |
||||
|
import com.fasterxml.jackson.annotation.JsonAlias; |
||||
|
import com.fasterxml.jackson.annotation.JsonProperty; |
||||
|
import lombok.AllArgsConstructor; |
||||
|
import lombok.Data; |
||||
|
import lombok.NoArgsConstructor; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
@Data |
||||
|
@AllArgsConstructor |
||||
|
@NoArgsConstructor |
||||
|
public class TrainParam { |
||||
|
@JsonAlias("Train_Data") |
||||
|
@JsonProperty("Train_Data") |
||||
|
private TrainData trainData; |
||||
|
|
||||
|
@JsonAlias("Hyper_para") |
||||
|
@JsonProperty("Hyper_para") |
||||
|
private HyperPara hyperPara; |
||||
|
private String type; |
||||
|
private String condition; |
||||
|
|
||||
|
@JsonAlias("smote_config") |
||||
|
@JsonProperty("smote_config") |
||||
|
private String smoteConfig; |
||||
|
|
||||
|
private Boolean smote; |
||||
|
|
||||
|
private String targetPoint; |
||||
|
|
||||
|
@Data |
||||
|
public static class Smote { |
||||
|
private String pointId; |
||||
|
private String max; |
||||
|
private String min; |
||||
|
private String number; |
||||
|
} |
||||
|
|
||||
|
@Data |
||||
|
@AllArgsConstructor |
||||
|
@NoArgsConstructor |
||||
|
public static class HyperPara { |
||||
|
private Double percent; |
||||
|
} |
||||
|
|
||||
|
@Data |
||||
|
@AllArgsConstructor |
||||
|
@NoArgsConstructor |
||||
|
public static class TrainData { |
||||
|
private String time; |
||||
|
private String points; |
||||
|
private String dead; |
||||
|
private String limit; |
||||
|
private String uplow; |
||||
|
} |
||||
|
} |
@ -1,26 +0,0 @@ |
|||||
package cn.iocoder.yudao.module.alert.service.model; |
|
||||
|
|
||||
|
|
||||
import cn.iocoder.yudao.module.alert.controller.admin.model.vo.ModelDataVO; |
|
||||
|
|
||||
import java.util.Date; |
|
||||
import java.util.List; |
|
||||
|
|
||||
/** |
|
||||
* @author chenjiale |
|
||||
* @version 1.0 |
|
||||
* @date 2023-09-05 22:10 |
|
||||
*/ |
|
||||
public interface ModelDataService { |
|
||||
/** |
|
||||
* 获取模型数据 |
|
||||
* |
|
||||
* @param modelId 模型id |
|
||||
* @param type 类型 |
|
||||
* @param indexList 边界参数索引 |
|
||||
* @param st 开始时间 |
|
||||
* @param et 结束时间 |
|
||||
* @return 模型数据 |
|
||||
*/ |
|
||||
ModelDataVO getModelData(Integer modelId, String type, List<Integer> indexList, Date st, Date et); |
|
||||
} |
|
@ -1,29 +0,0 @@ |
|||||
package cn.iocoder.yudao.module.alert.service.model.impl; |
|
||||
|
|
||||
import cn.iocoder.yudao.module.alert.controller.admin.model.vo.ModelDataVO; |
|
||||
import cn.iocoder.yudao.module.alert.service.model.ModelDataService; |
|
||||
import lombok.RequiredArgsConstructor; |
|
||||
import lombok.extern.slf4j.Slf4j; |
|
||||
import org.springframework.stereotype.Service; |
|
||||
|
|
||||
import java.util.Date; |
|
||||
import java.util.List; |
|
||||
|
|
||||
/** |
|
||||
* @author chenjiale |
|
||||
* @version 1.0 |
|
||||
* @date 2023-09-05 22:11 |
|
||||
*/ |
|
||||
@Slf4j |
|
||||
@Service |
|
||||
@RequiredArgsConstructor |
|
||||
public class ModelDataServiceImpl implements ModelDataService { |
|
||||
|
|
||||
|
|
||||
@Override |
|
||||
public ModelDataVO getModelData(Integer modelId, String type, List<Integer> indexList, Date st, Date et) { |
|
||||
|
|
||||
|
|
||||
return null; |
|
||||
} |
|
||||
} |
|
Loading…
Reference in new issue