谁能提供在机器学习中使用 ICD-10 代码的具体技术?我通常使用一种简单的方法来创建表示 ICD-10 代码的多个二进制列……这可能会变得非常长。或者我使用了散列功能。是否有其他技术或方法可以在 ML 中使用 ICD-10 代码?任何人都可以提供有用的链接来查看对此类功能进行建模的各种方法?
机器学习中的 ICD-10 代码
数据挖掘
机器学习
r
交叉验证
2021-09-25 01:24:38
3个回答
大多数围绕 ICD 代码的机器学习处理自动编码文档或 NLP 以从文档中自动提取 ICD 代码。一旦你拥有它们,我见过的大多数应用程序都会按原样使用它们。
一种简单的替代方法是将代码分配给相关类别,以减少级别的数量并使其更易于解释。例如
- 伤害类型(例如精神障碍的 F00–F99)
- 身体部位(例如 S10-S19 和 .. 用于颈部受伤)
- 受伤的严重程度等。
取决于您的应用程序。当然,如果您不想预先定义类别,可以使用一些聚类或嵌入方法等来完成。
正如您在 Q 中描述的那样,我使用了使用单热编码/虚拟变量的 ICD-10 代码。这会创建一个非常稀疏的二进制设计矩阵,如您所说,它具有大量特征。我用来使其在 RAM 方面更易于管理的一些方法:(出于兴趣,您的唯一代码列有多长,以及行样本数?)
我发现通过使用父代码(例如在 ICD 代码后省略“.”:“G12.21”更改为“G12”),列数更少。
由于设计矩阵是二元的并且非常稀疏,除非您对罕见的诊断感兴趣,否则您可以根据诊断的罕见程度省略许多合并症。例如,为每个患者丢弃一些罕见的诊断(在我的情况下,有 200k 行,列从 ~7,500 减少到 ~6,500)
我打算试试这个 A12.3 形式的代码;取第一个字母,作为字母表中的一个位置,加 10 然后乘以 10,得到 100 到 360 之间的 26 个值 将后两个数字附加到这个数字上,即从上面的例子中加 12,得到 10012。然后附加最后一个数字,即 100123。
这应该为您提供从将 ICD10 代码分析为一棵树所获得的数值上可比较的距离,即在一个分支上彼此靠近的所有代码在另一个分支上在数值上彼此靠近,并且不应溢出太多。我的意思是,一个字母代码的高端数字不应该比另一个字母代码的较低数字更接近组中其他成员的数字。
如果有人有任何意见,我会感兴趣吗?
其它你可能感兴趣的问题