我对机器学习很新手,所以如果我的问题被认为是通用的,我很抱歉。
目前,我正在开发一个Web应用程序(前端:Angular2,后端:NodeJS)来安排医生预约。患者通过他们的界面可以选择医生的专业,一天和一个时间段来进行预约。他们还必须从下拉列表中选择他们的症状。另一方面,医生通过他们的界面可以在DB中注册完成预约的持续时间。
在患者的界面中,我想要包括我的机器学习算法,该算法必须作为输入获得症状并预测约会的持续时间。
我想成为一种有监督的学习算法。如果需要,可以从管理界面内部训练完成约会的数据集[特别是分类变量症状(输入)和连续变量APPOINTMENT DURATION(输出)],因此算法将知道例如与患有症状“发烧”的患者预约持续10分钟,另一次“发烧”预约持续14分钟,与患有“感染”的患者预约持续20分钟,另一患者持续23分钟,等
因此,在训练面部后,给定一个症状作为输入的算法必须能够预测(使用神经网络或方程式,例如平均值或更聪明的东西,我不知道是什么,我是期待想法)当前约会的预期持续时间并将其显示为对患者的信息。
因此,我的问题是:
我的情况需要使用哪种算法?我需要一张“列联表(交叉表)”吗?我在互联网上看到了这个,但我不知道如何使用它?
上述算法或JavaScript中是否有任何实现?
将此分类问题更容易吗?不是计算连续值,而是将结果分类为以下类别之一:15分钟,30分钟,45分钟,60分钟?
一般来说,我是否正确解决了问题,或者是否有更好的处理方法?
非常感谢您的帮助!!
答案 0 :(得分:0)
你要找的是"回归"。回归算法是将X = [f1,f2,f3 ...]映射到Y = [o1,o2,o3,...]的函数,其中每个o是连续变量。特征f1..fn可以是分类的或连续的,也可以是两者的混合。
上述算法或JavaScript中是否有任何实现?
当然,他们很多。试着看看deeplearn.js
至于你想要什么算法,我想这取决于变量之间关系的复杂程度。所有这些都可以进行回归。我会按顺序尝试它们:
但让我们考虑一下实际问题。我不是这个领域的专家,但我怀疑症状与预约时间有很大关系。
想象一下:办公室里有2名医生。一个人谈了很多。一个人没有。我发烧了,得到了很多话题。 1小时预约。我带着扭伤的手腕进去,得到一个不会说话的人。预约20米。
或者:冬天我流着流鼻涕。其他50个人也是如此。 3小时预约。夏天我流着流鼻涕。另外一个人也是如此。预约10米。
在这些情况下,症状并不占约会时间的大部分时间。无论您的机器学习算法多么出色,它都无法学习那些不存在的关系。在这里设计你的机器学习问题时,我会建议你注意这一点。
答案 1 :(得分:0)
一般来说,我是否正确解决了问题,或者是否有更好的处理方法?
我希望我的想法可以帮到你。这就是我们如何处理这个问题。您对ML模型的输入是症状。输出是预约的时间。我们可以将其构建为回归问题。我们不是简单地根据症状名称预测持续时间。相反,我们根据症状的特征预测持续时间。首先,您必须收集Labeled数据以进行ML培训。
例如,在过去几年中,您收集了1000条记录,每条记录用于一次约会,并提供以下信息:
掌握数据后,您将转到功能工程步骤,基本上可以执行以下操作:
完成此步骤后,您的数据将采用数字格式。你可以开始使用ML了。我相信Javascript中有很多ML库。你可以谷歌一个使用。
在您拥有模型后,在患者的UI中,如果他们选择了症状,我们将提取症状信息,患者信息,然后将这些信息转换为与我们进行ML培训相同的格式,然后ML模型可以预测预约的时间是
这是非常高水平的指导方针,但它可以帮助你想出一个工作版拳头。然后你可以在以后的迭代中改进它。