python闯江湖之第一式学会选刀,提刀,入门

人在江湖飘,哪有不磨刀。python这把优秀的兵器,在编程界里,绝对是顶级的。

写得好:点个赞,评论,关注, 支持一下。 写得不好:用评论骂诗我吧!加Q群883444106骂我也行。
想要真的理解原理,就会涉及动手实践的问题。

一般来说,经过自己去训练一个模型,测试一些数据,

进一步去编写一个算法等动手的过程,那些公式、函数、算法才能真的在头脑中留下印象。

即使不是开发最终提供给用户的产品,做 POC 或 Prototype 会用到 Python;处理数据会用到 Python;验证论文也会用 Python……



Python 是一种说人话的语言

所谓“说人话”,是指这种语言:

开发者不需要关注底层;

编写 Python 代码时不用自己费心照顾存储、网络等资源。

尤其是,写 AI 相关的程序时,处理大量非结构化数据是必然要求。

针对这一场景,Python 的动态类型设计正好大展拳脚;

语法简单直观,毫不啰嗦;

表达形式一致。

Python 的设计理念就是让不同的人在撰写同样功能实现的代码时,所用的表达形式一致。

这样的代码既容易读懂,又容易整合。

而且,Python 程序不用编译,直接运行。甚至都可以不用写文件,一条条语句可以直接作为命令行运行。不要太方便咯。



大量机器学习支持库

由于 Python 语言自身所具备的特性,使得它成了做数据处理、机器学习和深度学习的人们的首选。毕竟这些领域早期的主体是研究人员和数据科学家。他们并不是职业程序员,编程语言本身于他们而言仅仅是一种工具。

如此一来,Python 就成了他们的掌中宝。作为回报,他们向 Python 反哺了大量用于数据处理和机器学习的支持库。

其中最著名的 NumPy 和 sklearn(scikit-learn),它们是现在每一个有志于入行 AI 的人都不可能忽略的。

本课所讲述的全部内容,都用这两个库来进行实践。


Python 的江湖地位

语言简单易学,支持库丰富强大,这两大支柱从早期就奠定了 Python 的江湖地位。

根据以高收入国家 Stack Overflow 问题阅读量为基础的主要编程语言趋势统计

由图可见,2012年之后,对于 Python 相关问题的浏览量迅速增长,从时间上看,这一趋势正好和近几年人工智能的发展重合。

技术的普及推广就像滚雪球,早期的积累相对缓慢,一旦过了临界点,就是大爆发。别的不说,就说现在 TensorFlow、Caffe 之类的深度学习框架,主体都是用 Python 来实现,提供的原生接口也是 Python。



怎么学 Python

如果读者完全没有编程实践经验,该如何着手学习呢?是不是应该先买本书?

买书当然可以,不过不是必须,特别是,当你学习编程的目的是要训练机器学习模型的时候。

个人认为,

阅读官网文档或中文版教程,并在实践中通过 Stack Overflow 直接查找所需实现问题的 Solution,

可能是比读书更好的学习编程语言的方法。

如果你非要买书,那么推荐这本:由 Eric Matthes 撰写的《Python 编程从入门到实践》。

不管买不买书,下面的过程都差不多。个人建议按照下面的顺序入手 Python。

(1)安装 Python 运行环境。

Python 2 和 Python 3 又是一个悲伤的故事。

关于两者的争论罄竹难书,但毕竟,更高版本总是看着顺眼点。更何况,Python 官方到2020年就不支持 Python 2 了。如今 TensorFlow for Windows 也只有 Python 3 版本。

废话少说,就选 Python 3吧。

第一步,在你的系统上安装好 Python 3。

(2)编写第一个 Python 程序:“Hello world”。

虽然有效代码只有:print(”hello world”)。

但注意,你需要尝试至少三种不同的运行方法:

在命令行直接运行;

编写一个 Python 文件,将 print hello world 封装为一个函数,通过 main 函数调用它来运行;

编写一个 class,将 print hello world 封装为一个 method,通过 main 函数创建 class 实例来运行 method。

(3)编写一个或者多个复杂点的程序,用(2)中第2种或第3种方式执行。

python闯江湖之第一式学会选刀,提刀,入门
具体程序的功能可以自己定义,目的是借此了解下面这些概念:数据类型、变量、函数、参数、返回值、调用、递归……

学习流程控制:顺序、条件、循环。

搞清几种不同类型:array、list、dict、set 的用法。

在这个过程中,学习什么是静态类型、什么是动态类型、什么是强类型、什么是弱类型,这些不同设计的目的和应用场景分别是什么。

如果你实在不知道写什么程序好,那就写写 binary search 和 quick sorting 吧。并顺便尝试一下递归和非递归的不同实现。

(4)编写程序练习文件读写,文件和目录操作。

这一点非常重要,对于最初级的机器学习实践者,如果使用支持库封装好的模型算法,那么实际要做的工作其实就是把数据在文件和各种类型的变量之间导来导去。

所以务必学会将 tsv、csv 之类的文件读入 array、list、dict 等结构,以及将这些变量打印到文本文件中的方法。



(5)开始写第一个机器学习程序。

首先 import numpy 和 sklearn。之前当然要安装这两个支持库,一般安装支持库使用 apt-get 或者 pip,可以根据需要选用。

其次,找一个模型,比如 Logistic Regression,网络搜索该模型训练和测试的 Example Code,运行后看结果,并阅读 Example Code(下面是个例子)。

from numpy import *

from sklearn.datasets import load_iris # import datasets

load the dataset: iris

iris = load_iris()

samples = iris.data

print samples

target = iris.target

import the LogisticRegression

from sklearn.linear_model import LogisticRegression

classifier = LogisticRegression() # 使用类,参数全是默认的

classifier.fit(samples, target) # 训练数据来学习,不需要返回值

x = classifier.predict(array([5, 3, 5, 2.5]).reshape(1,-1)) # 测试数据,分类返回标记

print x

一则学习 sklearn 和 Numpy 库函数的调用,一方面对 LR 有个感性认识。

(6)自己设置一个实际问题,并准备数据。修改(5)的程序,用自己的数据训练并测试模型。

(7)逐行解读(6)中调用的 sklearn 函数的实现代码,结合该模型的原理,对比印证,彻底搞懂一个算法的实现细则。

比如例子中的:classifier.fit() 和 classifier.predict()。

(8)不依赖 sklearn,自己动手实现一个训练 LR 模型的算法。

完成上面这些步骤后,你算是可以用 Python 辅助学习机器学习基础知识了。

以上就是绪论部分需要学习的内容,不知道同学们通过这两天是否对为什么学习和怎么学习有了更深的理解?请把你的心得和问题通过学习笔记提交出来吧,我们一起研究,共同进步。



Q群883444106

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,544评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,430评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,764评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,193评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,216评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,182评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,063评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,917评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,329评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,543评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,722评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,425评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,019评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,671评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,825评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,729评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,614评论 2 353

推荐阅读更多精彩内容