2015-06-21 84 views
-1

使用標稱值而不是實數或布爾值的最佳方式是包含在機器學習的特徵向量的子集中?機器學習中的標稱值數據集

我應該將每個名義值映射到實際值嗎?

例如,如果我想讓我的計劃去學習的網絡役用戶,其預測模型輸入功能可包括

{性別(布爾),年齡(真正的),工作(標稱值)}

其中因變量可能是網站登錄的次數。

變量作業可能

之一{程序員,藝術家,我國公務員...}。

我應該將PROGRAMMER映射到0,ARTIST映射到1等嗎?

+0

將機器學習算法編碼爲數字沒有任何內在原因。此外,數字的排序可能會讓您或其他人認爲它有一些意義。在以下問題中,請嘗試更仔細地設置格式。 –

+0

謝謝你的建議。 –

回答

1

做一個熱門編碼,如果有的話。

如果您的數據具有分類屬性,建議使用一種算法,該算法可以很好地處理此類數據,而不會受到編碼的破壞,例如決策樹和隨機森林。

+0

如果要考慮分類屬性,可不要將基於神經網絡的算法應用於我的問題? –

+0

決策樹可能是我應該使用的而不是神經網絡。 –

0

如果你讀的書叫「機器學習與星火」,筆者 寫道,


類別特徵

類別特徵,不能作爲原始形式輸入,因爲它們是不是 數字;相反,它們是變量可以採用的一組可能值的成員。在前面提到的例子中,用戶佔用是一個分類變量,可以取得學生,程序員等的價值。

爲了轉化分類變量爲數值表示,我們可以使用稱爲1-的-K編碼一個 常用方法。需要採用諸如1-k編碼 的方法來表示名義變量,這對於機器 學習任務是有意義的。序數變量可能以其原始形式使用,但通常以與名義變量相同的方式編碼 。


我有完全一樣的想法。

我認爲,如果有一個有意義的(精心設計的)將分類(標稱)映射到實際值的轉換函數,我也可以使用只需要數值向量的學習算法。

其實我已經做了一些項目,我不得不這樣做,並沒有提出有關學習系統的表現問題。

有人對我的問題投了反對票, 請取消您的評價。

+0

但我懷疑將實值映射到分類特徵可能導致相關近似中的誤差。 –

+0

例如,將0映射到TEACHER,將10映射到PROGRAMMER可能會產生錯誤的假設,即作業和重量彼此相關。 –