2015-10-14 26 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是一個帶有許多機器學習算法的程序,您可以嘗試,它也有一個非常簡單的用戶界面,所以適合初學者!一旦你找到了一個運行良好的算法,你可以保存你的訓練模型,並用它來預測新的實例!