本文参考imooc中的<<python调用scikit-learn实现机器学习>>
人工智能:
本质是机器对人的思维信息过程的模拟,让它像人一样思考。根据输入信息进行模型结构、权重更新,实现最终优化。
特点:信息处理、自我学习、优化升级。
输入-》处理-》输出
比如购物app的兴趣商品推荐、人脸识别等。
人工智能核心方法:机器学习、深度学习。【深度学习被包含于机器学习,机器学习被包含于人工智能。】
机器学习是一种实现人工智能的方法。深度学习是一种实现机器学习的技术。
机器学习:使用算法解析数据,从中学习然后对真实世界中的事件做出决策和预测。比如:短信号识别等。
机器学习的主要类别:
- 监督学习
基于数据及结果进行预测。一组输入数据对应一个正确的输出结果。
使用标签数据训练机器学习模型。调用训练好的机器学习模型,根据新的输入数据预测对应的结果。【特征数据提取】
- 非监督学习
从数据中挖掘关联性。不存在正确的答案。
不需要标签数据,通过引入预设的优化准则进行模型训练。
- 强化学习
深度学习:模仿人类神经网络,建立模型,进行数据分析。比如:人脸识别。
部署机器学习开发环境:python、scikit-learn(/TF)、jupyter notebook[轻量级基于web框架的开发环境]
- python:【胶水语言】
好消息是,微软平台已经出了官方文档学习Python:https://docs.microsoft.com/zh-cn/windows/python/
解释性:不需要编译成2进制代码,可以直接从源代码运行
面向对象: 支持面向过程的编程和面向对象的编程
可移植性: 因为开源,可在不同平台进行开发
高层语言:不需要考虑如何管理程序使用的内存等底层细节。
- scikit-learn:
Python中专门针对机器学习应用而发展起来的一款开源框架/算法库,可实现数据预处理、分类、回归、降维、模型选择等常用的机器学习算法。且不支持python之外的语言,不支持深度学习和强化学习。
- jupyter notebook:
jupyter notebook是一个开源的web应用程序,方便创建和共享代码文档。可以在这里面写代码、运行代码、查看结果、可视化数据等。
允许把代码写入独立的cell中,单独执行。可在测试项目的时候单独测试特定代码块,不用从头开始执行代码。
具体部署步骤:
- 安装python。。【官网略过】
- 安装Anaconda.
- 新建开发环境、安装numpy、scikit-learn库
- Jupyter notebook界面优化[可选]
Anaconda作用是很有效的帮助我们管理python环境。https://www.anaconda.com/
然后新建一个环境:
新建环境,并命名为sklearn
安装Jupter noteBook:
然后打开jupyter并写一段简单的代码分段运行下:看是否成功
Numpy
这里需要安装numpy包:numpy官网https://numpy.org/
numpy: matlab是建模的。numpy核心思想就是矩阵运算,引入相应的一个数组,在科学计算、大数据里通过矩阵运算快速增加开发的周期。
sklearn:
Jupyter notebook界面优化:【可选】
网址:https://github.com/dunovank/jupyter-themes
刚刚的终端环境中输入上面的命令。
上面的网站中有具体的参数配置及其含义:
把上面想要输入的代码,例如jt -t onedork -f roboto -fs 12输入在刚刚的终端环境中即可。
例如:
再次运行jupter notebook: