0.K-means from __future__ import print_function from pyspark.ml.clustering import KMeans#硬聚类 #from pyspark.ml.evaluation import ClusteringEvaluator#2.2版本支持评估,2.1版本不支持 from pyspark.sql import SparkSession ! head -5 data/mllib/sample_kmeans_data.txt#展示…
样本 代码: 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 = da…
代码 from numpy.random import RandomState #加载RandomState用于创建随机种子 import matplotlib.pyplot as plt from sklearn.datasets import fetch_olivetti_faces from sklearn import decomposition n_row, n_col = 2, 3 #设置图像展示时的排列情况 n_components = n_row * n_col image_sh…
前言 在上篇<Python 机器学习实战 -- 监督学习>介绍了 支持向量机.k近邻.朴素贝叶斯分类 .决策树.决策树集成等多种模型,这篇文章将为大家介绍一下无监督学习的使用.无监督学习顾名思义数据中不包含已知的输出结果,学习算法中只有输入数据,算法需要从这些输入数据中提取相关规律.无监督学习主要分为两种类型:数据集变换与聚类算法,数据集的无监督变换是创建数据集的新的表达方式,使其特性更容易理解,最常见的模型有 PCA.NMF.t-SNE 等模型.聚类算法则是将数据划分成不同的组,每组数据中包…
前言 在上篇< Python 机器学习实战 -- 无监督学习(上)>介绍了数据集变换中最常见的 PCA 主成分分析.NMF 非负矩阵分解等无监督模型,举例说明使用使用非监督模型对多维度特征数据集进行降维的意义及实用方法.对 MDS 多维标度法.LLE 局部线性嵌入法.Isomap 保距映射法.t-SNE 分布邻域嵌入算法等 ML 流形学习模型的基础使用方法进行讲解.本文将对聚类算法进行讲解,聚类算法就是将数据集划分成组的任务,这些组叫成簇,同一个簇内的数据点特征非常相似,不同簇内的数据点特征区…
在上一节介绍了一种最常见的降维方法PCA,本节介绍另一种降维方法LLE,本来打算对于其他降维算法一并进行一个简介,不过既然看到这里了,就对这些算法做一个相对详细的学习吧. 0.流形学习简介 在前面PCA中说到,PCA是一种无法将数据进行拉直,当直接对于曲面进行降维后,导致数据的重叠,难以区分,如下图所示: 这是因为在使用PCA降维时,PCA仅仅关注于保持降维后的方差最大,没有考虑样本的局部特征,如图所示: 利用PCA在对点①进行降维后,没有考虑点①与其他点②.③.④..的位置关系,也就是说对于点…
众所周知,机器学习的训练数据之所以非常昂贵,是因为需要大量人工标注数据. autoencoder可以输入数据和输出数据维度相同,这样测试数据匹配时和训练数据的输出端直接匹配,从而实现无监督训练的效果.并且,autoencoder可以起到降维作用,虽然输入输出端维度相同,但中间层可以维度很小,从而起到降维作用,形成数据的一个浓缩表示. 可以用autoencoder做Pretraining,对难以训练的深度模型先把网络结构确定,之后再用训练数据去微调. 特定类型的autoencoder可以做生成模型…
样本: 代码: import numpy as np import PIL.Image as image from sklearn.cluster import KMeans def loadData(filePath): f = open(filePath, 'rb') #二进制形式打开文件 data = [] img = image.open(f) m, n = img.size #获取图片的大小 for i in range(m): #将每个像素点RGB颜色处理到0-1 for j in…
样本: import numpy as np import sklearn.cluster as skc from sklearn import metrics import matplotlib.pyplot as plt mac2id = dict() onlinetimes = [] f = open('D:\python_source\Machine_study\mooc课程数据\课程数据\聚类\学生月上网时间分布-TestData.txt', encoding='utf-8') for…
样本 北京,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…
前面主要回顾了无监督学习中的三种降维方法,本节主要学习另一种无监督学习AutoEncoder,这个方法在无监督学习领域应用比较广泛,尤其是其思想比较通用. AutoEncoder 0.AutoEncoder简介 在PCA一节中提到,PCA的可以看做是一种NN模型,通过输入数据,乘以权重w即可得到降维后的数据c,然后再利用c将数据进行还原.如下图: 上面就是AutoEncoder的基本结构,对于前半部分(降维)是一个Encoder的过程,而对于后半部分(还原)则是一个Decoder的过程. 这里E…
监督学习算法需要标记的样本(x,y),但是无监督学习算法只需要input(x). 您将了解聚类 - 用于市场分割,文本摘要,以及许多其他应用程序. Principal Components Analysis, 经常用于加快学习算法,同时对于数据可视化以帮助你对数据的理解也有很大的帮助. Unsupervised learning Introduction supervised learning:在前面几课我们学习的都是属于监督性学习的内容,包括回归和分类,主要特点就是我们使用的数据集都是类似(x…
前面对半监督学习部分作了简单的介绍,这里开始了解有关无监督学习的部分,无监督学习内容稍微较多,本节主要介绍无监督学习中的PCA降维的基本原理和实现. PCA 0.无监督学习简介 相较于有监督学习和半监督学习,无监督学习就是从没有标签的数据中进行知识发现的过程. 更具体地说,无监督学习可以分成两个方面,一:称之为化繁为简,二称之为无中生有. 所谓化繁为简,就是将比较复杂的数据进行"简单化",此时将数据作为输入,输出则是从数据中所发现更为"简单"的内容,如下图所示: 图…
Python Scikit-learn *一组简单有效的工具集 *依赖Python的NumPy,SciPy和matplotlib库 *开源 可复用 sklearn库的安装 DOS窗口中输入 pip install ** NumPy(开源科学计算库),SciPy(集成多种数学算法和函数模块)和matplotlib(提供大量绘图工具)库基础上开发的,因此需要先装这些依赖库 安装顺序 SKlearn库中的标准数据集及基本功能 波士顿房价数据集 使用sklearn.datasets.load_bosto…
本文仅对常见的无监督学习算法进行了简单讲述,其他的如自动编码器,受限玻尔兹曼机用于无监督学习,神经网络用于无监督学习等未包括.同时虽然整体上分为了聚类和降维两大类,但实际上这两类并非完全正交,很多地方可以相互转化,还有一些变种的算法既有聚类功能又有降维功能,一些新出现的和尚在开发创造中的无监督学习算法正在打破聚类和降维的类别划分.另外因时间原因,可能有个别小错误,如有发现还望指出. 一.聚类(clustering) 1.k-均值聚类(k-means) 这是机器学习领域除了线性回归最简单的算法了.…
监督学习经典模型 机器学习中的监督学习模型的任务重点在于,根据已有的经验知识对未知样本的目标/标记进行预测.根据目标预测变量的类型不同,我们把监督学习任务大体分为分类学习与回归预测两类.监督学习任务的基本流程:首先准备训练数据,可以是文本.图像.音频等:然后抽取所需要的特征,形成特征向量,接着把这些特征向量连同对应的标记/目标(Labels)一并送入学习算法中,训练一个预测模型,然后采用同样的特征抽取方法作用于新测试数据,得到用于测试的特征向量,最后使用预测模型对这些待测试的特征向量进行预测并得…
如果要对硬币进行分类,我们对硬币根据不同的尺寸重量来告诉机器它是多少面值的硬币 这种对应的机器学习即使监督学习,那么如果我们不告诉机器这是多少面额的硬币,只有尺寸和重量,这时候让机器进行分类,希望机器对不同种类的硬币分类,这种机器学习方式就是无监督学习.可以从下图看出,监督学习,根据颜色(面值)可以得出不同种类,而无监督学习也可根据所样例在的不同区域对样例进行分类. 根据聚类分组clustering: {xn} -> cluster(x) 根据密度分组density estimation{Xn}…
前言 本系列教程基本就是摘抄<Python机器学习基础教程>中的例子内容. 为了便于跟踪和学习,本系列教程在Github上提供了jupyter notebook 版本: Github仓库:https://github.com/Holy-Shine/Introduciton-2-ML-with-Python-notebook 系列教程总目录 Python机器学习基础教程 引子 导入必要的包 import numpy as np import matplotlib.pyplot as plt im…
前言 本系列教程基本就是摘抄<Python机器学习基础教程>中的例子内容. 为了便于跟踪和学习,本系列教程在Github上提供了jupyter notebook 版本: Github仓库:https://github.com/Holy-Shine/Introduciton-2-ML-with-Python-notebook 系列教程总目录 Python机器学习基础教程 引子 先导入必要的包 import numpy as np import matplotlib.pyplot as plt i…
转载 http://daniellaah.github.io/2016/Machine-Learning-Andrew-Ng-My-Notes-Week-1-Introduction.html 一. 监督学习 什么是监督学习? 我们来看看维基百科中给出的定义: 监督式学习(英语:Supervised learning),是一个机器学习中的方法,可以由训练资料中学到或建立一个模式(函数 / learning model),并依此模式推测新的实例.训练资料是由输入物件(通常是向量)和预期输出所组成.…
深度学习 (DeepLearning) 基础 [1]---监督学习与无监督学习 Introduce 学习了Pytorch基础之后,在利用Pytorch搭建各种神经网络模型解决问题之前,我们需要了解深度学习的一些基础知识.本文主要介绍监督学习和无监督学习. 以下均为个人学习笔记,若有错误望指出. 监督学习和无监督学习 常见的机器学习方法的类型如下: 监督学习:用已知标签的训练样本训练模型,用来预测未来输入样本的标签,如用于逻辑回归分类器. 无监督学习:不需要有已知标签的训练样本,而是直接对数据建模…
前言 本系列教程基本就是摘抄<Python机器学习基础教程>中的例子内容. 为了便于跟踪和学习,本系列教程在Github上提供了jupyter notebook 版本: Github仓库:https://github.com/Holy-Shine/Introduciton-2-ML-with-Python-notebook 系列教程总目录 Python机器学习基础教程 引子 先导入必要的包 import numpy as np import matplotlib.pyplot as plt i…
前言 本系列教程基本就是摘抄<Python机器学习基础教程>中的例子内容. 为了便于跟踪和学习,本系列教程在Github上提供了jupyter notebook 版本: Github仓库:https://github.com/Holy-Shine/Introduciton-2-ML-with-Python-notebook 系列教程总目录 Python机器学习基础教程 引子 先导入必要的包 import numpy as np import matplotlib.pyplot as plt i…
模型保存和加载 sklearn模型的保存和加载API from sklearn.externals import joblib 保存:joblib.dump(rf, 'test.pkl') 加载:estimator = joblib.load('test.pkl') 线性回归的模型保存加载案例 def linear3(): """ 岭回归的优化方法对波士顿房价预测 """ #获取数据 boston=load_boston() #划分数据集 x_t…
一.Matplotlib基础知识 Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形. 通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案. 它也可以和图形工具包一起使用,如 PyQt 和 wxPython. 1.Matplotlib中的基本图表包括的元素 x轴和y轴 axis水平和垂直的轴线…
1-1/1.2,基本上都是一些基础知识,机器学习的背景,发展,概念,用途 1-3,监督学习: 数据集类型已知,数据信息为已知正解--由已知正解推测趋势(拟合分布函数)-- 给出的模型例子--基本类似于计量经济学/统计推断的思路: 房价VS房子高度(一维拟合,回归问题) 乳腺癌—良性/恶性VS尺寸(一维0/1) 年龄+尺寸VS良性/恶性(二维拟合) 垃圾信息筛除 1-4,无监督学习: 数据集类型未知,数据信息正解未知,按照规定的某些特征自动遍历分类型 聚类算法例子 关键字链接分类新闻 基因表达分类…
本文简单整理了以下内容: (一)维数灾难 (二)特征提取--线性方法 1. 主成分分析PCA 2. 独立成分分析ICA 3. 线性判别分析LDA (一)维数灾难(Curse of dimensionality) 维数灾难就是说当样本的维数增加时,若要保持与低维情形下相同的样本密度,所需要的样本数指数型增长.从下面的图可以直观体会一下.当维度很大样本数量少时,无法通过它们学习到有价值的知识:所以需要降维,一方面在损失的信息量可以接受的情况下获得数据的低维表示,增加样本的密度:另一方面也可以达到去噪…
spark的机器学习库,包含常见的学习算法和工具如分类.回归.聚类.协同过滤.降维等使用算法时都需要指定相应的数据集,下面为大家介绍常用的spark ml 数据类型.1.本地向量(Local Vector)存储在单台机器上,索引采用0开始的整型表示,值采用Double类型的值表示.Spark MLlib中支持两种类型的矩阵,分别是密度向量(Dense Vector)和稀疏向量(Spasre Vector),密度向量会存储所有的值包括零值,而稀疏向量存储的是索引位置及值,不存储零值,在数据量比较大…
MNIST 卷积神经网络.https://github.com/nlintz/TensorFlow-Tutorials/blob/master/05_convolutional_net.py .TensorFlow搭建卷积神经网络(CNN)模型,训练MNIST数据集. 构建模型. 定义输入数据,预处理数据.读取数据MNIST,得到训练集图片.标记矩阵,测试集图片标记矩阵.trX.trY.teX.teY 数据矩阵表现.trX.teX形状变为[-1,28,28,1],-1 不考虑输入图片数量,28x…
概述 在机器学习领域,主要有三类不同的学习方法: 监督学习(Supervised learning) 非监督学习(Unsupervised learning) 半监督学习(Semi-supervised learning) 定义 监督学习:通过已有的一部分输入数据与输出数据之间的对应关系,生成一个函数,将输入映射到合适的输出,例如分类. 非监督学习:直接对输入数据集进行建模,例如聚类. 半监督学习:综合利用有类标的数据和没有类标的数据,来生成合适的分类函数. 区别 是否有监督(supervise…