二值化处理几个注意点:
-
若用oneHotEncoder,注意该函数无法识别NA类型的,因为NA不是整数型,所以需要在二值化前对NA进行缺失值填补;可对指定变量进行编码。
-
如果用get_dummies函数,默认只对字符型变量编码,可把缺失值单独当成一个类别。
若想对数值型编码,事先转换,例如:
demo_df['Integer Feature'] = demo_df['Integer Feauture'].astype(str)
pd.get_dummies(demo_df,columns = ['Integer Feature'])
一个例子:
a = pd.DataFrame(['YES','NO','YES','NO','NO','YES'],columns =['FEE'])
b = pd.get_dummies(a)
返回值b,是uint8格式,无法用于大多数建模的输入。需要转换。
b.info()
<class ‘pandas.core.frame.DataFrame’>
RangeIndex: 3 entries, 0 to 2
Data columns (total 1 columns):
0 3 non-null uint8
dtypes: uint8(1)
memory usage: 83.0 bytes
方法1:——对b处理
b = b.astype(int)
方法2:——利用函数参数指定输出格式
b = pd.get_dummies(a,dtype = int)