特征工程
一、分类特征
常用的解决方法是独热编码( One-Hot 编码)。 它可以有效增加额外的列, 让 0 和 1 出现在对应的列分别表示每个分类值有或无。
1、pandas库
pd.get_dummies()
pandas.get_dummies(data, prefix=None, prefix_sep='_', dummy_na=False, columns=None, sparse=False, drop_first=False, dtype=None)
参数说明:
- data:array-like, Series, or DataFrame
- prefix:给输出的列添加前缀,如prefix=“A”,输出的列会显示类似
- prefix_sep:设置前缀跟分类的分隔符sepration,默认是下划线"_"
实例解释:
对指定的列
在这里插入代码片
2、scikit-learn库
2.1 DictVectorizer
可以用于处理对象是符号化(非数字化)的但是具有一定结构的特征数据,如字典等。
DictVectorizer对非数字化的处理方式是,借助原特征的名称,组合成新的特征,并采用0/1的方式进行量化,而数值型的特征转化比较方便,一般情况维持原值即可。
from sklearn.feature_extraction import DictVectorizer
data = [{
'price': 850000, 'rooms': 4, 'neighborhood': 'Queen Anne'},
{
'price': 700000, 'rooms': 3, 'neighborhood': 'Fremont'},
{
'price'