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())
day 6 处理连续型数据
最新推荐文章于 2023-12-18 11:02:59 发布