day 6 处理连续型数据

import pandas as pd
from sklearn.impute import SimpleImputer

data = pd.read_csv('缺失预处理数据22222.csv', index_col=0)  # 把第0列作为索引
data.loc[:, "Age"] = SimpleImputer(strategy="median").fit_transform(data.loc[:, "Age"].values.reshape(-1, 1))
data.dropna(axis=0, inplace=True)


# todo:         sklearn.preprocessing.Binarizer
# 根据阈值将数据二值化(将特征值设置为0或1),用于处理连续型变量。大于阈值的值映射为1,而小于或等于阈
# 值的值映射为0。默认阈值为0时,特征中所有的正值都映射到1。二值化是对文本计数数据的常见操作,分析人员
# 可以决定仅考虑某种现象的存在与否。它还可以用作考虑布尔随机变量的估计器的预处理步骤(例如,使用贝叶斯
# 设置中的伯努利分布建模)。

from sklearn.preprocessing import Binarizer
# data_2=data.copy()
# X = data_2.iloc[:,0].values.reshape(-1,1)  # 类为特征专用,所以不能使用一维数组
# transformer = Binarizer(threshold=30).fit_transform(X)  # 把38岁以上的变为1,以下的为0
# data_2.iloc[:,0]=transformer
# print(data.head())
# print(data_2.head())

# todo:         preprocessing.KBinsDiscretizer
# # 这是将连续型变量划分为分类变量的类,能够将连续型变量排序后按顺序分箱后编码,以下重要参数


# from sklearn.preprocessing import KBinsDiscretizer
# X = data.iloc[:,0].values.reshape(-1,1)
# est = KBinsDiscretizer(n_bins=3, encode='ordinal', strategy='uniform')
# # print(est.fit_transform(X))
# #查看转换后分的箱:变成了一列中的三箱
# # print(set(est.fit_transform(X).ravel()))
# 
# # 换种编码
# est = KBinsDiscretizer(n_bins=3, encode='onehot', strategy='uniform')
# # #查看转换后分的箱:变成了哑变量
# print(est.fit_transform(X).toarray())
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值