官方文件:
get_dummies():對離散型資料進行one-hot編碼
離散特徵的編碼分為兩種情況:
1、離散特徵的取值之間沒有大小的意義,比如color:[red,blue],那麼就使用one-hot編碼。
2、離散特徵的取值有大小的意義,比如size:[x,xl,xxl],那麼就使用數值的對映,如。
get_dummies()的用法:
引數:
例子(官方文件):
>>
> s = pd.series(
list
('abca'))
>>
> pd.get_dummies(s)
a b c01
0010
1020
0131
00>>
> s1 =
['a'
,'b'
, np.nan]
>>
> pd.get_dummies(s1)
a b01
0101
200>>
> pd.get_dummies(s1, dummy_na=
true
) a b nan01
0010
1020
01
>>
> df = pd.dataframe(
)>>
> pd.get_dummies(df, prefix=
['col1'
,'col2'])
c col1_a col1_b col2_a col2_b col2_c01
1001
0120
1100
2310
001>>
> pd.get_dummies(pd.series(
list
('abcaa'))
) a b c01
0010
1020
0131
0041
00>>
> pd.get_dummies(pd.series(
list
('abcaa'))
, drop_first=
true
) b c00
0110
2013
0040
0>>
> pd.get_dummies(pd.series(
list
('abc'))
, dtype=
float
) a b c
01.0
0.00.0
10.0
1.00.0
20.0
0.01.0
離散特徵處理方法
常用方法 對特徵進行離散化然後進行叉乘,採用笛卡兒積 內積等方式 針對不同特徵型別,有不同的處理方式 區別於顯式特徵組合具有明確的組合解釋資訊,半顯式特徵組合通常的做法是基於樹方法形成特徵劃分並給出相應組合路徑。作用將樣本的連續值輸入ensemble tree,分別在每棵決策樹沿著特定分支路徑最終落...
特徵處理之資料離散化
二元轉換binarizer binarizer是將連續型變數根據某個閾值,轉換成二元的分類變數。小於該閾值的轉換為0,大於該閾值的轉換為1。要求輸入列必須是double,int都會報錯。如下 輸入的是0.1,0.8,0.2連續型變數,要以0.5為閾值來轉換成二元變數 0,1 列印結果 binariz...
Spark 特徵處理之資料離散化
binarizer是將連續型變數根據某個閾值,轉換成二元的分類變數。小於該閾值的轉換為0,大於該閾值的轉換為1。要求輸入列必須是double,int都會報錯。如下 輸入的是0.1,0.8,0.2連續型變數,要以0.5為閾值來轉換成二元變數 0,1 列印結果 binarizer output with...