《人工智能基础及应用(Python 微课版)》课件 第5.1 数据预处理_第1页
《人工智能基础及应用(Python 微课版)》课件 第5.1 数据预处理_第2页
《人工智能基础及应用(Python 微课版)》课件 第5.1 数据预处理_第3页
《人工智能基础及应用(Python 微课版)》课件 第5.1 数据预处理_第4页
《人工智能基础及应用(Python 微课版)》课件 第5.1 数据预处理_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据预处理语料清洗在实际的数据集中,通常存在着缺失值、异常值等噪声数据。语料清洗包括缺失值处理、异常数据检测与清除,重复值处理等。一致性检查一致性检查是根据每个变量的合理取值范围和相互关系,检查数据是否合乎要求,发现超出正常范围的数据。例如,体重出现了负数,年龄超出正常值范围。SPSS、Excel等软件都能够根据定义的取值范围,自动识别每个超出范围的变量值。格式内容检查

当数据来自多源,数据往往在格式和内容上存在很多问题,例如,时间日期、数值、全半角等显示格式不一致等。例如,性别字段,某来源为“男”和“女”,某来源为“0”和“1”表示男女,需要进行一致化处理。逻辑错误检查

通过逻辑推理发现逻辑上不合理或者相互矛盾的问题数据。例如,“身份证号”和“年龄”两个字段具有相互关联,从而可以进行互相验证处理。缺失值

采集数据时,由于各种因素导致部分样本的数据特性缺失。缺失值通常以空白,NaN或其他占位符编码。缺失值处理一般采用如下方法:删除法和数据填充。删除法:如果某个属性的缺失值过多,可以直接删除整个属性。数据填充:对属性缺失的样本采用其他值,如前后值、中位数、均值进行替代。填充缺失值——df.fillna()fromnumpyimportnanasNaNimportpandasaspddf1=pd.DataFrame([[1,2,3],[NaN,NaN,2],[NaN,NaN,NaN],[8,8,NaN]])print("df1:\n{}\n".format(df1))df2=df1.fillna(100)print("df2:\n{}\n".format(df2))删除缺失值——df.dropna()fromnumpyimportnanasNaNimportpandasaspddf1=pd.DataFrame([[1,2,3],[NaN,NaN,2],[NaN,NaN,NaN],[8,8,NaN]])print("df1:\n{}\n".format(df1))df2=df1.dropna()print("df2:\n{}\n".format(df2))sklearn中imputer类或SimpleImputer类Imputer具体语法如下所示:fromsklearn.preprocessingimportImputerimp=Imputer(missing_values="NaN",strategy="mean")SimpleImputer具体语法如下所示:fromsklearn.imputeimportSimpleImputerimp=SimpleImputer(missing_values=np.nan,strategy="mean")参数含义如下所示:missing_values=np.nan:缺失值是nanstrategy="mean":用平均数,中位数等插值方法的数据异常值“异常数据”又称为离群点,具有与其他数据的显著不同。

通常检测方法如下所示:1)基于邻近度的方法通常可以在对象之间定义邻近性度量,异常对象是那些远离其他对象的对象。2)基于密度的方法仅当一个点的局部密度显著低于它的大部分近邻时才将其分类为离群点。3)基于聚类的方法聚类分析用于发现局部强相关的对象。一般采用Z标准化得到的阈值作为判断标准,超过阈值则为异常。散点图方法

散点图通过展示两组数据的位置关系,可以展示数据的分布和聚合情况,可以清晰直观地看出哪些值是离群点。箱线图方法

箱线图又称箱形图或盒式图,不同于折线图、柱状图或饼图等传统图表只是数据大小、占比、趋势的呈现。箱线图包含统计学的均值、分位数、极值等统计量,用于分析不同类别数据平均水平差异,展示属性与中位数离散速度,并揭示数据间离散程度、异常值、分布差异等。箱线图是一种基于“五位数”摘要显示数据分布的标准化方法

箱形图判断异常值的标准以四分位数和四分位距为基础,当数据在箱线图中超过上四分位1.5倍四分位距或下四分位1.5倍距离时,即小于Q1-1.5IQR或大于Q3+1.5IQR的值被认为是异常值。3σ法则

对于正态分布数据而言,数值分布在(μ-σ,μ+σ)中的概率为0.6827;在(μ-2σ,μ+2σ)中的概率为0.9545;在(μ-3σ,μ+3σ)中的概率为0.9973(μ为平均值,σ为标准差)。重复值

重复值的存在会影响数据分析和挖掘结果的准确性。numpy的unique函数在Numpy中,可以通过unique函数找到数组中的唯一值并返回已排序的结果。

Pandas中的相关方法,如下所示:duplicated()用于判断重复数据记录drop_duplicates()用于删除重复记录数据转换

函数名说

明df.replace(a,b)df.replace(a,b)是指用b替换a值df['col1'].map()对指定列进行函数转换,用于Series。pd.merge(df1,df2)用于合并df1和df2,按照共有的列连接bine_first(df2)用df2的数据补充df1的缺失值。特征预处理

当多个特征大小相差较大,或者某特征的方差相比其他特征数个数量级,容易影响或支配目标结果。特征预处理就是通过转换函数将这些特征数据转换成适合算法模型的过程。方法含义方法名归一化preprocessing.MinMaxScaler标准化preprocessing.StandardScaler鲁棒化Preprocessing.RobustScaler规范化当数据不符合正态分布、异常值较少的时候,为了让特征具有同等重要性,可以采用规范化(normalization)将不同规格的数据转换到同一个规格,即变换到固定的最小最大值的区间。Sklearn提供MinMaxScaler方法进行规范化,具体语法如下所示:MinMaxScaler(feature_range=(0,1))规范化fromsklearn.preprocessingimportMinMaxScalerdefNormalization():#实例化一个转换器类Normalization=MinMaxScaler(feature_range=(0,1))#范围设置为0~1之间data=[[90,2,10,40],[60,4,15,45],[75,3,13,46]]print(data)#调用fit_transformdata_Normal=Normalization.fit_transform(data)print(data_Normal)returnNoneif__name__=='__main__':Normalization()【程序运行结果】[[90,2,10,40],[60,4,15,45],[75,3,13,46]][[1.0.0.0.][0.1.1.0.83333333][0.50.50.61.]]标准化当有些特征的方差过大,会导致无法正确地去学习其他特征,标准化用于解决归一化容易受到样本中极大或者极小的异常值的影响。数据标准化(standardization)将数据按比例缩放到特定区间。标准化后,所有数据都聚集在0附近,方差为1。Sklearn提供StandardScaler()实现标准化,确保数据的“大小”一致,从而利于模型的训练。具体语法如下所示:StandardScaler(copy,with_mean)标准化importnumpyasnpfromsklearn.preprocessingimportStandardScalerdefStandardization():data_list=[[1.5,-1.,2.],[2.,0.,0.]]print('矩阵初值为:{}'.format(data_list))scaler=StandardScaler()data_Standard=scaler.fit_transform(data_list)print('该矩阵的均值为:{}\n该矩阵的标准差为:{}'.format(scaler.mean_,np.sqrt(scaler.var_)))print('标准差标准化的矩阵为:{}'.format(data_Standard))returnNoneif__name__=='__main__': Standardization()矩阵初值为:[[1.5,-1.0,2.0],[2.0,0.0,0.0]]该矩阵的均值为:[1.75-0.51.]

该矩阵的标准差为:[0.250.51.]标准差标准化的矩阵为:[[-1.-1.1.][1.1.-1.]]鲁棒化当数据包含许多异常值,离群值较多时,使用均值和方差缩放不能取得较好效果,可以使用鲁棒性缩放(RobustScaler)进行处理。RobustScaler使用中位数和四分位数进行数据的转换,会直接将异常值剔除Sklearn提供sklearn.preprocessing.RobustScaler()实现鲁棒化,语法如下所示:RobustScaler(quantile_range,with_centering,with_scaling)鲁棒化fromsklearn.preprocessingimportRobustScalerX=[[1.,-2.,2.],[-2.,1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论