PCA之降维与可视化

一、PCA 降维

1、使用使用sklearn自带数据集load_breast_cancer

from sklearn import datasets
cancer = datasets.load_breast_cancer()
X = cancer.data
y = cancer.target

2、划分训练测试集

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 1/4, random_state = 202

3、定义PCA

from sklearn.decomposition import PCA
n_components = 20
pca = PCA(n_components = n_components).fit(X_train)
X_train_pca = pca.transform(X_train)
X_test_pca = pca.transform(X_test)

4、使用XGB分别对降维前和降维后的训练集进行训练,并对测试集进行预测

import xgboost as xgb
num_round = 50
bst = xgb.train(params, X_train_xgb_origin, num_round, [(X_train_xgb_origin,‘train’),(X_test_xgb_origin,‘test’)])

降维后

num_round = 50
bst = xgb.train(params, X_train_xgb_pca, num_round, [(X_train_xgb_pca,‘train’),(X_test_xgb_pca,‘test’)])
由于数据量较少,因此在速度提升上不明显,但是训练效果有所下降…

二、PCA可视化

1、#将30维特征降到2维

n_components = 2
pca = PCA(n_components = n_components)
X_pca = pca.fit_transform(X)
import matplotlib.pyplot as plt
import numpy as np

#正样本用红色圆形表示,负样本用蓝色三角形表示
plt.scatter(pos[:,0],pos[:,1],s=60,marker = ‘o’,c= ‘r’)
plt.scatter(neg[:,0],neg[:,1],s=60,marker = ‘^’,c= ‘b’)
plt.title(u’PCA降维’)
plt.xlabel(u’维度1’)
plt.ylabel(u’维度2’)
plt.show()
从上图可以看出,正负样本的分布差异比较明显,尤其对于正样本,分布较为集中。

机器学习之PCA降维相关推荐

  1. 机器学习算法-PCA降维技术

    机器学习算法-PCA降维 一.引言 在实际的数据分析问题中我们遇到的问题通常有较高维数的特征,在进行实际的数据分析的时候,我们并不会将所有的特征都用于算法的训练,而是挑选出我们认为可能对目标有影响的特 ...

  2. 人工智障学习笔记——机器学习(11)PCA降维

    一.概念 Principal Component Analysis(PCA):主成分分析法,是最常用的线性降维方法,它的目标是通过某种线性投影,将高维的数据映射到低维的空间中表示,即把原先的n个特征用 ...

  3. 机器学习实战——PCA降维

    文章目录 1 降维技术 2 PCA 2.1 移动坐标轴 2.2 在NumPy中实现PCA 3 示例:利用PCA对半导体制造数据降维 4 总结 Dimensionality reduction tech ...

  4. 【Python机器学习】PCA降维算法讲解及二维、高维数据可视化降维实战(附源码 超详细)

    需要全部代码请点赞关注收藏后评论区留言私信~~~ 维数灾难 维数灾难是指在涉及到向量计算的问题中,当维数增加时,空间的体积增长得很快,使得可用的数据在空间中的分布变得稀疏,向量的计算量呈指数倍增长的一 ...

  5. 【机器学习基础】数学推导+纯Python实现机器学习算法19:PCA降维

    Python机器学习算法实现 Author:louwill Machine Learning Lab 作为一种常见的多元统计分析方法,主成分分析法(Principal Component Analys ...

  6. 【白话机器学习】算法理论+实战之PCA降维

    1. 写在前面 如果想从事数据挖掘或者机器学习的工作,掌握常用的机器学习算法是非常有必要的,在这简单的先捋一捋, 常见的机器学习算法: 监督学习算法:逻辑回归,线性回归,决策树,朴素贝叶斯,K近邻,支 ...

  7. python pca降维_机器学习的降维打击

    文章发布于公号[数智物语] (ID:decision_engine),关注公号不错过每一篇干货. 来源 | SAMshare(id:SAMshare) 作者 | samshare "本次主要 ...

  8. 入门机器学习(十六)--降维(PCA算法)

    降维(PCA算法) 1. 数据压缩(Data Compression) 2. 数据可视化(Data Visuallization) 3. 主成分析问题(Principal Component Anal ...

  9. python pca降维_MLK | 机器学习的降维quot;打击quot;

    "MLK,即Machine Learning Knowledge,本专栏在于对机器学习的重点知识做一次梳理,便于日后温习,内容主要来自于<百面机器学习>一书,结合自己的经验与思考 ...

最新文章

  1. 世界上第一台现代计算机是什么
  2. 基础【循环】-----(枚举器)------(转)
  3. SVG图片以 https 链接的方式展示在页面上,并且可继承父类的颜色大小(类似阿里巴巴iconfont)
  4. ruby 将日期转化为时间_Ruby中的日期和时间类
  5. Dirichlet Process and Stick-Breaking(DP的Stick-breaking 构造)
  6. 黄聪:浓缩的才是精华:浅析GIF格式图片的存储和压缩(转)
  7. matlab2c使用c++实现matlab函数系列教程-asin函数
  8. Media Queries语法总结
  9. paip.VOB DVD视频的无损分割与截取
  10. 远程桌面总是显示正在配置远程会话_Jump Desktop for mac (远程控制软件)
  11. vbs刷屏代码。复制粘贴即可用
  12. 利用中文维基百科训练词向量模型
  13. roundcube db.inc.php,Webmail Roundcube安装配置基础教程
  14. objective-c类别catagory的作用?
  15. 如何用ps把照片变成白底
  16. mysql联合索引的使用规则
  17. Labview字符串转16进制
  18. 对薛兆丰经济学思维的研究:价格的教益
  19. Revit API 之 气泡
  20. android flutter 项目对接友盟AppTrack 以及今日头条投放

热门文章

  1. MVSNet depthfusion配置流程
  2. Excel如何将一张工作表拆分成多个工作表Sheet?
  3. 树莓派制作惠普无线打印机
  4. 是什么让我拒绝了阿里头条的offer
  5. python强制类型转化
  6. Java创建服务端和客户端基础(一)多人在线聊天程序实战基础
  7. oracle批量替换空格
  8. Babel:plugin、preset的区别与使用
  9. ABP 启用多租户实现数据隔离
  10. Nginx日志格式说明