利用python 掌握机器学习的过程
转载:http://python.jobbole.com/84326/
偶然看到的这篇文章,觉得对我挺有引导作用的。特此跟大家分享一下。
为了理解和应用机器学习技术,你需要学习 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。
其它资源:
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!
利用python 掌握机器学习的过程的更多相关文章
- 利用Python,四步掌握机器学习
为了理解和应用机器学习技术,你需要学习 Python 或者 R.这两者都是与 C.Java.PHP 相类似的编程语言.但是,因为 Python 与 R 都比较年轻,而且更加“远离”CPU,所以它们显得 ...
- 【Python】机器学习之单变量线性回归 利用正规方程找到合适的参数值
[Python]机器学习之单变量线性回归 利用正规方程找到合适的参数值 本次作业来自吴恩达机器学习. 你是一个餐厅的老板,你想在其他城市开分店,所以你得到了一些数据(数据在本文最下方),数据中包括不同 ...
- 【Python】机器学习之单变量线性回归 利用批量梯度下降找到合适的参数值
[Python]机器学习之单变量线性回归 利用批量梯度下降找到合适的参数值 本题目来自吴恩达机器学习视频. 题目: 你是一个餐厅的老板,你想在其他城市开分店,所以你得到了一些数据(数据在本文最下方), ...
- 利用python进行数据分析之数据规整化
数据分析和建模大部分时间都用在数据准备上,数据的准备过程包括:加载,清理,转换与重塑. 合并数据集 pandas对象中的数据可以通过一些内置方法来进行合并: pandas.merge可根据一个或多个键 ...
- 探索 Python、机器学习和 NLTK 库 开发一个应用程序,使用 Python、NLTK 和机器学习对 RSS 提要进行分类
挑战:使用机器学习对 RSS 提要进行分类 最近,我接到一项任务,要求为客户创建一个 RSS 提要分类子系统.目标是读取几十个甚至几百个 RSS 提要,将它们的许多文章自动分类到几十个预定义的主题领域 ...
- 利用Python进行数据分析-Pandas(第四部分-数据清洗和准备)
在数据分析和建模的过程中,相当多的时间要用在数据准备上:加载.清理.转换以及重塑上.这些工作会占到分析时间的80%或更多.有时,存储在文件和数据库中的数据的格式不适合某个特定的任务.研究者都选择使用编 ...
- 【python与机器学习实战】感知机和支持向量机学习笔记(一)
对<Python与机器学习实战>一书阅读的记录,对于一些难以理解的地方查阅了资料辅以理解并补充和记录,重新梳理一下感知机和SVM的算法原理,加深记忆. 1.感知机 感知机的基本概念 感知机 ...
- 利用python爬取海量疾病名称百度搜索词条目数的爬虫实现
实验原因: 目前有一个医疗百科检索项目,该项目中对关键词进行检索后,返回的结果很多,可惜结果的排序很不好,影响用户体验.简单来说,搜索出来的所有符合疾病中,有可能是最不常见的疾病是排在第一个的,而最有 ...
- 利用Python完成一个小游戏:随机挑选一个单词,并对其进行乱序,玩家要猜出原始单词
一 Python的概述以及游戏的内容 Python是一种功能强大且易于使用的编程语言,更接近人类语言,以至于人们都说它是“以思考的速度编程”:Python具备现代编程语言所应具备的一切功能:Pytho ...
随机推荐
- 51nod 1094 和为k的连续区间【前缀和/区间差/map】
1094 和为k的连续区间 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 收藏 关注 一整数数列a1, a2, ... , an(有正有负),以及另一个整数k ...
- Python与数据库[2] -> 关系对象映射/ORM[5] -> 利用 sqlalchemy 实现关系表查询功能
利用 sqlalchemy 实现关系表查询功能 下面的例子将完成一个通过关系表进行查询的功能,示例中的数据表均在MySQL中建立,建立过程可以使用 SQL 命令或编写 Python 适配器完成. 示例 ...
- poj2763(树链剖分 - 边权)
poj2763 题意 给定一个树形图,某人原来在 s 点,每条边(路)有通过的时间花费,有两种操作:1. 查询某人到 u 点花费的时间 2. 更新某条路的时间花费. 分析 权值在边上,可以把它们 &q ...
- 中国石油大学(华东)OJ题目的HTML爬取
这几天刷华东OJ的题,写博客还要复制HTML的代码,感觉麻烦的一批,然后就去摸鱼写了个小爬虫.. 看一下运行效果吧- 输入详细的pid.cid或id即可爬取相应的html代码 一些注意要点: 关键的还 ...
- 前端中 width 的获取
这篇文章其实是在了解 viewport 的过程中发现这些概念容易混淆做了个小小的总结.viewport的首要关键是宽度的获取,宽度的计算有下面几个属性和方法: clientWidth offsetWi ...
- 八. 输入输出(IO)操作4.面向字节的输入输出流
字节流以字节为传输单位,用来读写8位的数据,除了能够处理纯文本文件之外,还能用来处理二进制文件的数据.InputStream类和OutputStream类是所有字节流的父类. InputStream类 ...
- 五. 面向对象高级特性6. Java 泛型
我们知道,使用变量之前要定义,定义一个变量时必须要指明它的数据类型,什么样的数据类型赋给什么样的值. 假如我们现在要定义一个类来表示坐标,要求坐标的数据类型可以是整数.小数和字符串,例如: x = 1 ...
- WPF中的DesignMode判断
WPF中提供你一个类似WinForm的DesignMode属性的方法来判断当前是否处于设计器模式: bool IsInDesignMode { get { return Desig ...
- POJ 1511 Invitation Cards(单源最短路,优先队列优化的Dijkstra)
Invitation Cards Time Limit: 8000MS Memory Limit: 262144K Total Submissions: 16178 Accepted: 526 ...
- Overview of iOS Crash Reporting Tools: Part 1/2
Believe it or not, developers are not perfect, and every once in a while you might have a (gasp!) bu ...