数据特征工程简单入门

什么是数据类型
  • 离散型数据:由记录不同类别个体的数目所得到的数据,又称计数数据,所有这些数据全部都是整数,而且不能再细分,也不能进一步提高他们的精确度。
  • 连续型数据:变量可以在某个范围内取任一数,即变量的取值可以是连续的,如,长度、时间、质量值等,这类整数通常是非整数,含有小数部分。

只要记住一点,离散型是区间内不可分,连续型是区间内可分

特征工程是什么

特征工程是将原始数据转换为更好地代表预测模型的潜在问题的特征的过程,从而提高了对未知数据的模型准确性

  • 直接影响模型的预测结果
sklearn特征抽取API

sklearn.feature_extraction
sklearn.feature_extraction.DictVectorizer 对字典数据进行特征抽取

DictVectorizer.fit_transform(X)       
	X:字典或者包含字典的迭代器
	返回值:返回sparse矩阵
DictVectorizer.inverse_transform(X)
	X:array数组或者sparse矩阵
	返回值:转换之前数据格式
DictVectorizer.get_feature_names()
	返回类别名称
DictVectorizer.transform(X)
	按照原先的标准转换

from sklearn.feature_extraction import DictVectorizer

data = DictVectorizer(sparse=True)  # 实例化类
    dic = data.fit_transform([{'city': '北京', 'temperature': 100},
                              {'city': '上海', 'temperature': 60},
                              {'city': '深圳', 'temperature': 30}]
                             )  # 返回值是sparse矩阵
print(data.get_feature_names())  # 返回需要转换的数据
# ['city=上海', 'city=北京', 'city=深圳', 'temperature']

print(data.inverse_transform(dic))  # 返回转换之前的数据格式
# [{'city=北京': 1.0, 'temperature': 100.0}, {'city=上海': 1.0, 'temperature': 60.0}, {'city=深圳': 1.0, 'temperature': 30.0}]

print(dic)
"""(0, 1)	1.0
   (0, 3)	100.0
   (1, 0)	1.0
   (1, 3)	60.0
   (2, 2)	1.0
   (2, 3)	30.0
"""

以下为最后结果出现的推导

['city=上海', 'city=北京', 'city=深圳', 'temperature'] #是需要转换的数据

[{'city=北京': 1.0, 'temperature': 100.0}, {'city=上海': 1.0, 'temperature': 60.0}, {'city=深圳': 1.0, 'temperature': 30.0}]
# 是之前的数据
会形成一个相当于二维表的DataFrame数据结构


第一条数据是{‘city=北京’: 1.0, ‘temperature’: 100.0}
第二条数据是{‘city=上海’: 1.0, ‘temperature’: 60.0}
第三条数据是{‘city=深圳’: 1.0, ‘temperature’: 30.0}

上海北京深圳temperature
0010100
110060
200130

最后结果代表的意思就是

   (0, 1)	1.0     # 根据(0,1)坐标查询到北京  
   (0, 3)	100.0	#根据(0,3)坐标查询到北京的temperature为100
   (1, 0)	1.0  # 根据(1,0)查询到上海
   (1, 3)	60.0  # 根据(1,3)查询到温度60
   (2, 2)	1.0   #....
   (2, 3)	30.0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值