只讲用法,不讲原理。

前提条件:安装好python,并安装好numpy、matplotlib、sklearn库。

win10安装方法:打开cmd, cd python , pip install numpy,显示collecting numpy后会进行下载并安装;如果下载安装失败,就去显示collecting numpy后给出的链接那儿手动下载,手动下载好了后,cd到保存的路径,然后pip install ***(***指文件名)。
安装成功后,打开IDLE输入import numpy,不报错的话就是安装成功了。如果安装不成功,检查下环境变量里是否已添加python路径,若无,则添加。

import numpy as np
import matplotlib.pyplot as plt
from sklearn.decomposition import FastICA#导入函数

经过FastICA处理后,此时的数据源在图形形状上跟初始数据源具有相似性,但幅度是不一样的,且可能会发生翻转,这是因为ICA是一个不定问题,有多个解符合假设,不是唯一解。

将三个信号进行随机线性混合,得到三个混合信号;然后用FastICA算法进行解混,得到三个源信号。
完整可实现代码部分如下:
import numpy as np
import matplotlib.pyplot as plt
from sklearn.decomposition import FastICA
C = 200
x = np.arange©
a = np.linspace(-2, 2, 25)
s1 = np.array([a, a, a, a, a, a, a, a]).reshape(200, )
s2 = 2 * np.sin(0.02 * np.pi * x)
s3 = np.array(20 * (5 * [2] + 5 * [-2]))
ax1 = plt.subplot(311)
ax2 = plt.subplot(312)
ax3 = plt.subplot(313)
ax1.plot(x,s1)
ax2.plot(x,s2)
ax3.plot(x,s3)
plt.show()
s=np.array([s1,s2,s3])
ran=2*np.random.random([3,3])
mix=ran.dot(s)
ax1 = plt.subplot(311)
ax2 = plt.subplot(312)
ax3 = plt.subplot(313)
ax1.plot(x,mix[0,:])
ax2.plot(x,mix[1,:])
ax3.plot(x,mix[2,:])
plt.show()
ica = FastICA(n_components=2)
mix = mix.T
u = ica.fit_transform(mix)
u = u.T
ax1 = plt.subplot(311)
ax2 = plt.subplot(312)
ax3 = plt.subplot(313)
ax1.plot(x,u[0,:])
ax2.plot(x,u[1,:])
ax3.plot(x,u[2,:])
plt.show()

运行结果如下:


将代码稍加改变,可实现:
直接给出混合信号,用FastICA算法进行解混;
将n个混合信号进行解混得到m个源信号(n≥m)……

入门版python实现独立成分分析法ICA相关推荐

  1. Python专栏 | 独立成分分析(ICA)的实例应用:消除伪影信号

    关注微信公众号:脑机接口研习社 了解脑机接口最近进展 系列文章目录 Python专栏 | 脑电图和脑磁图(EEG/MEG)的数据分析方法之载入数据 Python专栏 | MNE脑电数据(EEG/MEG ...

  2. 主成分分析(PCA)和独立成分分析(ICA)相关资料

    来源:知乎:独立成分分析(ICA)与主成分分析(PCA)的区别在哪里(https://www.zhihu.com/question/28845451) - 一楼:魏天闻 首先回答题主的问题:不管是PC ...

  3. 机器学习笔记 - 独立成分分析(ICA)

    1.概述 独立分量分析 (ICA) 是一种机器学习方法,其中将多元信号分解为不同的非高斯信号.它侧重于独立来源.由于混频处理未知,所以常用ICA作为黑盒.与寻求最大化数据点方差的主成分分析不同. 噪声 ...

  4. 独立成分分析(ICA)

    1.概念 独立成分分析是从多元(多维)统计数据中寻找潜在因子或成分的一种方法.ICA与其它的方法重要的区别在于,它寻找满足统计独立和非高斯的成分.这里我们简要介绍ICA的基本概念.应用和估计原理. 1 ...

  5. 主成分分析 (PCA) 和独立成分分析 (ICA)附Matlab代码

    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步进步,matlab项目目标合作可私信.

  6. 【详细版】独立成分分析:算法和应用(一)

    独立成分分析:算法和应用 翻译原文+自己的理解 原文:Independent component analysis: algorithms and applications 作者:A. Hyvarin ...

  7. 机器学习教程 之 独立成分分析:PCA的高阶版

    有好些天没写博客了,最近一直忙着在看论文,解模型,着实有点头痛.今天趁着又到周末了更一帖(其实是模型解不下去了-),这次来说一下一个在信号分析与数据挖掘领域颇为使实用的算法,独立成分分析(ICA),这 ...

  8. Python专栏 | MNE数据预处理方法——独立成分分析

    关注微信公众号:脑机接口研习社 了解脑机接口最近进展 系列文章目录 Python专栏 | 脑电图和脑磁图(EEG/MEG)的数据分析方法之载入数据 Python专栏 | MNE脑电数据(EEG/MEG ...

  9. Stanford UFLDL教程 独立成分分析

    独立成分分析 Contents [hide] 1概述 2标准正交ICA 3拓扑ICA 4中英文对照 5中文译者 概述 试着回想一下,在介绍 稀疏编码算法中我们想为样本数据学习得到一个超完备基(over ...

最新文章

  1. mstsc连接远程桌面如何挂载本地磁盘
  2. Ubuntu 调节屏幕亮度
  3. python流行趋势_Python流行度再创新高,学Python就从风变编程开始
  4. 全部换新-微软复兴.NET,C#10 .NET6 VS2022各个强势!
  5. obj.val 非数组_在Ruby中使用Array.new(size,obj)创建数组
  6. 钟南山:疫情1周或10天左右达到高峰,不会大规模增加了!
  7. 删除root 家目录,及恢复方法
  8. paip.docfile二进制复合文档
  9. 5种回到顶部的写法从实现到增强
  10. 万能视频格式转换器 v 2018 全能版
  11. 苹果 WWDC21 发布会全汇总,iOS 15更个性化,全家桶协作更有生产力
  12. tensorflow详细安装教程(Win10, Anaconda,Python3.9)
  13. php获取真实客户端IP方法
  14. 华为怎么设置计算机快捷,使用命令快速设置华为路由器
  15. (二)QT5.14.2连接MySQL并使用QtableView显示数据表内容
  16. ElasticJob笔记
  17. 独家 度小满教育、医美分期不做直营了
  18. 怎么退出python
  19. linux asp可以运行吗,宝塔linux面板可以搭建运行asp网站程序吗
  20. 哨兵模式查询redis服务器ip

热门文章

  1. 原根(Primitive Root)
  2. 关于像素、分辨率、PPI、DPI等概念的分析
  3. 1003_(2)我要通过
  4. oracle 110个常用函数,分析函数
  5. 丢弃Excel,Pandas一行搞定
  6. XML 架构参考 (XSD)
  7. pyppeeter 解决淘宝的滑动验证码
  8. RIP和IGRP路由协议的配置
  9. [noip2017] 前三周总结
  10. unity3d 同样工程发布的apk比ipa小很多的故事 !!!这是一个悲惨的故事