一,介绍

现实中往往很多数据是线性不可分的,因此我们需要引入核函数把数据映射到高纬度而达到线性可分。基于核函数的主成分分析(KPCA)和主成分分析(KPCA)的步骤是一样的,只不过需要用核函数替代了原来的数据。

原理从其他地方拷贝而来:

二,代码实现

from sklearn.datasets import make_moons
from sklearn.decomposition import PCA
from sklearn.decomposition import KernelPCA
import matplotlib.pyplot as plt
import numpy as npx2, y2 = make_moons(n_samples=100, random_state=123)if __name__ == "__main__":pca = PCA(n_components=2)x_spca = pca.fit_transform(x2)fig, ax = plt.subplots(nrows=1, ncols=3, figsize=(14, 6))ax[0].scatter(x_spca[y2 == 0, 0], x_spca[y2 == 0, 1], color='red', marker='^', alpha=0.5)ax[0].scatter(x_spca[y2 == 1, 0], x_spca[y2 == 1, 1], color='blue', marker='o', alpha=0.5)ax[1].scatter(x_spca[y2 == 0, 0], np.zeros((50, 1)) + 0.02, color='red', marker='^', alpha=0.5)ax[1].scatter(x_spca[y2 == 1, 0], np.zeros((50, 1)) + 0.02, color='blue', marker='o', alpha=0.5)ax[0].set_xlabel('PC1')ax[0].set_ylabel('PC2')ax[1].set_ylim([-1, 1])ax[1].set_yticks([])ax[1].set_xlabel('PC1')kpca = KernelPCA(n_components=2, kernel='rbf', gamma=15)x_kpca = kpca.fit_transform(x2)ax[2].scatter(x_kpca[y2 == 0, 0], x_kpca[y2 == 0, 1], color='red', marker='^', alpha=0.5)ax[2].scatter(x_kpca[y2 == 1, 0], x_kpca[y2 == 1, 1], color='blue', marker='o', alpha=0.5)plt.show()

结果:

机器学习降维算法五——KPCA算法相关推荐

  1. 排序算法(五)——堆排序算法详解及Python实现

    本文目录 一.简介 二.算法介绍 三.代码实现 排序算法系列--相关文章 一.简介 堆排序(Heap Sort)算法,属于选择排序类,不稳定排序,时间复杂度O(nlogn). 堆排序由Floyd和Wi ...

  2. 机器学习-降维之主成分分析PCA算法原理及实战

    主成分分析 前言 近年来,随着互联网和信息行业的发展,数据已经渗透到各行各业,成为重要的生产因素如数据记录和属性规模的急剧增长.社会已经进入大数据时代,数据越多越好似乎已经成为公理.然而,数据量并不是 ...

  3. 机器学习-降维之奇异值分解SVD算法原理及实战

    奇异值分解 简介 PCA是通过特征值分解来进行特征提取的,但它要求矩阵必须是方阵,但在实际应用场景中,经常遇到的矩阵都不是方阵,如N个学生,每个学生有M门课程,其中N!=M, 这就组成了一个M*N的非 ...

  4. [Python从零到壹] 十四.机器学习之分类算法五万字总结全网首发(决策树、KNN、SVM、分类对比实验)

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

  5. [学习笔记] [机器学习] 8. 聚类算法(聚类算法:K-means、K-means++;聚类算法评估;特征降维:特征选择(Pearson相关系数、Spearman相关系数)、PCA主成分分析)

    视频链接 数据集下载地址:无需下载 1. 聚类算法简介 学习目标: 掌握聚类算法实现过程 知道 K-means 算法原理 知道聚类算法中的评估模型 说明 K-means 的优缺点 了解聚类中的算法优化 ...

  6. (转载)机器学习知识点(十五)从最大似然到EM算法浅解

    从最大似然到EM算法浅解 机器学习十大算法之一:EM算法.能评得上十大之一,让人听起来觉得挺NB的.什么是NB啊,我们一般说某个人很NB,是因为他能解决一些别人解决不了的问题.神为什么是神,因为神能做 ...

  7. 《机器学习与数据挖掘》实验五 编程实现误差逆传播算法(BP算法)

    前言: 摘要:本文对机器学习实验五 标准BP算法的代码进行实现,如果不了解的BP算法的话,可以自行上网搜索BP算法的详解. 实验题目:编程实现误差逆传播算法(BP算法) 实验目的:掌握误差逆传播算法( ...

  8. 四大机器学习降维算法:PCA、LDA、LLE、Laplacian Eigenmaps

    四大机器学习降维算法:PCA.LDA.LLE.Laplacian Eigenmaps 引言 机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中.降维的本质是学习 ...

  9. 机器学习-降维算法(MDS算法)

    机器学习-降维算法(MDS算法) 一,介绍 在现实数据中,很多数据都是高纬度的,在高纬度情况下进行数据处理将会有极大的数据处理量.为了,减少计算量,常常需要缓解这种数据维度灾难,这有两种途径:降维和特 ...

最新文章

  1. Ubuntu下Sublime Text 3解决无法输入中文的方法
  2. @query 注解的定义_SpringDataJpa(5)---定义查询方法
  3. 从user 登陆開始
  4. XeLaTeX插入GB/T 7714-2005规范的参考文献方法
  5. Asp.Net数据库编程-10条最优方法[翻译]
  6. python人工智能——机器学习——特征工程
  7. java string 数据结构_数据结构---Java---String、StringBuilder、StringBuffer
  8. Python笔记-UiSelector中resourceId定位方式
  9. 命令行导出和导入数据库 How to export and import MySQL database using command line Interface...
  10. ORACLE 11G DATA GUARD配置之配置过程
  11. 10.2 广州集训 Day1
  12. VMware公司中文命名挑战赛
  13. 2018年6月11日笔记
  14. [kuangbin带你飞]专题一 简单搜索 - H - Pots
  15. [RE]如何调整堆栈平衡
  16. 太阳电池板特性实验_太阳电池伏安特性的测量
  17. uvaoj 10066 - The Twin Towers 最长公共子序列(LCS)
  18. 【云原生 | 21】Docker运行Web服务实战之Apache
  19. 2021-11-03皮革制作与环保科技
  20. 关于hover改变其他元素

热门文章

  1. 47 FI配置-财务会计-固定资产-一般评估-定义资产分类中的折旧范围
  2. php遍历子分类的函数,emlog程序获取主分类下的所有子分类ID函数
  3. access文本框如何分开_ACCESS 2007 如何在窗体中将一个文本框的内容复制给另外一个文本框?...
  4. OpenCV Mat主要用法(2)_MatExpr
  5. 【炼丹技巧】指数移动平均(EMA)【在一定程度上提高最终模型在测试数据上的表现(例如accuracy、FID、泛化能力...)】
  6. epochs,batch_size,iterations详解
  7. metronic-Website Template
  8. mpython_mPython官方版
  9. css flex布局 模型(CSS justify-content 属性) - 代码案例
  10. JS点击获取验证码后60秒内禁止重新获取(防刷新)