作者:刘算法
起源:恒生 LIGHT 云社区
一、前言
笔者在后面的几篇文章中讲述了对于算法学习及入门的一些办法与技能,这其中包含本人的一些学习经验和实际办法。然而,空谈办法不免有些空洞,所以从此开始零碎的讲述算法入门应该必备的技能及算法原理、思维。
这将是一个系列课程,首先公布文本版本,后续有工夫会持续更新细节或增加代码实现细节,欢送关注。
本篇文章次要以 jupyter notebook 为代码开发环境,开始 python 根底编程之旅。
二、Jupyter notebook 的装置
在文章《【人工智能算法小白入门系列】- 如何入门学习成为一名 AI 算法工程师?》一种,我曾提到 Jupyter notebook 的装置步骤,在此再简略形容一下。
1. 首先,装置 Anaconda 解析环境,装置实现后能够在 Anaconda prompt 窗口键入 jupyter notebook 回车后启动,能够通过 ctrl+ C 进行 jupyter,具体见图:
也能够在该窗口上,先 cd 到特定门路下而后再键入 jupyter notebook 启动。
2. 启动后,就能够在网页版的编辑环境下失常的运行 Python 代码了,例如下图展现了在 python 导入简答的包并打印输出提醒语句。
三、Jupyter notebook 根底
1. 文本单元格应用 markdown 语法根底, 能够参考
https://guides.github.com/features/mastering-markdown/
2. 代码单元格执行:
四、Python 根底
1. 列表生成器及索引性能,包含索引,过滤,切片和求长度
List 不要求存储雷同类型的数据,带来效率问题。
2. numpy array 数据类型, 要求雷同的数据结构,不然会显示谬误。毛病在于数据并没有做成向量或者矩阵,不反对运算。
3. 创立 numpy 及基本功能
1. 通过不同的形式创立 array 及常见的技巧。
2. 生成不同 size 的 array 并初始化:
3. 依照肯定的距离生成,然而不反对浮点作为距离。
4. 在肯定范畴内生成无限的数值:
5. 生成特定区间内的随机数
6. 生成特定 size 的随机数
4. numpy 合并和宰割
1. 合并:
2. 宰割:
5. matplotlib 根底
1. 对于 color 的参数能够参考:
https://matplotlib.org/2.0.2/api/colors_api.html
2. 对于 linestyle 参数:
https://matplotlib.org/devdocs/gallery/lines_bars_and_markers/line_styles_reference.html
3. scatter 点图:
四、机器学习算法实际
以后经典的机器学习算法中,咱们选定 KNN 作为简略代码实际的过程。KNN 算法属于无监督分类算法模型,对于算法的原理及细节我会再后续的课程中详细描述,以后只借助 jupyter 简略实现其过程。
首先,定义训练数据样本 raw_data_X 和对应的标签数据 raw_data_y,测试样本暂定一个 x
具体代码如下:
建模、训练及推理
以上是基于 jupyter notebook 实现的 Python 代码和简略利用,后续会更新更多相干课程,纵情关注。