主成分分析法:主要作用是降维

疑似右侧比较好?

第三种降维方式:

问题:?????

方差:描述样本整体分布的疏密的指标,方差越大,样本之间越稀疏;越小,越密集

第一步:

总结:

问题:????怎样使其最大

变换后:

最后的问题:????

注意区别于线性回归

 使用梯度上升法解决PCA问题:

import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasetsdigits = datasets.load_digits()  # 手写识别数据
X = digits.data
y = digits.targetfrom sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=666)
# 使用K近邻
from sklearn.neighbors import KNeighborsClassifier
knn_clf=KNeighborsClassifier()
knn_clf.fit(X_train,y_train)
a1=knn_clf.score(X_test,y_test)
# print(a1)
# 使用PCA
from sklearn.decomposition import PCA
pca=PCA(n_components=2)
pca.fit(X_train)
X_train_reduction=pca.transform(X_train)
X_test_reduction=pca.transform(X_test)
knn_clf=KNeighborsClassifier()
knn_clf.fit(X_train_reduction,y_train)
a2=knn_clf.score(X_test_reduction,y_test)
# print(a2)# print(pca.explained_variance_ratio_)
pca=PCA(n_components=X_train.shape[1])
pca.fit(X_train)
# print(pca.explained_variance_ratio_)plt.plot([i for i in range(X_train.shape[1])],[np.sum(pca.explained_variance_ratio_[:i+1]) for i in range(X_train.shape[1])])
# plt.show()pca1=PCA(0.95) # 能解释95%以上的方差
pca1.fit(X_train)
print(pca.n_components_)from sklearn.decomposition import PCA
pca=PCA(0.95)
pca.fit(X_train)
X_train_reduction=pca.transform(X_train)
X_test_reduction=pca.transform(X_test)
knn_clf=KNeighborsClassifier()
knn_clf.fit(X_train_reduction,y_train)
a3=knn_clf.score(X_test_reduction,y_test)
print(a3)pca=PCA(n_components=2)
pca.fit(X)
X_reduction=pca.transform(X)
for i in range(10):plt.scatter(X_reduction[y==i,0],X_reduction[y==i,1],alpha=0.8)
plt.show()

scikit-learn中的PCA

第7章 PCA与梯度上升法相关推荐

  1. 07 PCA(主成分分析)之梯度上升法

    上篇讲的是PCA基于矩阵操作方法的实现,本文讲的是基于梯度上升法实现的PCA. PCA之梯度上升法 PCA原理 主成分分析PCA 均值归零(demean) 映射轴和方差 梯度上升法 代码实现 单个主成 ...

  2. 使用梯度上升法求解 PCA 问题

    代码实现: import numpy as np import matplotlib.pyplot as pltX = np.empty((100,2)) X[:,0] = np.random.uni ...

  3. Python机器学习:PCA与梯度上升03求数据的主成分PCA

    梯度上升法解决最优化问题 import numpy as np import matplotlib.pyplot as plt X = np.empty((100,2)) X[:,0] = np.ra ...

  4. matlab ncg,2步非线性共轭梯度(NCG)法

    2步非线性共轭梯度(NCG)法 提出一种求解非线性方程组的2步非线性共轭梯度法(2步NCG法),并在一定条件下证明 (本文共9页) 阅读全文>> 作者提出的自适应共轭梯度方法是对共轭梯度方 ...

  5. 最小二乘法+牛顿法+拟牛顿法+梯度下降法+梯度上升法+共轭梯度法

    最小二乘法+牛顿法+拟牛顿法+梯度下降法+梯度上升法+共轭梯度法 最小二乘法+牛顿法+拟牛顿法+梯度下降法+梯度上升法+共轭梯度法 上述几种方法,除了最小二乘法是直接使用公式取得之外,另外几种方法都是 ...

  6. EL之Boosting之GB(DTR):利用梯度提升法解决回归(对多变量的数据集+实数值评分预测)问题

    EL之Boosting之GB(DTR):利用梯度提升法解决回归(对多变量的数据集+实数值评分预测)问题 目录 输出结果 设计思路 核心代码 输出结果 设计思路 核心代码 xList = [] labe ...

  7. EL之Boosting之GB(DTR):简单回归问题使用梯度提升法(DIY数据集+DTR模型+调两参)

    EL之Boosting之GB(DTR):简单回归问题使用梯度提升法(DIY数据集+DTR模型+调两参) 目录 输出结果 设计思路 核心代码 输出结果 1.eps=0.1,treeDepth=1 2.e ...

  8. Python机器学习:PCA与梯度上升:04求数据的前n个主成分

    获取前N个主成分 #获取前n个主成分 import numpy as np import matplotlib.pyplot as plt 产生数据集 X = np.empty((100,2)) X[ ...

  9. PCA降维(主成分分析法)

    PCA降维(主成分分析法) PCA的基本思想 PCA数学推导(最大方差法) 第一步,数据去中心化 第二步,找到新最标轴 第三步,选择你需要数据的百分之几的成分 PCA算法的优劣 问题 使用PCA到底需 ...

最新文章

  1. View事件分发机制(源码 API27)
  2. 在微信页面中,关闭浏览器
  3. 三十岁前不要去在乎的29件事
  4. 利用FSMT进行文件服务器迁移及整合
  5. 我们如何在Python中创建多行注释?
  6. 使用蓝图构建Flask项目目录
  7. solaris如何启动ssh服务
  8. [leetcode-117]填充每个节点的下一个右侧节点指针 II
  9. 关键字:auto、static、register、const、volatile 、extern 总结
  10. 请说出三种减少页面加载时间的方法
  11. rootkit模拟木马病毒
  12. 今日芯声 | 马云才是孙正义背后的男人!孙正义称从马云身上学到很多
  13. 湖北省创新型中小企业培育申报流程方法及申报时间要求指南
  14. 网络变压器作用(续):带中间抽头的两个线圈组成的网络变压器及其作用
  15. GD32 CANFD仲裁区500K,数据区2M 测试
  16. echarts3实现柱状图和饼图详解
  17. 常见的地磁传感器是怎么工作的
  18. 【券商报告】固态电池行业深度:技术变革之路任重道远,长期利好锂、镍需求——附下载链接
  19. 如何学pyhton深度学习 之 “我的python学习进阶之路”3
  20. matlab商品市场占有率问题,市场占有率与集中度分析–Excel模板

热门文章

  1. java泛型数组替代方案_Kotlin泛型Array T导致“不能将T用作具体类型参数 . 使用类代替“但List T不会...
  2. 设备租赁系统源码_滑雪场一卡通管理系统,设备租赁更简便
  3. python和anaconda一定要对应版本安装吗_Anaconda与Python安装版本对应关系 --- 转载
  4. AT解析层的思路分析及代码实现
  5. 任务的定义、任务切换的原理及实现
  6. java concurrent 框架,java.util.concurrent 包下的 Synchronizer 框架
  7. 江南百景图自动刷水井,附带拼图教程
  8. Android 文本实现跑马灯效果 用自带的TextView控件
  9. C++标准模板库(STL)的概念
  10. threadlocal内存泄露_ThreadLocal 简介