记录一下使用Python进行的单变量回归分析的操作流程。另外推荐一个sklearn机器学习的哔哩哔哩视频(文末阅读原文,进行观看)。
scikit-learn是Python语言开发的机器学习库,一般简称为sklearn,目前算是通用机器学习算法库中实现得比较完善的库了。其完善之处不仅在于实现的算法多,还包括大量详尽的文档和示例。其文档写得通俗易懂,完全可以当成机器学习的教程来学习。
关于作者:Milter,一名机器学习爱好者、NLP从业者、终生学习者,欢迎志同道合的朋友多多交流。https://www.yuque.com/liwenju/kadtqt/nbeiv3
通过前面的小节,我们知道了kNN算法中k这个参数值,在sklearn中k这个值被封装成了k_neighbors参数。在前面我们随机的指定参数k的值,究竟k的值为多少的时候,模型才是最好的呢?这就涉及到了机器学习领域非常重要的问题~超参数问题。
机器学习中很多训练模型通过融合方式都有可能使得准确率等评估指标有所提高,这一块有很多问题想学习,于是写篇博客来介绍,主要想解决:
本篇是后面用tensorflow做回归时的一个参照,忍不住要说的是sklearn真是简单好用,要不是他没有卷积cnn等时髦模型,真是不想用其他家的了。 经典的sklearn集成模型 结果: 真是又快又
在许多机器学习相关的书里,很难找到关于特征选择的内容,因为特征选择要解决的问题往往被视为机器学习的一个子模块,一般不会单独拿出来讨论。
虽然调用 Sklearn 库算法,简单的几行代码就能解决问题,感觉很爽,但其实我们时处于黑箱中的,Sklearn 背后干了些什么我们其实不明白。作为初学者,如果不搞清楚算法原理就直接调包,学的也只是表面功夫,没什么卵用。
1.1、数据挖掘的步骤 数据挖掘通常包括数据采集,数据分析,特征工程,训练模型,模型评估等步骤。使用sklearn工具可以方便地进行特征工程和模型训练工作,在《使用sklearn做单机特征工程》中,我
总第100篇 本篇讲讲机器学习中的交叉验证问题,并利用sklearn实现。 前言 在说交叉验证以前,我们先想一下我们在搭建模型时的关于数据切分的常规做法[直接利用train_test_split把所有的数据集分成两部分:train_data和test_data,先在train_data上进行训练,然后再在test_data上进行测试评估模型效果的好坏]。 因为我们训练模型时,不是直接把数丢进去就好了,而是需要对模型的不断进行调整(比如参数),使模型在测试集上的表现足够好,但是即使模型在测试集上效果好,不
1.1 数据挖掘的步骤 数据挖掘通常包括数据采集,数据分析,特征工程,训练模型,模型评估等步骤。使用sklearn工具可以方便地进行特征工程和模型训练工作,在《使用sklearn做单机特征工程》中,我
scikit-learn 是基于 Python 语言的机器学习工具。它有如下特点:
摘要:运用 kNN 解决鸢尾花和手写数字识别分类问题,熟悉 Sklearn 的一般套路。
Part 1: 本篇内容简介 在前一篇文章完整手写一个朴素贝叶斯分类器,完成文本分类,我们使用首先假设在文档中出现的单词彼此独立,利用贝叶斯定理,完成了一个简单的文本分类器的编写,在真实数据的测试上,显示了良好的效果。 其实要是了解sklearn的人都应该知道,这个python的机器学习库,实现了我们常用的大部分机器学习算法,免除了我们重复造轮子的痛苦。我们使用和上一篇博客同样的数据,使用sklearn自带的贝叶斯分类器完成文本分类,同时和上一篇文章手写的分类器,进行分类精度、速度、灵活性对比。 Pa
上次介绍了KNN的基本原理,以及KNN的几个窍门,这次就来用sklearn实践一下KNN算法。
Part 1: 本篇内容简介 在前一篇文章完整手写一个朴素贝叶斯分类器,完成文本分类,我们使用首先假设在文档中出现的单词彼此独立,利用贝叶斯定理,完成了一个简单的文本分类器的编写,在真实数据的测试上,显示了良好的效果。 其实要是了解sklearn的人都应该知道,这个python的机器学习库,实现了我们常用的大部分机器学习算法,免除了我们重复造轮子的痛苦。我们使用和上一篇博客同样的数据,使用sklearn自带的贝叶斯分类器完成文本分类,同时和上一篇文章手写的分类器,进行分类精度、速度、灵活性对比。 Part
今天这篇讲讲集成学习,集成学习就是将多个弱学习器集合成一个强学习器,你可以理解成现在有好多道判断题(判断对错即01),如果让学霸去做这些题,可能没啥问题,几乎全部都能做对,但是现实情况是学霸不常有,学渣倒是很多,怎么样做才能保证题做对的准确率较高呢?就是让多个学渣一起做, 每个人随机挑选一部分题目来做,最后将所有人的结果进行汇总,然后根据将票多者作为最后的结果;另一种方式就是先让学渣A做一遍,然后再让学渣B做,且让B重点关注A做错的那些题,再让C做,同样重点关注B做错的,依次循环,直到所有的学渣都把题目做了一遍为止。通过上面两种方式就可以做到学渣也能取得和学霸一样的成绩啦。我们把这种若干个学渣组合达到学霸效果的这种方式称为集成学习。
Sklearn (全称 Scikit-Learn) 是基于 Python 语言的机器学习工具。它建立在 NumPy, SciPy, Pandas 和 Matplotlib 之上,里面的 API 的设计非常好,所有对象的接口简单,很适合新手上路。
本文作者Jasperyang,毕业于BUPT。本文原载于知乎专栏,AI 研习社授权转载。 Kaggle 的数据挖掘比赛近年来很火,以至于中国兴起了很多很多类似的比赛,做了两个这种类型的比赛了,Jdata 用户商品购买预测和用户位置精准预测,积累了相当多的比赛经验了,虽然两次成绩都不是特别好,59/4590和 179/2844。 这些比赛的套路从根本上都是一毛一样的,我下面可以和大家探讨一个大致的做题套路以及怎么往高分走的方向,但是总结来说这就是个拼体力的任务,和智力无关。(虽然锻炼了动手能力,极大强化了我在
支持向量机通过构建超平面来对数据集进行分类工作,其内部可采用不同的核函数以满足不同数据分布,目前支持向量机怕是大家最熟悉的一种机器学习算法了吧。
我们平时使用scikit-learn做机器学习建模,主要是实验环境是notebook(jupyter),有些问题就像牛皮癣一样,很难去除,例如:
有这么一句话在业界广泛流传:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。那特征工程到底是什么呢?顾名思义,其本质是一项工程活动,目的是最大限度地从原始数据中提取特征以供算法和模型使用。通过总结和归纳,人们认为特征工程包括以下方面:
Kaggle 的数据挖掘比赛近年来很火,以至于中国兴起了很多很多类似的比赛,做了两个这种类型的比赛了,Jdata 用户商品购买预测和用户位置精准预测,积累了相当多的比赛经验了,虽然两次成绩都不是特别好,59/4590和 179/2844。 这些比赛的套路从根本上都是一毛一样的,我下面可以和大家探讨一个大致的做题套路以及怎么往高分走的方向,但是总结来说这就是个拼体力的任务,和智力无关。(虽然锻炼了动手能力,极大强化了我在 sklearn 和 pandas 上的技能熟练度...) PART 1 : 怎么开始
当把模型训练好以后就不会再使用训练集来预测,而是要实际去预测。这就涉及到模型的加载和保存。
总第96篇 前言 前面的推文中介绍了几种常用的机器学习算法,每个算法都有各自的优劣势,我们应该选择根据每个算法的优劣势去合理的选择适合我们需求的算法,以此达到效果最优,那么什么样的效果才是最优的,用
特征选择(排序)对于数据科学家、机器学习从业者来说非常重要。好的特征选择能够提升模型的性能,更能帮助我们理解数据的特点、底层结构,这对进一步改善模型、算法都有着重要作用。 特征选择主要有两个功能: 减少特征数量、降维,使模型泛化能力更强,减少过拟合 增强对特征和特征值之间的理解 拿到数据集,一个特征选择方法,往往很难同时完成这两个目的。通常情况下,我们经常不管三七二十一,选择一种自己最熟悉或者最方便的特征选择方法(往往目的是降维,而忽略了对特征和数据理解的目的)。 在许多机器学习相关的书里,很难
5 两种顶层特征选择算法 之所以叫做顶层,是因为他们都是建立在基于模型的特征选择方法基础之上的,例如回归和SVM,在不同的子集上建立模型,然后汇总最终确定特征得分。 5.1 稳定性选择 Stability selection 稳定性选择是一种基于二次抽样和选择算法相结合较新的方法,选择算法可以是回归、SVM或其他类似的方法。它的主要思想是在不同的数据子集和特征子集上运行特征选择算法,不断的重复,最终汇总特征选择结果,比如可以统计某个特征被认为是重要特征的频率(被选为重要特征的次数除以
1.K-近邻算法 1.1 K-近邻算法简介 1.定义: 就是通过你的"邻居"来判断你属于哪个类别 2.如何计算你到你的"邻居"的距离 一般时候,都是使用欧氏距离 1.2 k近邻算法api初步使用 1.sklearn 优势: 1.文档多,且规范, 2.包含的算法多 3.实现起来容易 2.sklearn中包含内容 分类、聚类、回归 特征工程
本系列是《玩转机器学习教程》一个整理的视频笔记。在上一小节介绍了多项式回归的基本思想,本小节主要介绍sklearn是如何对多项式进行封装的,之后介绍一种类似Linux中"|"管道的Pipeline类。
系统版本:window 7 (64bit) python版本:python 3.5 我的GitHub:https://github.com/weepon 写在前面:前段时间正好用到特征选择的知识,有幸读到这篇文章,本文也主要参考这篇文章写成,但与原文章有不同之处:第一、纠正了原始文章中的代码错误,使其能用python3.5正常运行;第二、增加了一些新的特征选择内容,使其更加完善。本文中所有代码均放在Github
目录 1 使用sklearn进行数据挖掘 1.1 数据挖掘的步骤 1.2 数据初貌 1.3 关键技术 2 并行处理 2.1 整体并行处理 2.2 部分并行处理 3 流水线处理 4 自动化调参 5 持久化 6 回顾 7 总结 ---- 1 使用sklearn进行数据挖掘 1.1 数据挖掘的步骤 数据挖掘通常包括数据采集,数据分析,特征工程,训练模型,模型评估等步骤。使用sklearn工具可以方便地进行特征工程和模型训练工作,在使用sklearn做特征工程中,
一般在建立分类模型时,当我们进行特征工程的工作经常需要对连续型变量进行离散化的处理,也就是将连续型字段转成离散型字段。
网上有很多关于sklearn的学习教程,大部分都是简单的讲清楚某一个方面。其实最好的教程就是官方文档(http://scikit-learn.org/stable/),但是官方文档讲述的太过于详细,同时很多人对官方文档的理解和结构认识上都不能很好的把握。我写这篇文章的目的是想用一篇文章讲清楚整个sklearn库,我会讲清楚怎么样用这个库,而不是讲清楚每一个知识点。(授人以鱼不如授人以渔)(本文很多都是从实践的角度出发,也仅仅只代表我个人的认识) 本篇文章主要从两个方面出发:1,介绍sklearn官方文档的类容和结构;2,从机器学习重要步骤出发讲清楚sklearn的使用方法。
特征提取和特征选择作为机器学习的重点内容,可以将原始数据转换为更能代表预测模型的潜在问题和特征的过程,可以通过挑选最相关的特征,提取特征和创造特征来实现。要想学习特征选择必然要了解什么是特征提取和特征创造,得到数据的特征之后对特征进行精炼,这时候就要用到特征选择。本文主要介绍特征选择的三种方法:过滤法(filter)、包装法(wrapper)和嵌入法(embedded)。
它的基本思想就是将原始数据(dataset)进行分组,一部分做为训练集来训练模型,另一部分做为测试集来评价模型。
本文结构: 什么是交叉验证法? 为什么用交叉验证法? 主要有哪些方法?优缺点? 各方法应用举例? ---- 什么是交叉验证法? 它的基本思想就是将原始数据(dataset)进行分组,一部分做为训练集来训练模型,另一部分做为测试集来评价模型。 ---- 为什么用交叉验证法? 交叉验证用于评估模型的预测性能,尤其是训练好的模型在新数据上的表现,可以在一定程度上减小过拟合。 还可以从有限的数据中获取尽可能多的有效信息。 ---- 主要有哪些方法? 1. 留出法 (holdout cross validation)
本文用代码实现怎么利用sklearn来进行线性逻辑回归的计算,下面先来看看用到的数据。
公司里有一些开发的同事老是吐槽工作忙,天天加班,我想很大可能是没利用好轮子和AI工具,总是自己瞎写耽误时间。
scikit-learn是基于Python的一个机器学习库,你可以在scikit-learn库中选择合适的模型,使用它训练数据集并对新数据集作出预测。
本系列是《玩转机器学习教程》一个整理的视频笔记。本小节主要介绍使用sklearn实现KNN算法。
在 如何使用sklearn进行在线实时预测(构建真实世界中可用的模型) 这篇文章中,我们使用 sklearn + flask 构建了一个实时预测的模型应用。无论是 sklearn 还是 flask,都是用 Python 编写的,在工业界,我们经常会使用 Python 或 R 来训练离线模型, 使用 Java 来做在线 Web 开发应用,这就涉及到了使用 Java 跨语言来调用 Python 或 R 训练的模型。很明显,之前方式就无法满足要求了。
很多人问过我:“你一个文科生,究竟是怎么自学入门‘机器学习、深度学习’这种高深莫测的东西的?并且拿到2次全国数据分析大赛亚军的?”
本来说要让我去搞人工智能大作业,我一开始是拒绝的,因为我作为一个传统的机械电子工程专业的学生,怎么可以不务正业呢?同时感觉到现在建筑学教育也开始这么的浮夸了么,让一群没有见过代码的孩子去写机器学习,真的是过分!不过看到J同学苦苦哀求的眼神,心想还是帮人一把,毕竟救人一命胜造七级浮屠啊,然后便答应了下来。
定义问题(Problem Definition) -> 数据收集(Data Collection) -> 数据分割(Dataset Spit up) -> 模型训练(Model Training) -> 模型评估(Model Evaluation) -> 应用部署(System Deployment) -> 改变世界(Impact the world)!
本文结构: 基本流程 有放回抽样的好处 Bagging 特点 sklearn 中 Bagging 使用 Bagging 和 Boosting 的区别 ---- bagging:bootstrap aggregating 的缩写。 是一种并行式集成学习方法,可用于二分类,多分类,回归等任务。 基本流程: 对一个包含 m 个样本的数据集,有放回地进行 m 次随机采样,这样得到具有 m 个样本的采样集。 取 T 个这样的采样集。 每个采样集训练一个基学习器。 结合:分类任务,使用简单投票法。回归任务,使用简单平均
你可以使用K折交叉验证或者分割训练集/测试集的方法处理数据集,并用来训练模型。这样做为了能够让训练出来的模型对新数据集做出预测。
数据挖掘通常包括数据采集,数据分析,特征工程,训练模型,模型评估等步骤。使用sklearn工具可以方便地进行特征工程和模型训练工作,在《使用sklearn做单机特征工程》中,我们最后留下了一些疑问:特征处理类都有三个方法fit、transform和fit_transform,fit方法居然和模型训练方法fit同名(不光同名,参数列表都一样),这难道都是巧合?
领取专属 10元无门槛券
手把手带您无忧上云