关闭。这个问题是基于意见的。它目前不接受答案。
**想改进这个问题吗?**更新这个问题,这样就可以通过编辑这篇文章用事实和引文来回答。
三个月前关门了。
改进这个问题
我的环境是databricks和apachespark。我有一个很大的病人数据集。我喜欢创建一个主患者表来跟踪可能随时间改变姓名或性别的患者。出生日期和社保号码不变。在这个大数据集中,有非常相似的记录,但不同的病人ID。下面是一个示例数据集。
CREATE OR REPLACE VIEW PatientTable AS
SELECT '1' PatientID, '100-10-fake' SSN, 'abby' FirstName, 'black' LastName, '2000-01-01' DateOfBirth, 'female' Gender, '2020-02-01' LastUpdateDateTime
UNION
SELECT '1a' PatientID, '' SSN, 'abby' FirstName, 'black' LastName, '2000-01-01' DateOfBirth, 'female' Gender, '2020-01-01' LastUpdateDateTime
UNION
SELECT '2' PatientID, '200-10-fake' SSN, 'ben' FirstName, 'white' LastName, '2000-02-01' DateOfBirth, 'male' Gender, '2020-01-01' LastUpdateDateTime
UNION
SELECT '3' PatientID, '300-10-fake' SSN, 'ben' FirstName, 'white' LastName, '2000-02-01' DateOfBirth, 'male' Gender, '2020-02-01' LastUpdateDateTime
UNION
SELECT '3a' PatientID, '' SSN, 'ben' FirstName, 'white' LastName, '2000-02-01' DateOfBirth, 'male' Gender, '2020-01-01' LastUpdateDateTime
UNION
SELECT '4' PatientID, '' SSN, 'chip' FirstName, 'smith' LastName, '2000-03-01' DateOfBirth, 'male' Gender, '2020-01-01' LastUpdateDateTime;
使用sql,我首先使用主患者参考表创建了主患者表。
主病床:
主参考病人表
对于这两个abby(s),我将它们归类为一个病人,因为第二个abby被认为是重复的,因为它的lastUpdateDateTime比较旧。“2”和“3”的患者ID的前两个ben因ssn不同而不同。第三个本(3a)被认为是本(3)的副本,因为本(3)是最新的记录。最终目标是在发生更改时更新主患者表。如果患者表中有新的记录,其中abby的性别变为男性,ssn为chip,那么主患者表应该是这样的:
我的sql解决方案工作得很好。然而,我将开始从不同的医疗机构接收数以百万计的病人。有没有机器学习技术?我应该如何将ml实现到这个系统中?
1条答案
按热度按时间au9on6nz1#
似乎你对什么样的变量差异构成了真正不同的实体有了清晰的认识:ssn和dob。这似乎是一个基于规则的分类很好的候选人;如果这样,那么这个标签;如果是这样,那么这个标签。这不仅是一个明确的方式来立即交付价值,它也是更复杂的机器学习系统的第一步:创建一个基准分类模型,通过它来评估进一步的模型。
开发机器学习模型可能是一项巨大的任务,需要大量的初始投资和维护成本。考虑到你已经阐明的投入和产出之间的明确关系,还不清楚这项工作能否通过成本效益分析。此外,任何模型都可能识别出你所表达的这种清晰的关系,并隐式地对这些变量进行分类。在从事一个高度劳动和资源密集型的ml操作之前,我建议您尝试一个基于规则的系统,可能有一个独特的ssn+dob组合的哈希表(或者,从我对ssn的理解来看,仅仅是一个ssn的哈希表)。