作者:刘算法
来源:恒生LIGHT云社区

一、前言

笔者在前面的几篇文章中讲述了关于算法学习及入门的一些方法与技能,这其中包括自己的一些学习经历和实践方法。但是,空谈方法难免有些空洞,所以从此开始系统的讲述算法入门应该必备的技能及算法原理、思想。

这将是一个系列课程,首先发布文本版本,后续有时间会继续更新细节或添加代码实现细节,欢迎关注。

本篇文章主要以jupyter notebook为代码开发环境,开始python 基础编程之旅。

二、Jupyter notebook的安装

在文章《【人工智能算法小白入门系列】- 如何入门学习成为一名AI算法工程师?》一种,我曾提到Jupyter notebook的安装步骤,在此再简单描述一下。

1. 首先,安装Anaconda解析环境,安装完成后可以在Anaconda prompt窗口键入jupyter notebook 回车后启动,可以通过ctrl+C停止jupyter,具体见图:

Jupyter启动.JPG

也可以在该窗口上,先cd 到特定路径下然后再键入jupyter notebook启动。

2. 启动后,就可以在网页版的编辑环境下正常的运行Python代码了,例如下图展示了在python导入简答的包并打印输出提示语句。

KNN模拟.png

三、Jupyter notebook基础

1. 文本单元格使用markdown 语法基础,可以参考

https://guides.github.com/features/mastering-markdown/

2. 代码单元格执行:

代码单元格.JPG

四、Python基础

1. 列表生成器及索引功能,包括索引,过滤,切片和求长度

列表生成式.JPG

List不要求存储相同类型的数据,带来效率问题。

2. numpy array 数据类型,要求相同的数据结构,不然会显示错误。缺点在于数据并没有做成向量或者矩阵,不支持运算。

numpy.JPG

3. 创建numpy及基本功能

1. 通过不同的方式创建array及常见的技巧。

创建numpy.JPG

2. 生成不同size的array并初始化:

生成不同size的array并初始化.JPG

3. 按照一定的间隔生成,但是不支持浮点作为间隔。

按照一定的间隔生成.JPG

4. 在一定范围内生成有限的数值:

在一定范围内生成有限的数值.JPG

5. 生成特定区间内的随机数

生成特定区间内的随机数.JPG

6. 生成特定size的随机数

生成特定size的随机数.JPG

4. numpy 合并和分割

1. 合并:

numpy_合并.JPG

2. 分割:

numpy_分割.JPG

5. matplotlib基础

matplotlib.JPG

1. 关于color的参数可以参考:

https://matplotlib.org/2.0.2/api/colors_api.html

matplotlib_color.JPG

2. 关于linestyle参数:

https://matplotlib.org/devdocs/gallery/lines_bars_and_markers/line_styles_reference.html

3. scatter 点图:

matplotlib_scatter.JPG

四、机器学习算法实践

当前经典的机器学习算法中,我们选定KNN作为简单代码实践的过程。KNN算法属于无监督分类算法模型,关于算法的原理及细节我会再后续的课程中详细描述,当前只借助jupyter简单实现其过程。

首先,定义训练数据样本raw_data_X和对应的标签数据raw_data_y,测试样本暂定一个x

具体代码如下:

KNN样本.JPG

建模、训练及推理

KNN模拟.png

以上是基于jupyter notebook 实现的Python代码和简单应用,后续会更新更多相关课程,尽情关注。


恒生LIGHT云社区
46 声望7 粉丝

LIGHT云是恒生公司旗下云服务品牌,聚焦金融行业生态圈,依托恒生公司24年技术创新及研发积累,不断探索金融行业各场景的落地和应用,提供一站式云计算行业解决方案。