Building my first maching learning system
记录一下自己学习中遇到的问题。。
1. IDE使用的是pycharm,暂时没有发现什么问题。
2. 需要用到依赖包scipy& numpy & scikit-learn & matplotlib
其中由于matplotlib 在windows上安装比较麻烦所以在ubuntu上实现。
matplotlib 安装代码:(2选1)
sudo apt install python-matplotlib
sudo pip install matplotlib
3.第一次接触Matplotlib 画图,尝试把《机器学习系统设计》第二章的第一个图画了一下,进行数据的可视化,先对整个iris数据集有一个视觉上的印象方便采取相应的算法,代码如下:
from matplotlib import pyplot as plt
from sklearn.datasets import load_iris
import numpy
data = load_iris()
features = data['data']
feature_names = data['feature_names']
target = data['target']
#plt.figure(12)
plt.subplot(231)
for t,marker,c in zip(xrange(3),">oh","rgb"):plt.scatter(features[target == t,0],features[target == t,1],50,marker = marker,c=c)
plt.xlabel(feature_names[0])
plt.ylabel(feature_names[1])
#plt.plot()
plt.subplot(232)
for t,marker,c in zip(xrange(3),">oh","rgb"):plt.scatter(features[target == t,0],features[target == t,2],50,marker = marker,c=c)
plt.xlabel(feature_names[0])
plt.ylabel(feature_names[2])
#plt.plot()
plt.subplot(233)
for t,marker,c in zip(xrange(3),">oh","rgb"):plt.scatter(features[target == t,0],features[target == t,3],50,marker = marker,c=c)
plt.xlabel(feature_names[0])
plt.ylabel(feature_names[3])
plt.subplot(234)
for t,marker,c in zip(xrange(3),">oh","rgb"):plt.scatter(features[target == t,1],features[target == t,2],50,marker = marker,c=c)
plt.xlabel(feature_names[1])
plt.ylabel(feature_names[2])
plt.subplot(235)
for t,marker,c in zip(xrange(3),">oh","rgb"):plt.scatter(features[target == t,1],features[target == t,3],50,marker = marker,c=c)
plt.xlabel(feature_names[1])
plt.ylabel(feature_names[3])
plt.subplot(236)
for t,marker,c in zip(xrange(3),">oh","rgb"):plt.scatter(features[target == t,2],features[target == t,3],50,marker = marker,c=c)
plt.xlabel(feature_names[2])
plt.ylabel(feature_names[3])
plt.show()
4.画出各个数据点的分布后可以构建第一个分类模型。
5.简单阐述K-means.(clustering 聚类)
k-means 算法的具体步骤:
- 选定 K 个中心
的初值。这个过程通常是针对具体的问题有一些启发式的选取方法,或者大多数情况下采用随机选取的办法。因为前面说过 k-means 并不能保证全局最优,而是否能收敛到全局最优解其实和初值的选取有很大的关系,所以有时候我们会多次选取初值跑 k-means ,并取其中最好的一次结果。
- 将每个数据点归类到离它最近的那个中心点所代表的 cluster 中。
- 用公式
计算出每个 cluster 的新的中心点。
- 重复第二步,一直到迭代了最大的步数或者前后的
的值相差小于一个阈值为止。
Building my first maching learning system相关推荐
- Machine Learning week 6 quiz: Machine Learning System Design
Machine Learning System Design 5 试题 1. You are working on a spam classification system using regular ...
- Coursera公开课笔记: 斯坦福大学机器学习第十一课“机器学习系统设计(Machine learning system design)”
Coursera公开课笔记: 斯坦福大学机器学习第十一课"机器学习系统设计(Machine learning system design)" 斯坦福大学机器学习斯坦福大学机器学习第 ...
- Maching Learning
Machine learning system type 机器学习的类型划分主要基于以下几点: Whether or not they are trained with human supervisi ...
- Maching Learning 学习资料
A星(A*, A Star)算法详解 CSDN技术主题月----"深度学习"代码笔记专栏 UC Berkeley CS188 Intro to AI 本文转自博客园Grandyan ...
- maching learning入门(六)
ml入门(六)powered by @李宏毅 第十五课(Reinforcement Learning) 让机器根据不同的action将会得到不同的response,可能是不好的,也可能是好的.rein ...
- 论文阅读《On Building an Accurate Stereo Matching System on Graphics Hardware》(AD Census-双目立体匹配)
论文地址:On Building an Accurate Stereo Matching System on Graphics Hardware 问题提出 基于SGM的方法速度快,但精度不高,基于 ...
- 简略阅读《Guiding Deep Learning System Testing using Surprise Adequacy》
Guiding Deep Learning System Testing using Surprise Adequacy Abstract 深度学习(DL)系统正迅速被应用于安全和安全关键领域,迫切需 ...
- 《Guiding Deep Learning System Testing using Surprise Adequacy》论文笔记
Guiding Deep Learning System Testing using Surprise Adequacy 原文:Guiding Deep Learning System Testing ...
- Machine learning system design - Error analysis
摘要: 本文是吴恩达 (Andrew Ng)老师<机器学习>课程,第十二章<机器学习系统设计>中第94课时<误差分析>的视频原文字幕.为本人在视频学习过程中记录下来 ...
最新文章
- gcc编译c文件_Linux下C语言程序的编译过程
- auto_ptr动态分配对象
- 进阶学习(1) Gradle 项目管理工具的使用
- Excel2000的数字签名功能
- Hessian Web Service C# 示例
- Iterator:访问数据集合的统一接口
- python 同时发多个请求
- 灵活而又可怕的params参数数组
- oracle 修改数据表结构常用sql
- iTerm2多个窗口同时输入命令
- 最近打算再写一个 局域网聊天软件
- Node.js 用户注册功能的实现
- php升维,svm算法详解
- vue项目运行后自动打开浏览器
- python发邮件被认定为垃圾邮件_【Python】垃圾邮件识别
- android逆向学习路线
- Ubuntu 开机慢的问题排查
- uboot环境变量setenv学习
- 第一单元 用python学习微积分(五) 隐函数微分法和逆函数导数(上)- 隐函数微分
- vim autoformat php,vim - 如何在VI中整理HTML文件的缩进?
热门文章
- 【安卓】音视频开发入门
- 乐鑫ESP8266烧录固件、升级最新固件、刷MQTT固件
- nexus7由Ubuntu刷回原厂安卓系统
- 嵌入式属于人工智能吗?
- JAVA基础(16) Servlet/Filter/Listener/Interceptor区别与联系
- 麦当劳中国开心乐园餐重磅升级:由三件套升级为四件套
- android ratingbar不可点击,Android评分控件RatingBar使用实例解析
- MYIR zynq fpga 学习过程(5)使用PLL/MMCM实现时钟倍频
- 聚焦绿色发展新赛道—MapGIS智慧环保解决方案发布
- P1786 帮贡排序c++良心题解