2015-10-14 28 views
0

我不太确定如何说出这一点,如果格式不正确,我很抱歉,但我正试图获得一个基础来解决这个问题。个人项目的最佳数据分析技巧/模型

我试图建立一个预测算法的一组“髋关节手术的患者”,看起来像的数据:

Readmission Time | Symptom Code | Symptom Note | Related 
       6 |   2334 | swelling in hip |  Yes  
       12 |   1324 | anxiety   |  Maybe  
       8 |   2334 | swelling in hip |  Yes  
       30 |   1111 | Headaches  |  No 
       3 |   7934 | easily bruising |  Yes 

对于背景下,医生可以识别一个给定的“症状代码”是否是与X天前发生的“髋关节置换手术”有关。我的数据集中有大约200个符合此格式的条目,我的目标是能够匹配给定集合中的结果,并根据以下内容预测“相关”列中的新结果(具有关于预测结果的确定性统计信息)新的投入。例如,给定:

Input: 20 | 2334 | swelling in hip 
Output: Yes (90% confidence) 

我很新的数据分析和机器学习,所以我真的只是想获得某种东西的指针来查找或从哪里得到我的研究开始。我想有一个最佳的功能/模型可以处理这个最好的问题,但正如我所说我对这个主题非常陌生,所以我不知道从哪里开始。由于我有一个相对较小的数据集,我正在寻找一种技术,如果可能的话,这种技术不容易超过训练。

我真的很感谢任何帮助和指导从何入手。

回答

2

根据你的数据片段,它看起来像一个多类分类问题(3类是Yes,Maybe或No)。

您的专栏(旁白related)将成为您可以简化为数字表示的功能。例如:

对于症状提示功能,你可以有一个映射,如下图所示:

Swelling in hip = 1 
Anxiety = 2 
Swelling = 3 
Easily Bruised = 4 

显然,如果你有症状在这列一个明确的数字这个可以工作。机器学习算法通常使用数字,因此您的特征将从原始数据中提取为数字形式。完成后,您可以将数据输入分类算法。朴素贝叶斯算法是一个很好的开始。

Scikit学习(如果你可以使用python)在3class分类任务中有一个很好的介绍性例子,其中所有的特征都是数字。它试图根据萼片长度,萼片宽度,花瓣长度和花瓣宽度对不同类型的鸢尾花进行分类。

完整的教程可以在这里找到:Supervised learning: predicting an output variable from high-dimensional observations

是否可行,以获得额外的数据?如果是这样,我会建议你获得更多。 200个实例非常小,可能无法正确表示特征空间。此外,将数据拆分成training and test set将进一步减少培训时使用的数量。您也可以选择K-Folds Cross validation

概括地说:导航到那个scikit-learn页面,试试花分类的例子。一旦你熟悉环境,您的数据将需要一些清洁和特征提取。您需要回答如Readmission TimeSymptom Code的含义是什么?这些值是否在指定范围内,具有special的内部含义,或者它们只是像id一样分配的随机数。

+0

哇,非常感谢!这很棒。我无法找到资源,所以我非常感谢。我会看看所有这些,并希望得到一个地方。我可以获得更多数据,但只能分阶段进行。我会有一位顾问会通过我的结果说这个结果是对/错的,然后我将这些信息提供给我的模型,然后重新启动一组新的150-200个条目。 – user2109258

0

我会建议将您的数据转录成ARFF格式,然后将其与Weka一起使用。 Weka是一个带有许多机器学习算法的程序,您可以尝试,它也有一个非常简单的用户界面,所以适合初学者!一旦你找到了一个运行良好的算法,你可以保存你的训练模型,并用它来预测新的实例!