Python机器学习路线图

欢迎使

                
        

为了理解和应用机器学习技术,你需要学习 Python 或者 R。这两者都是与 C、Java、PHP 相类似的编程语言。但是,因为 Python 与 R 都比较年轻,而且更加“远离”CPU,所以它们显得简单一些。相对于R 只用于处理数据,使用例如机器学习、统计算法和漂亮的绘图分析数据, Pthon 的优势在于它适用于许多其他的问题。因为 Python 拥有更广阔的分布(使用 Jango 托管网站,自然语言处理 NLP,访问 Twitter、Linkedin 等网站的 API),同时类似于更多的传统语言,比如 C python 就比较流行。

在Python中学习机器学习的四个步骤

1、首先你要使用书籍、课程、视频来学习 Python 的基础知识

2、然后你必需掌握不同的模块,比如 Pandas、Numpy、Matplotlib、NLP (自然语言处理),来处理、清理、绘图和理解数据。

3、接着你必需能够从网页抓取数据,无论是通过网站API,还是网页抓取模块Beautiful Soap。通过网页抓取可以收集数据,应用于机器学习算法。

4、最后一步,你必需学习机器学习工具,比如 Scikit-Learn,或者在抓取的数据中执行机器学习算法(ML-algorithm)。

1.Python入门指南:

有一个简单而快速学习Python的方法,是在 codecademy.com  注册,然后开始编程,并学习 Python 基础知识。另一个学习Python的经典方法是通过 learnpythonthehardway ,一个为广大 Python 编程者所推荐的网站。然后还有一个优秀的 PDF, byte of python 。python社团还为初学者准备了一个Python资源列表list of python resources。同时,还有来自 O’Reilley 的书籍 《Think Python》,也可以从这里免费下载 。最后一个资源是 Python 用于计量经济学、统计学和数据分析的介绍:《Introduction to Python for Econometrics, Statistics and Data Analysis 》,其中也包含了 Python 的基础知识。

2.机器学习的重要模块

关于机器学习最重要的模块是:NumPy, Pandas, Matplotlib 和 IPython 。有一本书涵盖了其中一些模块:《Data Analysis with Open Source Tools》 。然后来自于1.的免费书籍《Introduction to Python for Econometrics, Statistics and Data Analysis》,同时也包括 Numpy,Pandas,Matplotlib 和 IPython这几个模块。还有一个资源是 Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython,也包含了一些很重要的模块。以下是其他免费模块的相关链接: Numpy (Numerical Python, Numpy Userguide, Guide to NumPy),  Pandas (Pandas, Powerful Python Data Analysis Toolkit,Practical Business Python,Intros to Pandas Data Structure)  和  Matplotlib books。

其它资源:

  • 10 minutes to Pandas
  • Pandas for machine learning
  • 100 NumPy exercises

3.从网站通过API挖掘和抓取数据

一旦理解了Python的基础知识和最重要的模块,你必需要学习如何从不同的源收集数据。这个技术也被称作网页抓取。传统的源是网站文本,通过API进入twitter或linkedin一类网站得到的文本数据。网页抓取方面的优秀书籍包括:《 Mining the Social Web》 (免费书籍),《Web Scraping with Python》 和《 Web Scraping with Python: Collecting Data from the Modern Web》。

最后这个文本数据必须要转换为数值数据,通过自然语言处理(NLP)技术完成, Natural language processing with Python 和 Natural Language Annotation for Machine Learning 上面有相应的资料。其它的数据包括图片和视频,可以使用计算机图像技术分析: Programming Computer Vision with Python,Programming Computer Vision with Python: Tools and algorithms for analyzing images  和  Practical Python and OpenCV ,这些是图片分析方面的典型资源。

以下例子中包括可以用基本的Python命令行实现,有教育意义,而且有趣的例子,以及网页抓取技术。

  • Mini-Tutorial: Saving Tweets to a Database with Python (微型教程:使用Python保存推文到数据库)
  • Web Scraping Indeed for Key Data Science Job Skills (网页抓取关键数据科学工作技巧)
  • Case Study: Sentiment Analysis On Movie Reviews (案例学习:电影评论中的情感分析)
  • First Web Scraper (第一网页抓取)
  • Sentiment Analysis of Emails (邮件的情感分析)
  • Simple Text Classification (简单文本分类)
  • Basic Sentiment Analysis with Python (Python基础情感分析)
  • Twitter sentiment analysis using Python and NLTK (使用Python和NLTK 做Twitter情感分析)
  • Second Try: Sentiment Analysis in Python (第二个尝试:Python情感分析)
  • Natural Language Processing in a Kaggle Competition for Movie Reviews  (电影评论相关Kaggle Competition中的NLP自然语言处理)

4. Python 中的机器学习

机器学习可以分为四组:分类,聚类,回归和降维。

“分类”也可以称作监督学习,有助于分类图片,用来识别图片中的特征或脸型,或者通过用户外形来分类用户,并给他赋不同的分数值。“聚类”发生在无监督学习的情况,允许用户在数据中识别组/集群。“回归”允许通过参数集估算一个值,可以应用于预测住宅、公寓或汽车的最优价格。

modules, packages and techniques 罗列了 Python、C、Scala、Java、Julia、MATLAB、Go、R 和 Ruby等语言中所有学习机器学习的重要模块、包和技巧。有关Python机器学习的书籍,我特别推荐《Machine learning in action》。尽管有点短,但它很可能是机器学习中的经典,因为它提到了“集体智慧编程时代”:Programming Collective Intelligence。这两本书帮助你通过抓取数据建立机器学习。最近关于机器学习的出版物大多都是基于模块 scikit-learn 。由于所有的算法在模块中都已实现,使得机器学习非常简单。你唯一要做的事就是告诉 Python ,应该使用哪一个机器学习技巧 (ML-technique) 来分析数据。

免费的 scikit-learn教程 可以在 scikit-learn 官方网站上找到。其他的帖子可以通过以下链接获取:

  • Introduction to Machine Learning with Python and Scikit-Learn (机器学习中 Python 和 Scikit-Learn 的介绍)
  • Data Science in Python (Python 中的数据科学)
  • Machine Learning for Predicting Bad Loans (用机器学习来预测坏账)
  • A Generic Architecture for Text Classification with Machine Learning     (通过机器学习来分类文本的通用架构)
  • Using Python and AI to predict types of wine  (利用 Python 和 AI 人工智能来预测酒的品种)
  • Advice for applying Machine Learning  (应用机器学习的建议)
  • Predicting customer churn with scikit-learn  (使用 scikit-learn 预测用户流失)
  • Mapping Your Music Collection  (映射你的音乐收藏)
  • Data Science in Python  (Python 中的数据科学)
  • Case Study: Sentiment Analysis on Movie Reviews  (案例学习:电影评论中的情感分析)
  • Document Clustering with Python  (Python中的文档聚类)
  • Five most popular similarity measures implementation in python  (5 个最流行的Python相似度测量的实现)
  • Case Study: Sentiment Analysis on Movie Reviews  (案例学习:电影评论中的情感分析)
  • Will it Python?  (将会是 Python 么?)
  • Text Processing in Machine Learning  (机器学习中的文本处理)
  • Hacking an epic NHL goal celebration with a hue light show and real-time machine learning   (使用色彩灯光秀和实时机器学习黑入史诗级 NHL(北美冰球联赛)进球庆祝)
  • Vancouver Room Prices (温哥华房间价格)
  • Exploring and Predicting University Faculty Salaries (探索和预测大学教师工资)
  • Predicting Airline Delays  (预测航班延误)

关于机器学习和 Python 中模块 scikit-learn 的书籍:

  • Collection of books on reddit  (收集 reddit 新闻网站上的书籍)
  • Building Machine Learning Systems with Python (用 Python 建立机器学习系统)
  • Building Machine Learning Systems with Python, 2nd Edition (用 Python 建立机器学习系统,第二版)
  • Learning scikit-learn: Machine Learning in Python  (学习 scikit-learn:Python 中的机器学习)
  • Machine Learning Algorithmic Perspective   (透视机器学习算法)
  • Data Science from Scratch – First Principles with Python  (抓取的数据科学——关于 Python 的首要原则)
  • Machine Learning in Python   (Python 中的机器学习)

接下来数月将要发行的书籍包括:

  • 《Introduction to Machine Learning with Python》 (Python 机器学习的介绍)
  • 《Thoughtful Machine Learning with Python: A Test-Driven Approach》 (思考 Python 机器学习:接近测试驱动)

机器学习相关的课程和博客

你想要得到一个学位,加入在线课程,或者参加线下讲习班、大本营或大学课程么?这里有一些关于逻辑分析、大数据、数据挖掘和数据科学的在线教育站点链接:Collection of links 。另外推荐一些在线课程–来自Udacity的Coursera 课程:machine learning  和 Data Analyst Nanodegree。还有一些关于机器学习的博客列表:List of frequently updated blogs。

最后是来自 Jake Vanderplas 和 Olivier Grisel,关于探索机器学习的优秀 youtube 视频课程。

机器学习理论

想要学习机器学习的理论?那么,《The Elements of statistical Learning》和《 Introduction to Statistical Learning》 是常常被引用的经典。然后还有另外两本书籍:《Introduction to machine learning 》和《 A Course in Machine Learning》。这些链接包括免费的PDF,你不需要付费!如果不想阅读这些书籍,请观看视频:15 hours theory of machine learning!

        
用Markdown编辑器写博客 本Markdown编辑器使用[StackEdit][6]修改而来,用它写博客,将会带来全新的体验哦:
  • Markdown和扩展Markdown简洁的语法
  • 代码块高亮
  • 图片链接和图片上传
  • LaTex数学公式
  • UML序列图和流程图
  • 离线写博客
  • 导入导出Markdown文件
  • 丰富的快捷键

快捷键

  • 加粗 Ctrl + B
  • 斜体 Ctrl + I
  • 引用 Ctrl + Q
  • 插入链接 Ctrl + L
  • 插入代码 Ctrl + K
  • 插入图片 Ctrl + G
  • 提升标题 Ctrl + H
  • 有序列表 Ctrl + O
  • 无序列表 Ctrl + U
  • 横线 Ctrl + R
  • 撤销 Ctrl + Z
  • 重做 Ctrl + Y

Markdown及扩展

Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成格式丰富的HTML页面。 —— [ 维基百科 ]

使用简单的符号标识不同的标题,将某些文字标记为粗体或者斜体,创建一个链接等,详细语法参考帮助?。

本编辑器支持 Markdown Extra ,  扩展了很多好用的功能。具体请参考Github.

表格

Markdown Extra 表格语法:

项目 价格
Computer $1600
Phone $12
Pipe $1

可以使用冒号来定义对齐方式:

项目 价格 数量
Computer 1600 元 5
Phone 12 元 12
Pipe 1 元 234

定义列表

Markdown Extra 定义列表语法:
项目1
项目2
定义 A
定义 B
项目3
定义 C

定义 D

定义D内容

代码块

代码块语法遵循标准markdown代码,例如:

@requires_authorization
def somefunc(param1='', param2=0):
    '''A docstring'''
    if param1 > param2: # interesting
        print 'Greater'
    return (param2 - param1 + 1) or None
class SomeClass:
    pass
>>> message = '''interpreter
... prompt'''

脚注

生成一个脚注1.

目录

[TOC]来生成目录:

  • 欢迎使
    • 在Python中学习机器学习的四个步骤
    • 1.Python入门指南:
      • 2.机器学习的重要模块
      • 3.从网站通过API挖掘和抓取数据
    • 机器学习相关的课程和博客
    • 机器学习理论
    • 快捷键
    • Markdown及扩展
      • 表格
      • 定义列表
      • 代码块
      • 脚注
      • 目录
      • 数学公式
      • UML 图:
    • 离线写博客
    • 浏览器兼容

数学公式

使用MathJax渲染LaTex 数学公式,详见math.stackexchange.com.

  • 行内公式,数学公式为: Γ(n)=(n1)!nN Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N
  • 块级公式:

x=b±b24ac2a x = − b ± b 2 − 4 a c 2 a

更多LaTex语法请参考 这儿.

UML 图:

可以渲染序列图:

Created with Raphaël 2.1.2 张三 张三 李四 李四 嘿,小四儿, 写博客了没? 李四愣了一下,说: 忙得吐血,哪有时间写。

或者流程图:

Created with Raphaël 2.1.2 开始 我的操作 确认? 结束 yes no
  • 关于 序列图 语法,参考 这儿,
  • 关于 流程图 语法,参考 这儿.

离线写博客

即使用户在没有网络的情况下,也可以通过本编辑器离线写博客(直接在曾经使用过的浏览器中输入write.blog.csdn.net/mdeditor即可。Markdown编辑器使用浏览器离线存储将内容保存在本地。

用户写博客的过程中,内容实时保存在浏览器缓存中,在用户关闭浏览器或者其它异常情况下,内容不会丢失。用户再次打开浏览器时,会显示上次用户正在编辑的没有发表的内容。

博客发表后,本地缓存将被删除。 

用户可以选择 把正在写的博客保存到服务器草稿箱,即使换浏览器或者清除缓存,内容也不会丢失。

注意:虽然浏览器存储大部分时候都比较可靠,但为了您的数据安全,在联网后,请务必及时发表或者保存到服务器草稿箱

浏览器兼容

  1. 目前,本编辑器对Chrome浏览器支持最为完整。建议大家使用较新版本的Chrome。
  2. IE9以下不支持
  3. IE9,10,11存在以下问题
    1. 不支持离线功能
    2. IE9不支持文件导入导出
    3. IE10不支持拖拽文件导入


  1. 这里是 脚注内容. ↩

你可能感兴趣的:(python)