scikit-learn

深度学习“四大名著”发布!Python、TensorFlow、机器学习、深度学习四件套!

旧巷老猫 提交于 2020-10-09 05:13:59
Python 程序员深度学习的“四大名著”: 这四本书着实很不错!我们都知道现在机器学习、深度学习的资料太多了,面对海量资源,往往陷入到“无从下手”的困惑出境。而且并非所有的书籍都是优质资源,浪费大量的时间是得不偿失的。 给大家推荐这几本好书并做简单介绍: 1、《Deep Learning with Python》 推荐指数:★★★★☆ 本书自出版以来收到众多好评,因为是 Keras 作者写的书,所以全书基本围绕着 Keras 讲深度学习的各种实现,从 CNN,RNN 到 GAN 等,偏入门,但也承载着很多作者对深度学习整体性的思考。这是一本偏实战的书,教你使用 Keras 快速实现深度学习经典项目。看完这本书,基本能对 Keras 和深度学习实战有比较初步的掌握了。 本书源码 GitHub 地址: https://github.com/fchollet/deep-learning-with-python-notebooks 2、《Python Machine Learning》 推荐指数:★★★☆☆ 本书使用了 Scikit-Learn 和 TensorFlow,分别讲解机器学习和深度学习,并每章配备实操代码。还有一点是讲解了如何将机器学习模型发布到 Web 应用。整个知识体系相对更加完善,是一本比较全面的机器学习书籍。 本书源码 GitHub 地址: https:/

技术债务的高息信用卡:深入了解那些知名的端到端机器学习平台

拜拜、爱过 提交于 2020-10-07 01:00:25
本文转载自公众号“读芯术”(ID:AI_Discovery)。 机器学习(ML)被称为技术债务的高利率信用卡。对于特定的业务问题,使用适用的模型会相对容易一些,但是要使该模型在可伸缩的生产环境中运行,并能够处理不断变化的混乱数据语义和关系,以及以可靠的自动化方式演进模式,则完全是另一回事。 对于机器学习生产系统而言,只有5%的实际代码是模型本身。将一组机器学习解决方案转变为端到端的机器学习平台的,是一种运用了加速建模、自动化部署和确保生产中的可伸缩性和可靠性的技术的架构。 笔者此前讲过lean D/MLOps,数据和机器学习操作,因为没有数据的机器学习操作是没有意义的,所以端到端机器学习平台需要进行整体构建。CI/CD基金会启动了一个MLOps特别兴趣小组(SIG)。其端到端机器学习平台确定的步骤如下图所示: 不过,其中掩盖了一些不太重要的细节。例如,服务可能需要不同的技术取决于它是否是实时完成的。可伸缩的解决方案通常将模型放在一个负载均衡器后的服务集群的多个机器上的容器内运行。因此,上述图表中的单个框并不意味着实际平台的单个步骤、容器或组件。 这并不是对图中步骤进行批评,而是一个警示:看似简单的事情在实践中可能并不那么容易。 图表中没有模型(配置)管理。可以考虑诸如版本控制、实验管理、运行时统计、用于培训、测试和验证数据集的数据沿袭跟踪,从头开始或从模型快照、超参数值

第8章 多项式回归与模型泛化 学习笔记上

一曲冷凌霜 提交于 2020-10-03 10:54:21
目录 8-1 什么是多项式回归 线性回归? 解决方案, 添加一个特征 8-2 scikit-learn中的多项式回归于pipeline scikit-learn中的多项式回归和Pipeline 关于PolynomialFeatures Pipeline 8-3 过拟合与前拟合03-Overfitting-and-Underfitting 使用线性回归 使用多项式回归 train test split的意义 8-1 什么是多项式回归 x看作是一个特征,x^2是另一个特征,则可以看作是线性回归,但实际结果就是非线性 线性回归? 解决方案, 添加一个特征 x无序的 8-2 scikit-learn中的多项式回归于pipeline scikit-learn中的多项式回归和Pipeline X零次方前的系数为1,第二列为x的值,第三例为x的平方 关于PolynomialFeatures 如果样本有两个特征则1, a, b, a*a, a*b, b*b Pipeline x = np.random.uniform(-3, 3, size=100) X = x.reshape(-1, 1) y = 0.5 * x**2 + x + 2 + np.random.normal(0, 1, 100) from sklearn.pipeline import Pipeline from sklearn

K近邻算法哪家强?KDTree、Annoy、HNSW原理和使用方法介绍

微笑、不失礼 提交于 2020-10-03 03:46:33
1、什么是K近邻算法 K近邻算法(KNN)是一种常用的分类和回归方法,它的基本思想是从训练集中寻找和输入样本最相似的k个样本,如果这k个样本中的大多数属于某一个类别,则输入的样本也属于这个类别。 关于KNN算法,一个核心问题是: 如何快速从数据集中找到和目标样本最接近的K个样本? 本文将从这个角度切入,介绍常用的K近邻算法的实现方法。具体将从原理、使用方法、时间开销和准确率对比等方面进行分析和实验。 2、距离度量 在介绍具体算法之前,我们先简单回顾一下KNN算法的三要素: 距离度量、k值的选择和分类决策规则 。 其中机器学习领域常用的距离度量方法,有欧式距离、余弦距离、曼哈顿距离、dot内积等 主流的近邻算法都支持上述不同的距离度量。其中n维特征空间的a、b向量的 欧式距离 体现数值上的绝对差异,而余弦距离基于余弦相似度(两个向量间夹角的余弦值),体现方向上的相对差异。 如果对向量做归一化处理,二者的结果基本是等价的。 实际应用中,需要根据业务目标来选择合适的度量方法。 3、K近邻算法的实现方法 K近邻的实现方式多达数十种,笔者从中挑选了几种常用、经典的方法作为分析案例。 首先最直观的想法(暴力法),是线性扫描法。将待预测样本和候选样本逐一比对,最终挑选出距离最接近的k个样本即可,时间复杂度O(n)。对于样本数量较少的情况,这种方法简单稳定,已经能有不错的效果。但是数据规模较大时

学了这么久,你知道Python机器学习全流程是怎样的么?

こ雲淡風輕ζ 提交于 2020-10-02 11:23:27
万事开头难,首先Python机器学习整个流程的第一步就是学习Python这门编程语言的相关基础知识。 第一步:基本 Python 技能 如果要使用 Python 进行机器学习,拥有对 Python 有基础的理解非常关键。幸运的是,Python 是当前普遍使用的流行语言,并纳入了科学计算和机器学习的内容,所以找到入门教程并不困难。在选择起点时,很大程度上要取决于你之前的 Python 经验和编程经验。 这里推荐几本python入门必读书籍: 别再说你不知道怎么学习Python了,13本书给你安排的明明白白! 对于想要速成课程的人,这里有 全网最全Python学习路线图+14张思维导图,让你不走弯路! 第二步:机器学习基础技能 KDnuggets 的 Zachary Lipton 指出,人们对数据的认识千差万别,这实际上是对机器学习领域的反映。数据科学家在不同程度上使用计算学习算法。要建立和使用支持向量机模型,熟知核函数方法是否是必需的?答案当然不是。就像现实生活中的许多事情一样,所需要的理论深入程度与具体的实际应用有关。获取对机器学习算法的深入理解不是本文的讨论范围, 而且这通常需要在学术领域投入大量时间,或者至少要通过密集的自学才能达到。 好消息是,你不必拥有博士级别的机器学习理论能力才能进行实践,就如同不是所有程序员都必须接受计算机理论教育才能写好代码。 关于机器学习基础技能