《机器学习Python实战》课件 05-项目2 任务3 独热编码处理 任务4 数据PCA降维处理优化_第1页
《机器学习Python实战》课件 05-项目2 任务3 独热编码处理 任务4 数据PCA降维处理优化_第2页
《机器学习Python实战》课件 05-项目2 任务3 独热编码处理 任务4 数据PCA降维处理优化_第3页
《机器学习Python实战》课件 05-项目2 任务3 独热编码处理 任务4 数据PCA降维处理优化_第4页
《机器学习Python实战》课件 05-项目2 任务3 独热编码处理 任务4 数据PCA降维处理优化_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

机器学习

项目2任务三独热编码处理任务四数据PCA降维处理1任务三独热编码处理2任务四数据PCA降维处理目录CONTENTS课程导入独热编码使用preprocessing模块的OneHotEncoder类创建独热编码转换器。任务目标01任务三独热编码处理任务三独热编码处理独热编码通过将分类变量作为二进制向量的表示形式对每个值进行编码。编码就是保证每个样本中的单个特征只有1位处于状态1,其他的都是0。任务三独热编码处理

如果要将分类型数据转换为数值型数据,可以使用preprocessing模块的OneHotEncoder类创建独热编码转换器。import

numpy

as

np#

导入OneHotEncoderfrom

sklearn.preprocessing

import

OneHotEncoder#

原始数据data_type

=

np.array([[0,

1],

[1,

3],

[2,

0],

[1,

2]])#

进行独热编码encoder

=

OneHotEncoder(categories='auto').fit(data_type)data_encoded

=

encoder.transform(data_type).toarray()print(f"编码后的数据:\n{data_encoded}")任务三独热编码处理原始数据图1编码后的数据02任务四数据PCA降维处理

PCA通过计算协方差矩阵的特征值和相应的特征向量,在高维数据中找到最大方差的方向,并将数据映射到一个维度不大于原始数据的新的子空间中。任务目标任务四数据PCA降维处理任务四数据PCA降维处理样本数据使用iris数据集,该数据集含有4个特征向量,一共150条记录,标签分为3类。#

导入iris数据集from

sklearn.datasets

import

load_iris#

加载iris数据集iris

=

load_iris()X

=

iris.dataprint('iris数据集的维度为:',

X.shape)print('iris数据集的前5行数据为:\n',

X[:5])图2查看iris数据集1.导入iris数据集任务四数据PCA降维处理2.指定特征数的降维#

导入PCAfrom

sklearn.decomposition

import

PCA#

指定保留的特征数为3pca_num

=

PCA(n_components=3)#

训练PCA模型pca_num.fit(X)#

对样本数据进行降维X_pca1

=

pca_num.transform(X)#

查看降维结果print('对iris数据集进行指定特征数的降维后的维度为:',

X_pca1.shape)使用PCA类降维可以通过设置n_components这个参数,指定降维后的特征维度数目。现在我们指定iris数据集保留的特征数为3,使用PCA构建模型,并通过fit()方法训练模型,然后使用transform()方法对样本数据进行降维。任务四数据PCA降维处理图3查看降维后的维度查看指定特征数的降维后的数据结果,输入如下代码。print('进行指定特征数降维后,iris数据集的前5行数据为:\n',X_pca1[:5])图4查看降维后的数据2.指定特征数的降维任务四数据PCA降维处理2.指定特征数的降维通过PCA类的属性components_查看指定特征数的原始特征与PCA主成分之间的关系。import

numpy

as

npprint('进行指定特征数的降维后的最大方差的成分:')for

i

in

range(pca_ponents_.shape[0]):

arr

=

np.around(pca_ponents_[i],

2)

print('component{0}:

{1}'.format((i+1),

[x

for

x

in

arr]))图5查看原始特征与PCA主成分之间的关系小结独热编码处理数据PCA降维处理项目拓展项目拓展数据集拆分、标准化和降维处理数据预处理四步走01数据集拆分将数据集划分为训练集和测试集。02数据标准化消除特征量纲差异,提升模型性能。03数据降维使用PCA将高维数据降至2维。04数据可视化直观观察降维后的数据分布。步骤一数据导入与探索代码实现fromsklearn.datasetsimportload_winewine=load_wine()X,y=wine.data,wine.target#输出结果:数据集形状(178,13)#类别标签[012]178个样本wine数据集包含的葡萄酒样本总数13个特征每个样本包含的化学分析维度3个类别葡萄酒被划分的三个分类标签步骤二:数据集拆分代码实现·sklearn.model_selectionX_train,X_test,y_train,y_test=train_test_split(X,y,random_state=8)训练集形状·(133,13)测试集形状·(45,13)训练集TrainingSet133个样本占比约75%用于模型训练,让模型学习数据规律。测试集TestSet45个样本占比约25%用于模型评估,检验模型的泛化能力。步骤三:数据标准化为什么要标准化?许多算法对数据尺度敏感,标准化可以将所有特征缩放到相同尺度(均值为0,方差为1),消除量纲影响。代码实现fromsklearn.preprocessingimportStandardScalerscaler=StandardScaler().fit(X_train)X_train_scaled=scaler.transform(X_train)X_test_scaled=scaler.transform(X_test)效果对比标准化前0.13~1680.0数值跨度极大标准化后-4~+5集中在标准尺度处理后的数据范围变得非常集中,所有特征处于同一量纲,可公平参与模型训练。步骤四:数据降维(PCA)什么是PCA?主成分分析(PCA)是一种降维技术,它能在尽可能保留原始信息的前提下,将高维数据压缩到低维空间。代码实现·Python/scikit-learnfromsklearn.decompositionimportPCApca=PCA(n_components=2)X_train_pca=pca.fit_transform(X_train_scaled)#输出示例:降维后形状(133,2)降维结果13原始特征维数→2降维后维度特征维数从13维成功降至2维,便于可视化。步骤五:数据可视化可视化结果分析经过PCA降维后,三个不同类别的红酒样本在二维空间中呈现出明显的分离趋势。0类别0(红色)主要集中在左侧1类别1(绿色)主要集中在中间2类别2(蓝色)主要集中在右侧结论:PCA成功地捕捉到了数据中的主要结构信息。完整代码回顾01导入库sklearn与matplotlib工具集02数据导入加载wine数据集,拆分特征与标签03数据拆分与标准化划分训练集/测试集,StandardScaler标准化04PCA降维降至2维,便于可视化展示05可视化展示散点图呈现降维后数据分布#核心代码片段fromsklearn.datasetsimportload_wineX,y=load_wine().data,load_wine().targetX_train,X_test=train_test_split(X,random_state=8)#标准化与PCA降维scaler=StandardScaler();X_scaled=scaler.fit_transform(X_train)X_pca=PCA(n_components=2).fit_transform(X_scaled)#可视化plt.scatter(X_pc

温馨提示

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

评论

0/150

提交评论