机器学习:scikit-learn 文档、深入学习机器学习的思路
一、scikit-learn 的文档查阅
- 网页访问 scikit-learn 的文档:
- scikit-learn.org —— Document —— User Guide:
- scikit-learn.org —— Document —— API
- API 下可以直接搜索某一类,然后查看其用法;
- scikit-learn 的文档相对于机器学习的教材,而不单是讲解类、函数、参数、变量等的功能及使用规则;
二、深入学习机器学习的思路
- 实际工作中,有很多时间,很重的任务都是在处理数据:预处理、特征工程、非监督学习的工作;
1)掌握数据操作的方式:数据预处理
- pandas
- 对应真实的数据,通常先使用 pandas 预处理数据,之后转成 numpy 的 array 传给 sklearn ;
- 特征工程
- 算法与特征工程的关系:算法是算法,特征工程是特征工程。好的算法没有好的特征是毫无用武之地的。只用一个人的名字做特征,什么样的算法也无法判断这个人是否患某种疾病,就算给了身高体重也没用!而只有特征没有算法也是没有意义的,面对一片数据,无从下手。
- 线性回归:可以做为特征选择的依据;
- LASSO 回归:也可以用于特征选择;
- 决策树、随机森林等算法:可以用于辨识已知特征的重要程度;
- 深度学习等方法,背后其实很大程度也是在解决特征的问题;
- 所有的非监督学习,或多或少都可以叫做在做特征工程(或者是数据的预处理);
- PCA 就是非监督算法:降维不仅仅是将高维特征映射到了低维空间,更能起到降噪的作用;
- 很多general的特征工程的思想其实隐藏在统计学中。系统学习一遍统计学,对发掘数据中的“秘密”很有帮助。毕竟,统计学的作用,就是要发掘数据中的“秘密”;
- 从某种程度上讲,各个专业领域研究的一个很重要的方向,都可以理解成在做特征工程。比如医学:研究到底哪些基因和哪些疾病相关;心理学,研究哪些大脑活动和哪些情绪相关;经济学,研究哪些社会现象,和经济表现结果相关,等等等等。
2)非监督学习、监督学习、集成学习
- 实际在一些应用上,非监督学习可能会发挥很大的作用;
- 非监督学习中,最常见的是降维、去燥;
- 集成学习在机器学习竞赛中使用很广泛,老师建议深入学习;
3)特殊领域的特殊方法
- 无论是图像、NPL(自然语言处理)、医疗成像,都有专门的算法;
- 经典算法(kNN、线性回归、多项式回归、逻辑回归、SVM、决策树、集成学习,等)是特殊领域中特殊算法的基石;
4)数学建模的方法
- PRML:《Pattern Recognition and Machine Learning》,书籍,主要讲解数学建模的方法;
- 最典型的一类数学建模方法,就是随机过程中涉及的模型。如 HMM 在语音识别中的应用,或者对时序数据的建模,等;
5)工具
- Pandas
- TensorFlow、Keras:深度学习领域的算法库;
- xgboost:集成学习算法工具;(机器学习领域,集成学习效果很好)
6)学习材料
- 数据或者教材,在数量、可选择性、质量等方面,国内的教程相差国外教程很大;
- 最好的材料都散落在互联网上,需要一点点挖掘;
- Kaggle
- Kaggle Learn 模块:https://www.kaggle.com/learn/overview
- Kaggle 的入门指导:https://www.kaggle.com/c/titanic#tutorials
- Kaggle 官方博客:http://blog.kaggle.com/
- Kaggle 论坛:https://www.kaggle.com/discussion
- Kaggle 比赛中解决问题第一名的解决方案:http://ndres.me/kaggle-past-solutions/
- 波波老师(大牛):https://www.imooc.com/t/108955
机器学习:scikit-learn 文档、深入学习机器学习的思路的更多相关文章
- webpack搭建vue项目开发环境【文档向学习】
为何有这篇文章 各个社区已经有无数篇帖子介绍如何使用webpack搭建前端项目,但无论是出于学习webpack的目的还是为了解决工作实际需要都面临着一个现实问题,那就是版本更新.别人的帖子可能刚写好版 ...
- 机器学习-scikit learn学习笔记
scikit-learn官网:http://scikit-learn.org/stable/ 通常情况下,一个学习问题会包含一组学习样本数据,计算机通过对样本数据的学习,尝试对未知数据进行预测. 学习 ...
- Unity shader 官网文档全方位学习(一)
转载:https://my.oschina.net/u/138823/blog/181131 摘要: 这篇文章主要介绍Surface Shaders基础及Examples详尽解析 What?? Sha ...
- C# 动态生成word文档 [C#学习笔记3]关于Main(string[ ] args)中args命令行参数 实现DataTables搜索框查询结果高亮显示 二维码神器QRCoder Asp.net MVC 中 CodeFirst 开发模式实例
C# 动态生成word文档 本文以一个简单的小例子,简述利用C#语言开发word表格相关的知识,仅供学习分享使用,如有不足之处,还请指正. 在工程中引用word的动态库 在项目中,点击项目名称右键-- ...
- bootstrap2文档的学习
就像刚开始的 优雅,直观,强大的前端框架,让web开发更快,更容易,bootstrap给我的感觉就是把常用的布局,组件(导航,列表,按钮,表格),还有规范化颜色等等,同时它的遍历不至于此,他还支持了自 ...
- bash帮助文档简单学习;bash手册翻译
关于bash的四种工作方式的不同,可以参考:http://feihu.me/blog/2014/env-problem-when-ssh-executing-command-on-remote/,但是 ...
- Unity shader 官网文档全方位学习(二)
摘要: 这篇文章主要介绍Lighting model及自定义Lighting model 上文咱们学了surface shader.这玩意在开始的时候啊,在定义哪个函数处理surface时用一定要指定 ...
- 使用SKlearn(Sci-Kit Learn)进行SVR模型学习
今天了解到sklearn这个库,简直太酷炫,一行代码完成机器学习. 贴一个自动生成数据,SVR进行数据拟合的代码,附带网格搜索(GridSearch, 帮助你选择合适的参数)以及模型保存.读取以及结果 ...
- 学习Java爬虫文档的学习顺序整理
1.认识正则表达式(Java语言基础) https://www.toutiao.com/i6796233686455943693/ 2.正则表达式学习之简单手机号和邮箱练习 https://www.t ...
随机推荐
- java.lang.NullPointerException报错的几种情况
java.lang.NullPointerException报错的几种情况: 1.字符串变量未初始化: 2.接口类型的对象没有用具体的类初始化,比如: List stuList :这种情况就会报空指针 ...
- vs+mysql+ef配置方法
这次的项目用的是MySQL数据库,但是ADO.NET实体数据模型默认是不支持MySQL数据库的,本文档将介绍如何让VS ADO.NET实体数据模型支持MySQL. 一.安装插件 1.VS插件 mysq ...
- 泛型学习第四天——List泛型终结:什么是List泛型,泛型筛选,泛型排序
为什么要用泛型集合? 在C# 2.0之前,主要可以通过两种方式实现集合: a.使用ArrayList 直接将对象放入ArrayList,操作直观,但由于集合中的项是Object类型,因此每次使用都必须 ...
- Flume具体应用(多案例)
日志采集 对于flume的原理其实很容易理解,我们更应该掌握flume的具体使用方法,flume提供了大量内置的Source.Channel和Sink类型.而且不同类型的Source.Channel和 ...
- Android 实现http通信(servlet做服务器端) HttpClient、HttpURLConnection实现登录验证
一,写好服务器端 在eclipse或其它javaee开发工具中新建一个web项目(我这里的项目名是:Android),建一个servlet(我这里的servlet名是:LoginServlet),模拟 ...
- JMeter常用的调试工具
JMeter常用的调试工具有如下五种: 1.View Tree:查看结果树.含请求信息.响应信息等,请求头信息中的cookie信息一般默认不会显示,可通过修改JMeter配置参数进行显示.日常大家用的 ...
- JMeter参数文件的相对路径
很多教程里都说“尽可能将参数文件配置为相对路径,以更好的去适配Slave环境”或者“把XX放到相对路径” 这里相对路径是指的 C:\Program Files (x86)\apache-jmeter- ...
- OpenStack日志搜集分析之ELK
ELK 安装配置简单,用于管理 OpenStack 日志时需注意两点: Logstash 配置文件的编写 Elasticsearch 日志存储空间的容量规划 另外推荐 ELKstack 中文指南. E ...
- nova shelve
当一个虚机不需要使用的时候,可以将其 shelve 起来.该操作会创建该虚机的一个快照并传到 Glance 中,然后在 Hypervisor 上将该虚机删除,从而释放其资源. 其主要过程为: dest ...
- java中i=i++问题分析
http://www.ticmy.com/?p=43 重点:局部变量表 和 操作数栈的执行过程. 使用javac编译后再使用javap -c Test反编译这个类查看它的字节码,如下(只摘取main方 ...