不同类型变量的数据预处理

本文介绍了数据预处理中的关键步骤,包括类型变量的独热编码和数值变量的标准化处理。类型变量通过独热编码转换为二进制形式,如天气情况的晴天、多云、雨天、雪天。数值变量则通过减去均值并除以标准差实现标准化,使其均值为0,标准差为1。预处理对于后续的机器学习模型训练至关重要,能够提高模型的准确性和泛化能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

所有变量可以分为两种:

一、类型变量。

例如:天气情况可以从1-4中取值,可以用1表示晴天,2表示多云,3表示雨天,4可以表示雪天,诸如此类,我们统称为类型变量,这里需要注意一点是,这些数字大小并没有实际的意义,如4比1大,但不代表雪天就会比晴天更好。

二、数值变量。

例如:分数,温度等,这些可以从一个数值区间中连续取值的变量我梦统称为数值变量。

通过以上我们发现,不同类型变量的数值含义也不同,因此,在进行研究前我们需要对其进行预处理。

数据预处理:

类型变量→独热编码(one-hot)

将类型变量转化为独热编码

季节类型独热编码
1(1,0,0,0)
2(0,1,0,0)
3(0,0,1,0)
4(0,0,0,1)

代码:

dummy_fields = ['所有类型的编码变量的名称']
for ench in dummy_fields:
#取出所有类型变量,并将它们转变为独热编码
	dummies = pd.get_dummies(rides[each], prefix=each, drop_first=false)
	#将新的独热编码变量与原有的所有变量合并到一起
	rides = pd.concat([rides,dummies], axis=1)]
	#将原来的类型变量从数据表中删除
fields_to_drop = ['要删除的类型变量名称']
data = rides.drop(fields_to_drop, axit=1)
数值类型→标准化处理

用变量的均值和标准差来对变量做标准化,从而把特征数值的平均值变为0,标准差变为1。
代码:

quant_f = ['数值变量类型的名称']
scaled_f = {}  # 将每一个变量的均值和方差都存储到scaled_f变量中
for each in quant_f:
	# 计算这些变量的均值和方差
	mean, std = data[each].mean(),data[each].std()
	scaled_f[each] = [mean,std]
	data.loc[:,each] = (data[each] - mean]/std
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值