Tensorflow快速入门1--实现K-Means聚类算法
来源:互联网 发布:电子商务软件教材 编辑:程序博客网 时间:2024/06/06 00:15
Tensorflow快速入门1–实现K-Means聚类算法
环境:
虚拟机ubuntun16.0.4
Tensorflow版本:0.12.0(仅使用cpu下,pip命令安装)
目录
1.环境搭建
1.1Tensorflow的安装
1.2简单测试Tensorflow
1.3Tensorflow学习文档
1.4Python相关的库Seaborn、pandas安装
2.TensorFlow实现K-Means聚类算法
2.1最基本的K-Means聚类算法步骤
2.2TensorFlow实现K-Means聚类算法
2.3测试数据准备
2.4完整的kmeans.py文件
2.5简单测试结果
1.环境搭建
1.1Tensorflow的安装
这里通过pip安装(只安装cpu单机版的,有条件的可以安装gpu下的)。
- 1
- 2
注意:如果pip安装Tensorflow时失败,可尝试上述命令重新安装。再次安装则成功。
1.2简单测试Tensorflow
按照下述简单测试Tensorflow安装成功。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
1.3Tensorflow学习文档
Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从流图的一端流动到另一端计算过程。TensorFlow使用基础数据结构—tensor来表示所有数据。一个tensor可以看成是一个拥用静态数据类型动态大小且多维的数组,它可以从布尔或string转换成数值类型。
Tensorflow的具体细节及框架可在Tensorflow中文社区学习,上面内容非常详细:
http://www.tensorfly.cn/tfdoc/get_started/introduction.html
Tensorflow源码下载:
https://github.com/tensorflow/tensorflow
1.4Python相关的库Seaborn、pandas安装
Tensorflow支持多种前端语言,但对Python的支持是最好的,因此开发大多基于Python。在python编程中,计算及画图需要用到一些包,主要有matplotlib、Seaborn、NumPy、pandas等。这里安装Seaborn(其实也是基于matplotlib的,用起来更方便简洁),数据用库pandas,画图时用起来更方便简洁(NumPy也一样,画图时稍微麻烦)。
Ubuntun下自带的有python。这里建议以下四个都安装一下。
安装Seaborn:sudo pip install seaborn
安装pandas:sudo pip install pandas
安装numpy:sudo pip install numpy
安装matplotlib:sudo pip install matplotlib
由于后续开发中需要利用python计算等等,所以这里可以把numpy和matplotlib也都安装上。
当然也可以使用apt-get安装,安装不成功时上网搜搜解决方法,这个应该很简单的。
2.TensorFlow实现K-Means聚类算法
2.1最基本的K-Means聚类算法步骤
上述是最基本的k-menas算法,各种改进自行查找资料及文档。
2.2TensorFlow实现K-Means聚类算法
这里使用Sachin Joglekar基于tensorflow写的一个kmeans模板,见Sachin Jogleka的原文
2.3测试数据准备
注意:测试数据是随机生成的数据,每次运行结果会不一样
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
注意:单独运行上述代码需要导入包:
- 1
- 2
- 3
- 4
2.4完整的kmeans.py文件
kmeans.py,可以在终端中直接使用:
python+kmeans.py路径+kmeans.py运行
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
2.5简单测试结果
在测试时把最大迭代次数设为了20。
运行代码:python ~/Test/kmeans.py
(注意python文件路径)
1)sampleNo = 100
聚类中心:
聚类结果:
2)sampleNo = 1000
聚类中心:
聚类结果:
- Tensorflow快速入门1--实现K-Means聚类算法
- Tensorflow快速入门1--实现K-Means聚类算法
- tensorflow入门Day2-K-means实现详解
- Tensorflow实现k-means
- TensorFlow实现K-means
- Matlab实现k-means聚类算法
- K-Means聚类算法 --Matlab实现
- 【JAVA实现】K-means聚类算法
- 聚类算法-K-means-C++实现
- K-Means聚类算法java实现
- Python实现K-Means聚类算法
- K-Means聚类算法的实现
- k-means聚类算法python实现
- k means算法入门
- 用java实现K-means算法,k-means聚类算法原理
- 聚类算法(1) ---- K-Means
- K-means算法实现
- K-means算法实现
- mysql 实现批量更新多条数据为不同的值
- NameValuePair问题
- 混合开发APP
- SpringDataJpa的Specification查询
- 详解TensorBoard如何调参
- Tensorflow快速入门1--实现K-Means聚类算法
- hdu5920-Ugly Problem(强行模拟)
- 很全的SQL语句,值得收藏
- Batch Normalization 学习笔记
- 键值对的高效插入与查询-hash-哈希
- [深度学习PART I] 单层感知器
- encode string with shortest length(路还很远)
- 逻辑回归--sklearn基本使用
- 作为程序员,我们应不应学好英语?