赞
踩
特征编码
缺失值处理
数据标准化
通过对数据集中的每个样本进行处理,使得处理后的数据具有固定均值和标准差
直观反映每一个取值距离平均值的标准差距离,从而理解特征的整体分布情况
当数据中存在离群值时,为了降低离群值的影响,将标准差替换成平均绝对偏差
Z-score标准化适用于特征的最大值或最小值未知和样本分布非常分散的情况
特征离散化
离群值检测
法一: import xlwt import numpy as np import pandas if __name__ == '__main__': dataset = [] for i in range(0,9): f = xlwt.Workbook() sheet1 = f.add_sheet(u'sheet1',cell_overwrite_ok=True) df = pandas.read_excel('D:\\study\\3\\数据科学\\数据集\\混凝土强度数据集\\Concrete_Data.xls', usecols=[i], names=None) #读取原始数据 df = df.values.tolist() data=(df-np.mean(df))/np.std(df) dataset.append(data) dataFrame = pandas.DataFrame(list(map(np.ravel, dataset))) dataFrame = dataFrame.T #转置 with pandas.ExcelWriter('D:\\study\\3\\数据科学\\数据集\\混凝土强度数据集\\test.xlsx') as writer: dataFrame.to_excel(writer,float_format='%.6f') #写入excel writer.save() #保存 法二: import pandas from sklearn.preprocessing import StandardScaler data = pandas.read_excel('D:\\study\\3\\数据科学\\数据集\\混凝土强度数据集\\Concrete_Data.xls') ## 创建Z-score对象,并使用fit()方法 std_scaler = StandardScaler().fit(data) ## 特征标准化,使用transform()方法 normal_df = std_scaler.transform(data) ## 均值 score_mean = std_scaler.mean_ ## 方差 score_var = std_scaler.var_ ## 打印 print(score_mean) print(score_var) ## 打印 normal_df[0:]
import pandas as pd import numpy as np ##打开excel读取数据 datas = pd.read_excel('D:\\study\\3\\数据科学\\数据集\\皮肤病数据集\\dermatology.xlsx',names=['0','1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31','32','age','34']) print(datas[datas['age']=='?'].index.tolist()) ##求均值 datas1 = datas['age'] datas1 = datas1.tolist() while '?' in datas1: datas1.remove('?') aver = np.mean(datas1[0:]) print(aver) ##填补缺失值 datas['age'].replace('?',aver,inplace=True) ##写入 with pd.ExcelWriter('D:\\study\\3\\数据科学\\数据集\\皮肤病数据集\\new.xlsx') as writer: datas['age'].to_excel(writer) writer.save()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。