2017-09-27 88 views
0

我正在學習使用Python進行機器學習,並瞭解我無法通過模型運行分類數據,並且必須先獲取假人。我的一些分類數據有空值(僅有2個特徵的一小部分)。當我轉換成傻瓜,然後看看我是否缺少值,它總是顯示沒有。我應該事先進行評估嗎?或者我會根據分類數據進行歸類?例如,如果該類別是男性/女性,我不想用最常見的替換空值。我看到,如果這個功能是收入的話,這將會是有意義的,我將會推測缺失的價值。收入是收入,而男性不是女性。Python機器學習 - 輸入分類數據?

因此,歸類分類數據是否合理?我離開嗎?我很抱歉,這是更多的應用理論比實際的Python編程,但不知道在哪裏發佈這種類型的問題。

+0

你能澄清你的意思嗎? – BradMcDanel

+0

傻瓜用0和1代替分類數據。它還會根據您的要素中不同值的數量來擴大數據集。因此,名爲M/F的功能將具有「男性」或「女性」的值。這在虛擬形式將是2列..男性和女性,二進制0或1,而不是文本。這個特例似乎也引入了共線性,因爲每當男性列爲0時,女性爲1等等。 – user3486773

+0

所以,你只是意思是在一種熱門類型的編碼中映射M/F: M - > [0,1] F-> [1,0] – BradMcDanel

回答

3

我認爲答案取決於您的功能的屬性。

填補缺失數據與expectation maximization(EM)

說你有兩個特點,一個是性別(已丟失數據),另一種是工資(不丟失數據)。如果這兩個特徵之間存在關係,則可以使用工資中包含的信息填寫性別缺失值。

說得更正式一點 - 如果你在性別欄中缺少一個值,但你有一個工資值,EM告訴你P(gender = Male = w0,theta),即性別是男性給出的工資= w0和theta是用最大似然估計獲得的參數。

簡而言之,這可以通過對工資進行性別迴歸(使用邏輯迴歸,因爲y變量是分類)來實現,從而爲您提供上述概率。

視覺:

enter image description here

(這是完全加載特殊值,但傳達的理念,對於男性的工資分配一般高於女性)

在遺漏值#填寫2 如果您認爲數據隨機缺失,即使兩個要素之間沒有關係,也可以使用最常見的觀察來填寫缺失值。但我會保持謹慎。

不要推諉 如果有兩個特徵之間沒有關係,您認爲丟失的數據可能不是隨機丟失。