通俗易懂的机器学习——协方差、奇异值分解、PCA、ICA、t-SNE降维代码实现

原理剖析

在上一篇关于降维的博客中我们已经讨论了协方差以及奇异值分解法的原理以及公式推导,在这里不在赘述,可以查看通俗易懂的机器学习——维度的诅咒(深入浅出表述机器学习降维的数学概念与实践)进行回顾。

数据选用

对于数据选用我们使用鸢尾花数据集以及瑞士卷数据集进行代码的实现以及效果的展示

为什么要使用这两个数据集呢?因为鸢尾花是机器学习入门者最常用的数据集之一,相对于多数人来讲更为熟悉,并且他的数据是四维数据,满足需要降维的条件。但是由于我们无法通过画图的方式直观的观测四维数据的分布效果,所以在此我们引入了瑞士卷数据集

鸢尾花数据观测

既然鸢尾花数据无法通过画图的方式直观的观测数据,那为什么还有画图观察呢?首先从习惯上来讲我们首先应该观测数据集,其次我们可以选用其中一部分数据大致观测一下数据的分布情况

import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
from warnings import simplefilter
simplefilter(action='ignore', category=FutureWarning)

plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus']=False  # 用来正常显示负号
iris = datasets.load_iris() #拿到莺尾花数据
X = iris.data[:,2:] #莺尾花的萼片长宽,花瓣长宽,这里只提取花瓣长宽数据
y = iris.target #莺尾花的类别

plt.scatter(X[y==0,0],X[y==0,1])
plt.scatter(X[y==1,0],X[y==1,1])
plt.scatter(X[y==2,0],X[y==2,1])
plt.xlabel('花瓣长')
plt.ylabel('花瓣宽')
plt.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

艾醒(AiXing-w)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值