什么是特征工程?
将原始数据转换为更好地代表预测模型的潜在问题的特征的过程,从而提高了对未知数据的预测准确性,直接影响预测结果。
特征抽取
对文本等特征进行特征值化,为了计算机更好地理解数据
scilit-learn中特征抽取API
sklearn.feature_extraction
- 对字典数据进行特征值化
sklearn.feature_extraction.DictVectorizer
字典特征提取实例
from sklearn.feature_extraction import DictVectorizer
def dictvec():
"""
字典数据抽取
就是把字典中一些类别数据,分别转换成特征,数值类型不会转换
:return:
"""
# 实例化
dict = DictVectorizer(sparse=False) # 就是数据的两种表现方式,加上之后数据编程数组形式
# 调用fit_transform
data = dict.fit_transform([{'city':'北京','temperature':100},
{'city':'上海','temperature':60},
{'city':'深圳','temperature':30}])
print(dict.get_feature_names()) # 返回特征名称
print(data)
return None
if __name__ == '__main__':
dictvec()
输出结果:
[‘city=上海’, ‘city=北京’, ‘city=深圳’, ‘temperature’]
[[ 0. 1. 0. 100.]
[ 1. 0. 0. 60.]
[ 0. 0. 1. 30.]]
前三列的编码方式为One-hot方式,为了节约内存空间