2019-07-31【机器学习】无监督学习之降维PCA算法实例 (鸢尾花)

样本

代码:

import  matplotlib.pyplot as plt
from sklearn.decomposition import PCA
from sklearn.datasets import load_iris #加载鸢尾花数据集导入函数

data = load_iris()#加载数据,array([[5.1 3.5 1.4 0.2].....])
#print(data)
y = data.target #各50个 0,1,2 暂不明作用,
#print(y)
X = data.data
#print(X) #把array换成二维列表,数据不变
pca = PCA(n_components=2)#设置降维后主成分数目为2
reduce_X = pca.fit_transform(X) #对袁术数据进行降维[[-2.68412563  0.31939725]....]
print(reduce_X)
#按类别对降维后的数据进行保存
red_x, red_y = [], []
blue_x, blue_y = [], []
green_x, green_y = [], []

#按照鸢尾花的类别将降维后的数据点保存在不同的列表中
for i in range(len(reduce_X)):
    if y[i] == 0:
        red_x.append(reduce_X[i][0])
        red_y.append(reduce_X[i][1])
    elif y[i] == 1:
        blue_x.append(reduce_X[i][0])
        blue_y.append(reduce_X[i][1])
    else:
        green_x.append(reduce_X[i][0])
        green_y.append(reduce_X[i][1])

#可视化 散点图
plt.scatter(red_x, red_y, c=‘r‘, marker=‘x‘)
plt.scatter(blue_x, blue_y, c=‘b‘, marker=‘D‘)
plt.scatter(green_x, green_y, c=‘g‘, marker=‘.‘)
plt.show()

效果图:

原文地址:https://www.cnblogs.com/ymzm204/p/11277218.html

时间: 2024-10-09 19:53:30

2019-07-31【机器学习】无监督学习之降维PCA算法实例 (鸢尾花)的相关文章

2019-07-25【机器学习】无监督学习之聚类 K-Means算法实例 (1999年中国居民消费城市分类)

样本 北京,2959.19,730.79,749.41,513.34,467.87,1141.82,478.42,457.64天津,2459.77,495.47,697.33,302.87,284.19,735.97,570.84,305.08河北,1495.63,515.90,362.37,285.32,272.95,540.58,364.91,188.63山西,1406.33,477.77,290.15,208.57,201.50,414.72,281.84,212.10内蒙古,1303.9

无监督学习——K-均值聚类算法对未标注数据分组

无监督学习 和监督学习不同的是,在无监督学习中数据并没有标签(分类).无监督学习需要通过算法找到这些数据内在的规律,将他们分类.(如下图中的数据,并没有标签,大概可以看出数据集可以分为三类,它就是一个无监督学习过程.) 无监督学习没有训练过程. 聚类算法 该算法将相似的对象轨道同一个簇中,有点像全自动分类.簇内的对象越相似它的分类效果越好. 未接触这个概念可能觉得很高大上,稍微看了一会其实算法的思路和KNN一样很简单. 原始数据集如下(数据有两个特征,分别用横纵坐标表示),原始数据集并没有任何标

0A04 无监督学习:聚类(2) 近邻算法(Affinity Propagation)

AP算法,具有结果稳定可重现 训练前不用制定K-means中K值,但是算法的时间复杂度比K-means高 import numpy as npfrom sklearn.cluster import AffinityPropagation # 引入AP算法聚类 X = np.array([[1,2],[1,4],[0.7,0],[0.2,5],[0,4],[1.3,0],[0.1,2],[0,4],[0.4,0]]) # 训练数据af = AffinityPropagation(preferenc

无监督学习小记(参考)

下面凌乱的小记一下无监督学习 无监督学习->聚类 降维 聚类:数据相似性 相似性的评估:两个数据样本间的距离 距离:欧氏距离 曼哈顿距离 马氏距离 夹角余弦 sklearn 聚类算法 sklearn.cluster,如k-means 近邻传播 DBSCAN等 标准的数据输入格式:[样本个数,特征个数]定义的矩阵形式 介绍sklearn.cluster |算法名称|参数|可扩展性|相似度度量| |-|-|-|-| 降维 主成分分析PCA PCA常用于高维数据集的探索与可视化,还可以用于数据压缩和预

5.无监督学习-DBSCAN聚类算法及应用

DBSCAN方法及应用 1.DBSCAN密度聚类简介 DBSCAN 算法是一种基于密度的聚类算法: 1.聚类的时候不需要预先指定簇的个数 2.最终的簇的个数不确定DBSCAN算法将数据点分为三类: 1.核心点:在半径Eps内含有超过MinPts数目的点. 2.边界点:在半径Eps内点的数量小于MinPts,但是落在核心点的邻域内的点. 3.噪音点:既不是核心点也不是边界点的点. 如下图所示:图中黄色的点为边界点,因为在半径Eps内,它领域内的点不超过MinPts个,我们这里设置的MinPts为5

分类与监督学习,朴素贝叶斯分类算法

1.理解分类与监督学习.聚类与无监督学习. 简述分类与聚类的联系与区别? 分类与聚类:是把某个对象划分到某个具体的已经定义的类别当中,而聚类是把一些对象按照具体特征组织到若干个类别里. 虽然都是把某个对象划分到某个类别中,但是分类的类别是已经预定义的,而聚类操作时,某个对象所属的类别 却不是预定义的,而是可以根据情况做若干个聚类中心. 简述什么是监督学习与无监督学习. 监督学习与无监督学习:对于新的实例,监督学习可以用于映射出该实例的类别. 对于无监督学习,我们只知道特征,并不知 道答案,不同的

聊聊机器学习中的无监督学习

机器学习分为监督式机器学习.无监督式机器学习和半监督式机器学习.其划分的标准是训练样本是否包含人为标注的结果. (1)监督式机器学习:从给定的训练数据集中学习出一个函数,当新的数据到来时,可以根据这个函数预测结果.监督学习的训练集要求是包括输入和输出,也可以说是特征和目标.训练集中的目标是由人标注的.常见的监督学习算法包括回归分析和统计分类. (2)无监督式机器学习:与监督学习相比,训练集没有人为标注的结果.常见的无监督学习算法有聚类. (3)半监督式机器学习:是监督学习和无监督学习相结合的一种

机器学习 一 监督学习和无监督学习的区别

前话: 最近一直想学机器学习的东西,无奈自己的书太多但无法专心看一本,纯理论的东西看了感觉不记下来就忘记类,所以我想理论学习和实践一起. 所以最近想把机器学习实战这本书看完,并做好记录.加油.!~ 一:什么是监督学习? 监督学习(supervised learning):通过已有的训练样本(即已知数据以及其对应的输出)来训练,从而得到一个最优模型,再利用这个模型将所有新的数据样本映射为相应的输出结果,对输出结果进行简单的判断从而实现分类的目的,那么这个最优模型也就具有了对未知数据进行分类的能力.

机器学习中的有监督学习,无监督学习,半监督学习

在机器学习(Machine learning)领域.主要有三类不同的学习方法: 监督学习(Supervised learning). 非监督学习(Unsupervised learning). 半监督学习(Semi-supervised learning), 监督学习:通过已有的一部分输入数据与输出数据之间的相应关系.生成一个函数,将输入映射到合适的输出,比如分类. 非监督学习:直接对输入数据集进行建模,比如聚类. 半监督学习:综合利用有类标的数据和没有类标的数据,来生成合适的分类函数. 一.监