-1
我正在開展一項任務,在該任務中,我必須應用機器學習,根據用戶的行爲和背景對用戶進行集羣。雖然我擁有的一些屬性是數字,但其中大多數屬於分類。如何使用分類屬性作爲聚類算法的輸入?
我讀到的大部分機器學習算法都只使用數字屬性來處理數據。
是否存在將分類屬性作爲輸入的聚類算法?
如果不是,如何將分類屬性轉換爲數字屬性?
我正在開展一項任務,在該任務中,我必須應用機器學習,根據用戶的行爲和背景對用戶進行集羣。雖然我擁有的一些屬性是數字,但其中大多數屬於分類。如何使用分類屬性作爲聚類算法的輸入?
我讀到的大部分機器學習算法都只使用數字屬性來處理數據。
是否存在將分類屬性作爲輸入的聚類算法?
如果不是,如何將分類屬性轉換爲數字屬性?
您可以絕對的功能轉換爲指針變量(也稱爲虛擬變量)。您也可以使用one hot encoder。
例如: 假設數據中有一個TYPE功能。它有三個類別。
data = pd.DataFrame(['A','B','C'],columns=['TYPE'])
data
Out[24]:
TYPE
0 A
1 B
2 C
#Use get_dummies on pandas dataframe.
new_data = pd.get_dummies(data,columns=['TYPE'],prefix='TYPE_')
new_data
Out[26]:
TYPE__A TYPE__B TYPE__C
0 1.0 0.0 0.0
1 0.0 1.0 0.0
2 0.0 0.0 1.0
[LightGBM從Microsoft(https://lightgbm.readthedocs.io/en/latest/Python-intro.html#specific-feature-names-and-categorical-features)支持類別特徵,因爲它是。或者,您可以通過單編碼,二值化等技術將其轉換爲數字。 –