我对机器学习很陌生,所以如果我的问题被认为是通用的,我很抱歉。
目前,我正在开发一个web应用程序(前端: Angular2,后端: NodeJS)来安排医生的预约。病人,通过他们的界面,可以选择一个医生的专业,一天和一个时间段,以作出预约。他们还必须从下拉列表中选择自己的症状。另一方面,医生可以通过他们的接口在DB中注册完成预约的时间。
在病人的界面中,我想包括我的机器学习算法,它必须作为输入,得到一个症状,并预测预约的时间。
我想成为一个监督学习算法。当他想要的时候,它可以从管理界面内部接受训练,有一组已完成的约会,特别是带有分类变量的症状(输入)和连续可变的预约时间(输出),因此该算法将知道例如与症状“发热”的病人的约会持续了10分钟,另一次“发烧”约会持续了14分钟,与“感染”患者的约会持续了20分钟,另一次预约持续了23分钟等等。
因此,在训练面部之后,该算法必须能够预测(用神经网络或方程,例如平均值或其他更聪明的东西,我不知道什么,我期待的想法)当前预约的预期持续时间,并将其显示给病人。
因此,我的问题是:
我要用什么算法来解决我的问题?我需要“应变表(交叉表)”吗?我在网上看到这个,但我不知道怎么用?
在JavaScript中是否有上述算法或库的实现?
让这成为一个分类问题更容易吗?不要计算连续值,而是将结果分为以下几类:15分钟、30分钟、45分钟、60分钟?
一般来说,我是否正确地处理了这个问题,或者是否有更好的处理方法?
提前感谢您的帮助!!
发布于 2017-08-31 17:19:19
回归
你要找的词是“回归”。回归算法是一个映射X= f1,f2,f3的函数。to Y= o1,o2,o3,.其中每一个o都是一个连续变量。这些特性,f1..fn,可以是分类的,也可以是连续的,也可以是两者的混合。
实现
在JavaScript中是否有上述算法或库的实现?
当然,成堆的。试着看看deeplearn.js
至于您想要什么样的算法,我想这取决于变量之间的关系有多复杂。所有这些都可以进行回归。我会按这个顺序试一试:
但让我们考虑一下实际的问题。我不是这个领域的专家,但我怀疑症状是否与预约时间有那么大的关系。
反例(切线)
想象一下:一间办公室里有两名医生。一个会说很多话。一个没有。我发烧了,得到了一个经常说话的人。1小时预约。我带着扭伤的手腕进去,得到了一个不常说话的手腕。2000万次预约。
或者:冬天我流鼻涕。其他50个人也是如此。3小时预约。夏天我流鼻涕。另外一个人也是。一千万预约。
在这些情况下,症状并不占预约时间的很大一部分。不管你的机器学习算法有多棒,它都不能学习不存在的关系。在设计您的机器学习问题时,我建议您注意这一点。
发布于 2017-09-01 07:01:41
一般来说,我是否正确地处理了这个问题,或者是否有更好的处理方法?
我希望我的想法能帮到你。这就是我们处理这个问题的方法。您对ML模型的输入是症状。产出是预约时间的长短。我们可以将其归结为回归问题。我们不只是根据症状名称来预测持续时间。相反,我们根据症状的特点来预测持续时间。首先,您必须收集标记数据来进行ML培训。
例如,在过去的几年中,您收集了1000条记录,每条记录用于一次约会,其中包含以下信息:
在您掌握了数据之后,您将进入步骤,它主要完成以下工作:
在这个步骤之后,您的数据是数字格式的。您可以开始使用ML。我相信在Javascript中有很多ML库。你可以用谷歌搜索一个。
当你有了一个模型后,在病人的UI中,如果他们选择症状,我们会提取症状信息,病人信息,然后将这些信息转换成与我们做ML训练相同的格式,然后ML模型可以预测预约的时间。
这是非常高水平的指导方针,但它可以帮助你想出一个工作版本的拳头。然后,您可以在以后的迭代中改进它。
https://stackoverflow.com/questions/45984240
复制相似问题