一、独热编码
当我们在机器学习做特征工程时,如果某个categorical特征具有多个符号值,则不可能对具有这种特征的数据进行训练,而独热编码是解决这个问题的一种方法。比如我们有一个特征是protocol_type有三个值:tcp,udp,icmp,那么我们可以将三个名为tcp,udp,icmp的列追加到数据中,以表示protocol_type的值。最后,从数据中删除protocol_type这一列,如下表所示。
二、代码示例
# -*- coding: utf-8 -*-
import pandas as pd
def one_hot(df):
protocol_type_one_hot = pd.get_dummies(df["protocol_type"])
df = df.drop('protocol_type', axis=1)
df = df.join(protocol_type_one_hot)
return df
if __name__=='__main__':
df=pd.read_csv('data.csv')
df=one_hot(df)
这个就是我们常在特征工程中使用的独热编码(One-hot Encoding)方法。