楼主: casey_c
1946 2

[程序分享] Scikit-Learn 特征工程工具 [推广有奖]

  • 0关注
  • 10粉丝

博士生

92%

还不是VIP/贵宾

-

威望
0
论坛币
96 个
通用积分
2.1003
学术水平
2 点
热心指数
15 点
信用等级
2 点
经验
11502 点
帖子
278
精华
0
在线时间
94 小时
注册时间
2016-11-22
最后登录
2022-5-2

楼主
casey_c 发表于 2017-6-13 10:51:13 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
以下内容转自 数析学院,只节选了部分,有需要的同学可以直接查看原文

在数据分析中,特征选择往往是我们面临的首要难题,本节将向大家介绍 Scikit-Learn 提供的特征工程相关工具,以便我们在 Python 中更好地对模型的特征进行处理。

1、分类变量特征预处理

首先我们构造如下示例数据:

  1. data = [
  2.     {'price': 850000, 'rooms': 4, 'neighborhood': 'Queen Anne'},
  3.     {'price': 700000, 'rooms': 3, 'neighborhood': 'Fremont'},
  4.     {'price': 650000, 'rooms': 3, 'neighborhood': 'Wallingford'},
  5.     {'price': 600000, 'rooms': 2, 'neighborhood': 'Fremont'}
  6. ]
复制代码


在作为示例的租房数据中,分类变量 neighborhood 可以对应以下三个值:

  1. {'Queen Anne': 1, 'Fremont': 2, 'Wallingford': 3};
复制代码

运用 Scikit-Learn 中的 DictVectorizer 函数,我们将以上租房数据的分类变量转换为 one-hot 形式:

  1. from sklearn.feature_extraction import DictVectorizer
  2. vec = DictVectorizer(sparse=False, dtype=int)
  3. vec.fit_transform(data)
复制代码
array([[     0,      1,      0, 850000,      4],       [     1,      0,      0, 700000,      3],       [     0,      0,      1, 650000,      3],       [     1,      0,      0, 600000,      2]])
可以通过调用 get_feature_names 函数,来查看转换后的数组中对应的列名:
  1. vec.get_feature_names()
复制代码
['neighborhood=Fremont', 'neighborhood=Queen Anne', 'neighborhood=Wallingford', 'price', 'rooms']
要注意的是,当我们将 DictVectorizer 函数参数 sparse 的值设置为 True 时,转换后的对象将不再是一个数组,而是一个 sparse matrix 对象:
  1. vec = DictVectorizer(sparse=True, dtype=int)
  2. vec.fit_transform(data)
复制代码

<4x5 sparse matrix of type '<class 'numpy.int64'>'        with 12 stored elements in Compressed Sparse Row format>

后文还有介绍 文本特征提取、特征项扩充、特征缺失值处理、pipeline 模型等,内容较多,先搬运到这,有需要的同学可以先直接到 数析学院 查看原文
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:scikit-learn Learn Earn Lea ear 工程 搬运 模型 学院

已有 1 人评分经验 收起 理由
我的素质低 + 100 精彩帖子

总评分: 经验 + 100   查看全部评分

沙发
casey_c 发表于 2017-6-16 15:14:52

藤椅
eeabcde 发表于 2017-12-21 10:27:54
谢谢分享

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-2 06:56