python机器学习

机器学习综述

99封情书 提交于 2020-02-10 15:47:47
机器学习综述 从海量数据中抽取有价值的信息 机器学习的任务是分类,将实例数据划分到合适的分类中 一般是使用训练集样本作为算法的输入,训练完成之后输入测试样本 监督学习 已知类别的样本,知道预测什么,从标记的训练数据集推断一个功能的机器学习任务 常见的监督学习包括分类和回归 knn算法 朴素贝叶斯算法 支持向量机 决策树 线性回归 局部加权线性回归 Ridge回归 lasso最小回归系数估计 无监督学习 数据没有类别信息,也不会给定目标值。将数据集分成由类似的对象组成的多个类的过程叫做聚类,将寻找描述数据统计值的过程称之为密度估计 k-means DBSCAN 最大期望算法 如何选择合适的算法 若是预测目标变量的值,可以选择监督算法 若需要将数据化为离散的组,则需要进行聚类 需要考虑数据是离散变量还是连续变量,特征值中是否存在缺失值,是何种原因造成的缺失值,数据中是否存在异常值,某个特征发生的频率如何 分析步骤 收集数据 处理数据 分析数据,可以通过图形的展示 训练算法(针对监督学习的,无监督学习不需要训练算法 评估算法 应用 需要掌握的python的几个库 numpy pandas scikit-learn 待补充 来源: https://www.cnblogs.com/gaowenxingxing/p/12290923.html

机器学习

你离开我真会死。 提交于 2020-02-08 11:58:30
概念 分类、回归、监督学习、非监督学习 机器学习步骤 获取数据 获取、清洗、存储(hdfs) 数据拆分训练集和测试集 用特征向量训练算法 在测试集上评估算法 算法迭代与改进 实际应用 获取更多数据 … ## 常用算法 大专栏 机器学习 "监督学习"> 监督学习 分类 KNN(k个nearest neighbors) python anocoda python DT(decision Tree) SVN(Surpport vector machine) NN(nerual network) //深度学习基础 NB(naive bays) 回归 LR(linear Regression) NLR(Non-) 非监督学习算法 * K-Means 来源: https://www.cnblogs.com/lijianming180/p/12275807.html

机器学习实战 之创建测试集

女生的网名这么多〃 提交于 2020-02-07 21:12:24
机器学习实战 基于Scikit-Learn和TensorFlow 之创建测试集 第二章端到端的机器学习项目 之 创建测试集 P53 用标识符来决定数据是否进入测试集 import hashlib # 把任意长度的数据转换为一个长度固定的数据串 def test_set_check ( identifier , test_ratio , hash ) : return hash ( np . int64 ( identifier ) ) . digest ( ) [ - 1 ] < 256 * test_ratio # 判断哈希值的最后一个字节是否满足要求 def split_train_test_by_id ( data , test_ratio , id_column , hash = hashlib . md5 ) : ids = data [ id_column ] # 按索引找出id in_test_set = ids . apply ( lambda id_ : test_set_check ( id_ , test_ratio , hash ) ) # 对所有数据进行划分 return data . loc [ ~ in_test_set ] , data . loc [ in_test_set ] #返回满足条件的划分为训练集和测试集 其中的函数解释说明: hash

机器学习篇(小白)—1

此生再无相见时 提交于 2020-02-07 03:12:57
(1)什么是机器学习? 机器学习是指依据数据或者以往的经验,来优化计算机程序的性能标准。 (2)分类 根据数据集是否有标签,分为监督学习和非监督学习两大类。其中,监督学习,数据集拥有标签,本身知道测试的正确与否,代表性的模型算法有; 线性回归、逻辑回归等;非监督学习,数据集没有标签,并不知道测试的正确性,代表算法有:聚类、降维等。 (3)使用Python实现 安装的是Anaconda,使用jupyter notebook或者那个spyder,我没看这课前用的是spyder,写点codewars上关于Python的小训练。 (4)本人对机器学习的理解 使机器能够自己学习吧,但在其学习的过程中,人类对它提供了多少帮助,比如使用SVM进行图像分类时,图像特征的选择上。 (课程是 深度之眼—吴恩达机器学习(ps:2月份免费,关注并回复 在家充电)) 来源: CSDN 作者: qq_42684396 链接: https://blog.csdn.net/qq_42684396/article/details/104152651

python大战机器学习——支持向量机

纵然是瞬间 提交于 2020-02-06 18:20:10
  支持向量机(Support Vector Machine,SVM)的基本模型是定义在特征空间上间隔最大的线性分类器。它是一种二类分类模型,当采用了核技巧之后,支持向量机可以用于非线性分类。   1)线性可分支持向量机(也称硬间隔支持向量机):当训练数据线性可分是,通过硬间隔最大化,学得一个线性可分支持向量机   2)线性支持向量机(也称为软间隔支持向量机):当训练数据近似线性可分时,通过软间隔最大化,学得一个线性支持向量机   3)非线性支持向量机:当训练数据不可分时,通过使用核技巧以及软间隔最大化,学得一个非线性支持向量机。 1、线性可分支持向量机   输入:线性可分训练数据集T   输出:最大几何间隔的分离超平面和分类决策函数   算法步骤:     1)构造并且求解约束优化问题,求得最优解w*,b*     2)由此得到分离超平面,以及分类决策函数   若训练数据集T线性可分,最大间隔分离超平面存在且唯一   下面是线性可分支持向量机学习算法的对偶算法:   输入:线性可分训练数据集T   输出:最大集合间隔的分离超平面和分类决策函数   算法步骤:     1)构造并且求解约束最优化问题,求得最优解α*     2)计算w*,同时选择α*的一个正的分量αj*>0,计算b*     3)由此得到最大集合间隔分离超平面和分类决策函数 2、线性支持向量机  

机器学习:基本概念、一般步骤、工具

戏子无情 提交于 2020-02-06 02:06:23
人工智能(Artificial Intelligence) 通过计算机模拟人类智慧,以完成很多只有人类才可以完成,甚至连人类都无法完成的任务 比如专家系统、图像识别、语音识别、自然语言处理、自动驾驶、推荐系统、人机博弈、电脑游戏、机器人等 人类利用计算机完成了很多对人类而言非常困难的工作,但一些人类可以很容易解决的问题比如驾驶汽车、语言图像识别,计算机却很难解决,这是人工智能需要解决的问题 早期人工智能只能解决简单的特定环境下的问题,比如国际象棋 机器学习(Machine Learning) 通过分析已有的数据,从中学习,然后对新数据进行预测、决策、判断 人们发现有些问题通过逻辑分析很难解决,还不如通过对已有的数据进行统计分析 机器学习需要有海量数据进行训练,很多数据量小或是靠逻辑分析能解决的问题并不适合使用机器学习 深度学习(Deep Learning) 传统的机器学习,需要人工选取特征值,计算机从数据中提取人工指定的特征值然后进行训练 然而有些问题,靠人工的方式无法很好的提取特征值 深度学习不需要人工指定特征值,而是自动提取简单的特征值,并组合成更复杂的特征值,然后进行训练 深度学习使用的主要是神经网络 监督学习(Supervised Learning) 给定样本集 (X, Y),机器从中推演出合适的模型 y = F(x),然后对新的 X 数据,通过 F 预测相应的 Y

机器学习小白学习笔记---day3---线性模型(岭回归、lasso、线性模型【svm、logistic回归】)

ⅰ亾dé卋堺 提交于 2020-02-05 23:49:22
机器学习小白学习笔记之scikit-learn 最近刚把西瓜书啃完,一大堆理论让脑子真的是一团浆糊,说实话看的基本只有一个概念哈哈哈,效果不高,但是让我对与机器学习真的是整体有了一个大的了解,但是并没能将每个课后作业都完成,甚至很多公式推导也没实现,太难了,让我着手于实践,古人云实践出真知,又拿起了另一本书《Introduce to Mashine Learning with python》 昨天上一节,学习完了knn分类回归,这一节继续往下学,自然而然地学到线性模型,线性模型在实际运用中还是相当广泛的。 用于回归的线性模型: 单一特征的预测结果是一条直线,双特征是一个平面,而高维度的则是一个超平面。 我们继续来看最常见的线性回归模型: 线性回归(普通最小二乘法) 线性回归寻找最佳的参数w(斜率、权重、系数),和b(截距),使得对训练集的预测值与真hide回归目标值y之间的均方误差最小。 在高位数据集中,线性模型将体现的更加强大,但同时会产生过拟合风险,根据书本,通过波士顿房价数据集进行预测。 我们会发现一个情况: 测试集的分数远远低于训练集的分数,显而易见就是产生了过拟合,所以我们应该找到一个可以控制复杂度的模型,标准线性回归最常用的替代方法之一就是 岭回归 。 岭回归 其实预测方法和最小二乘法相同,但是做了一下正则化(附带上拟合约束,希望系数尽可能小

【机器学习_5】Anaconda:初学Python、入门机器学习的首选

若如初见. 提交于 2020-02-05 04:50:50
Anaconda是一个用于科学计算的Python发行版,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。 集成包功能: NumPy: 提供了矩阵运算的功能,其一般与Scipy、matplotlib一起使用,Python创建的所有更高层工具的基础,不提供高级数据分析功能 Scipy: 依赖于NumPy,它提供便捷和快速的N维向量数组操作。提供模块用于优化、线性代数、积分以及其它数据科学中的通用任务。 Pandas: 基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的,包含高级数据结构,以及和让数据分析变得快速、简单的工具 Matplotlib: Python最著名的绘图库 Scikit-Learn: 是Anaconda中集成的开源机器学习工具包,主要涵盖分类,回归和聚类算法,可以直接调用传统机器学习的算法进行使用。 Anaconda也兼容Google开发的第二代人工智能系统 TensorFlow ,进行深度学习的开发。 参考: https://tianchi.aliyun.com/dataset/notebook/detail?spm=5176.12282042.0.0.26c9290aVRHXqk&postId=6239 来源: https://www.cnblogs.com/everda/p/10220600

最全知乎专栏合集:编程、python、爬虫、数据分析、挖掘、ML、NLP、DL...

与世无争的帅哥 提交于 2020-02-04 17:39:24
上一篇文章 《爬取11088个知乎专栏,打破发现壁垒》 里提到,知乎官方没有搜素专栏的功能,于是我 通过爬取几十万用户个人主页所关注的专栏从而获取到11088个知乎专栏 。 本回筛选出其中涉及: 编程、python、爬虫、数据分析、挖掘、ML、NLP、DL等 关键词的专栏, 按照排名、关注人数、专栏名称、专栏简介等顺序,罗列出史上最全专栏合集 ,以供大家顺藤摸瓜、前去观摩和学习。 筛选出来的专栏数据和全部11088个专栏数据,已经绑定到公众号“牛衣古柳”(ID:Deserts-X)后台 。本文可能遗漏少数优质专栏,可在原始数据里自行挖掘;对其他主题专栏感兴趣的也可自行筛选和整理;有兴致搞个“专栏”搜索功能的小伙伴可以尝试下! 另外 已开始对11088个专栏里更详细的数据进一步爬取 ,之后会挖掘更多数据,超详细数据集也会随后分享。 TOP29系列,1万+关注: 排名,关注人数,专栏名称,专栏简介: No.1, 157960, 数据冰山 , 微信公众号:数据冰山 (No.2, 112088, 学习编程 ,莫道君行早,更有早行人。全心敲代码,天道自酬勤)(不小心漏了 @路人甲 的TOP2专栏,简直蠢哭) No.2, 62106, 行为与认知神经科学 , 神经科学 | 认知科学 I 脑机接口 | 人工智能 No.3, 50136, 机器之心 , 关注人工智能学术和技术实现 No.4,

机器学习三 -- 用Python实现K-近邻算法

我与影子孤独终老i 提交于 2020-02-04 07:57:55
Python语言实现机器学习的K-近邻算法 写在前面 额、、、最近开始学习机器学习嘛,网上找到一本关于机器学习的书籍,名字叫做《机器学习实战》。很巧的是,这本书里的算法是用Python语言实现的,刚好之前我学过一些Python基础知识,所以这本书对于我来说,无疑是雪中送炭啊。接下来,我还是给大家讲讲实际的东西吧。 什么是K-近邻算法? 简单的说,K-近邻算法就是采用测量不同特征值之间的距离方法来进行分类。它的工作原理是:存在一个样本数据集合,也称作训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一数据与所属分类的对应关系,输入没有标签的新数据之后,将新数据的每个特征与样本集中数据对应的特征进行比较,然后算法提取出样本集中特征最相似数据的分类标签。一般来说,我们只选择样本数据集中前k个最相似的数据,这就是K-近邻算法名称的由来。 提问:亲,你造K-近邻算法是属于监督学习还是无监督学习呢? 使用Python导入数据 从K-近邻算法的工作原理中我们可以看出,要想实施这个算法来进行数据分类,我们手头上得需要样本数据,没有样本数据怎么建立分类函数呢。所以,我们第一步就是导入样本数据集合。 建立名为kNN.py的模块,写入代码: 1 from numpy import * 2 import operator 3 4 def createDataSet(): 5 group =