|
@@ -0,0 +1,46 @@
|
|
|
+package org.algorithm.test;
|
|
|
+
|
|
|
+import org.algorithm.core.neural.dataset.NNDataSetImpl;
|
|
|
+
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+/**
|
|
|
+ * @Author: bijl
|
|
|
+ * @Date: 2019/9/23 10:49
|
|
|
+ * @Description:
|
|
|
+ */
|
|
|
+public class TestDiagnosisFilter {
|
|
|
+
|
|
|
+ public static void main(String[] args) {
|
|
|
+ NNDataSetImpl dataSet = new NNDataSetImpl("diagnosisPredict.version");
|
|
|
+
|
|
|
+ dataSet.readFilterDiagnosisDict(); // 读取过滤表
|
|
|
+// 鼻炎|0|2|outpatient_556_IOE_1
|
|
|
+// 肺癌|1|2|outpatient_556_IOE_1
|
|
|
+// 胃肠炎|2|2|outpatient_556_IOE_1
|
|
|
+// 屈光不正|3|2|outpatient_556_IOE_1
|
|
|
+ // 构造方式:去查dictionaries.bin文件中outpatient_556_IOE_1,相关的疾病,形如上
|
|
|
+ float[][] predict = {{0.1f, 0.2f, 0.3f, 0.4f}};
|
|
|
+
|
|
|
+ // 构造输入
|
|
|
+ Map<String, Map<String, String>> inputs = new HashMap<>();
|
|
|
+ Map<String, String> featureMap = new HashMap<>();
|
|
|
+ featureMap.put("negative", "有");
|
|
|
+ featureMap.put("property", "11");
|
|
|
+
|
|
|
+ // 构造方式:去查filter_diagnoses.bin文件中与上述疾病相关的一个或多个特征,加入
|
|
|
+ inputs.put("上腹压痛", featureMap); // 上腹压痛,只与,胃肠炎,相关
|
|
|
+ // 保存输入
|
|
|
+ dataSet.storeFeatureNames(inputs);
|
|
|
+
|
|
|
+ // 过滤疾病
|
|
|
+ Map<String, Float> result = dataSet.wrapAndFilter(predict);
|
|
|
+ Map<String, Float> result_no_filter = dataSet.basicWrap(predict);
|
|
|
+
|
|
|
+ System.out.println("无疾病过滤:" + result_no_filter); // 期望输出 {鼻炎=0.1, 肺癌=0.2, 胃肠炎=0.3, 屈光不正=0.4}
|
|
|
+ System.out.println("疾病过滤:" + result); // 期望输出{胃肠炎=0.3}
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+}
|