《机器学习Python实战》课件 04-项目2 任务1 数据标准化处理 任务2 数据归一化处理优化_第1页
《机器学习Python实战》课件 04-项目2 任务1 数据标准化处理 任务2 数据归一化处理优化_第2页
《机器学习Python实战》课件 04-项目2 任务1 数据标准化处理 任务2 数据归一化处理优化_第3页
《机器学习Python实战》课件 04-项目2 任务1 数据标准化处理 任务2 数据归一化处理优化_第4页
《机器学习Python实战》课件 04-项目2 任务1 数据标准化处理 任务2 数据归一化处理优化_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

机器学习

项目2任务一数据标准化处理任务二数据归一化处理1任务一数据标准化处理2任务二数据归一化处理目录CONTENTS使用scikit-learn的make_blobs函数生成一个样本量为50、分类数为1、标准差为1的数据集,然后调用绘图工具对数据集进行可视化,接下来,我们使用scikit-learn的preprocessing模块中的StandardScaler类对这个生成的数据集进行标准化处理。任务目标01任务一数据标准化处理数据标准化处理1.数据准备首先需要准备一些数据,我们使用scikit-learn库中内置的一些应用程序接口(applicationprograminterface,API)生成数据集,其中make_blobs函数会根据用户指定的特征数量、中心点数量、范围等来生成几类数据集和相应的标签,函数定义如下:数据标准化处理参数说明n_samplesn_featurescenterscluster_stdcenter_boxshufflerandom_state数据样本点个数,默认值是100。数据的维度,默认值是2。产生数据的中心点,默认值是3。数据集的标准差,浮点数或者浮点数序列,默认值是1.0。中心确定之后的数据边界,默认值是(−10.0,10.0)。数据洗牌,默认值是True。随机生成器的种子。1.数据准备数据标准化处理

使用make_blobs函数生成一个样本量为50、分类数为1、标准差为1的数据集,然后调用绘图工具对数据集进行可视化。#导入绘图工具importmatplotlib.pyplotasplt#导入数据集生成工具fromsklearn.datasetsimportmake_blobsplt.rcParams['font.sans-serif']=['SimHei']#用来正常显示中文标签plt.rcParams['axes.unicode_minus']=False#用来正常显示负号#生成一个样本量为50、分类数为1、标准差为1的数据集X,y=make_blobs(n_samples=50,centers=1,cluster_std=2,random_state=8)#用散点图绘制数据点plt.scatter(X[:,0],X[:,1],c='blue')plt.xlabel('特征1')plt.ylabel('特征2')plt.title('原始数据')plt.show()1.数据准备数据标准化处理图1使用make_blobs函数生成数据数据集中的样本有两个特征,分别对应x轴和y轴,特征1的数值范围为1~13,特征2的数值范围为5~15。1.数据准备数据标准化处理2.数据标准化使用scikit-learn的preprocessing模块中的StandardScaler类对这个生成的数据集X进行预处理。#

导入StandardScalerfrom

sklearn.preprocessing

import

StandardScaler#

使用StandardScaler进行数据处理scaler

=

StandardScaler().fit(X)X_1

=

scaler.transform(X)#

也可以用fit_transform()实现#

X_1

=

StandardScaler().fit_transform(X)#

用散点图绘制经过预处理的数据点plt.scatter(X_1[:,

0],

X_1[:,

1],

c='blue')plt.xlabel('特征1')plt.ylabel('特征2')plt.title('均值方差标准化数据')plt.show()数据标准化处理2.数据标准化图2使用StandardScaler类预处理后的数据数据点的分布情况没有什么不同;x轴和y轴的数值发生了改变,特征1的数值范围为−3~2,特征2的数值范围为−2~2。数据标准化处理2.数据标准化图2使用StandardScaler类预处理后的数据经过StandardScaler类处理后,所有数据的特征值被转换成均值为0、方差为1的符合标准正态分布的数据,可以确保数据的“大小”都是一致的,以便进行模型训练。02任务二数据归一化处理使用scikit-learn的preprocessing模块中的Normalizer类对特征归一化处理。任务目标数据归一化处理

preprocessing模块的Normalizer类用于特征归一化处理,归一化的形式有L1范数、L2范数等。定义形式如下:其中,主要参数norm可以为l1、l2或max,默认为l2。若为l1,样本各个特征值除以各个特征值的绝对值之和。若为l2,样本各个特征值除以各个特征值的平方之和。若为max,样本各个特征值除以样本中特征值最大的值。sklearn.preprocessing.Normalizer(norm=‘l2',

copy=True)数据归一化处理继续使用前面生成的数据集X,对该数据集进行L2范数的归一化处理#导入Normalizerfromsklearn.preprocessingimportNormalizer#使用Normalizer进行数据预处理,默认为L2范数#将所有样本的特征向量转化为欧几里得距离为1;通常在只想保留数据特征向量的方向,而忽略其数值的时候使用X_3=Normalizer().fit_transform(X)#绘制散点图plt.figure(figsize=(6,6))plt.scatter(X_3[:,0],X_3[:,1],c='blue')plt.xlim(0,1.1)plt.ylim(0,1.1)plt.xlabel('特征1')plt.ylabel('特征2')plt.title('L2范数的归一化处理')plt.show()数据归一化处理数据点的分布变成半径为1的圆弧,这种方法将所有样本的特征向量转化为欧几里得距离(欧氏距离)为1,通常在只想保留数据特征向量的方向,而忽略其数值的时候使用。图3使用Normalizer类

温馨提示

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

评论

0/150

提交评论