gpt4 book ai didi

java - 无法在数据样本中找到模式

转载 作者:太空宇宙 更新时间:2023-11-04 12:54:08 24 4
gpt4 key购买 nike

我正在寻求逻辑方面的帮助,而不是解决这个问题的技术。我正在用 Java 编写一个程序,使用分类数据(包括映射到感染/未感染/未知状态的温度和血压)并将一组给定的旅行者分类为相应地“已感染”、“未感染”或“未知”。

输入:输入由一个字符串组成,该字符串包含用“#”分隔的两个部分。第一部分包含以逗号分隔的任意数量的个人的分类数据。每个人的数据包含空格分隔的三个值,如下所示:

温度血压类别

第二部分包含多个旅行者的空间隔离温度和血压用逗号分隔。

输出:旅客分类,以逗号分隔。

示例输入和输出

90 120 Infected,90 150 NotInfected,100 140 Infected,80 130 NotInfected#95 125,95 145,75 160   | Output:    Infected,Unknown,NotInfected
80 120 Infected,70 145 Infected,90 100 Infected,80 150 NotInfected,80 80 NotInfected,100 120 NotInfected#120 148,75 148,60 90 | Output: NotInfected,Unknown,Unknown

我继续通过将提供的字符串拆分为一个包含分类数据的子字符串和另一个包含输入数据集的子字符串来解决这个问题。

public static void main(String[] args) {
String s="90 120 Infected, 90 150 NotInfected, 100 140 NotInfected, 80 130 NotInfected#95 125, 95 145, 75 160";
String categories = s.split("#")[0];
String inputs = s.split("#")[1];
System.out.println(categories+"\n"+inputs);

for (String input: inputs.split(",")){
//iterate through categories and match against input
}

}

但我意识到我无法找到任何可以帮助我获得“上面的示例”中提到的所需输出的模式。哪种类型的温度-BP 会导致感染类别?

最佳答案

因此,您的问题是从样本(训练数据)中学习分类器,然后能够将新病例(由解释变量、温度和血压描述)分类为三个类别之一。

学习分类器的方法有很多种,但首先您应该弄清楚您的解释变量是否真正解释了类(即是否存在模式)。为此,我建议进行一个简单的检查:以二维(解释变量)绘制训练数据,并为三个类别中的每个类别提供不同的符号(例如字母 N、I、U)。您将看到所有类别是否随机混合,或者相同的符号是否倾向于聚集在一起。或者你能画出足够好的界线来区分不同的类别吗?您不需要能够完美地划分类别 - 一些分类错误只是属于生活 - 但您应该能够看到一些趋势。

如果有明确的类划分,那么你应该只选择一个分类器来学习。学习算法广泛可用,因此您无需自己编写代码。你可以尝试例如分类树(经典的 c4.5 学习算法)。或者,如果您的训练集足够大,您可以使用不需要任何学习阶段的 K 最近邻分类器:您只需根据训练数据中的 K 个最近邻对新案例进行分类(您可以只计算温度和血压空间中的点之间的欧几里德距离,选择与新查询点距离最短的 K 个点,并选择邻居中最常见的类)。

关于java - 无法在数据样本中找到模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35551941/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com