回炉重造带你搞懂什么是机器学习?
Posted ZSYL
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了回炉重造带你搞懂什么是机器学习?相关的知识,希望对你有一定的参考价值。
带你搞懂什么是机器学习?
机器学习介绍
什么是机器学习:
机器学习是一门多领域交叉学科,涉及概率论、统计学、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。大白话讲就是:通过根据已有的数据使用算法获取这些数据的特性(模型),然后预测未知数据的走向。
机器学习应用案例:
如今因为数据量的增加,硬件条件越来越好,给机器学习提供了非常多的发展空间。目前在很多领域都用到了机器学习,比如:计算机识别、抖音推荐算法、360异常流量监控、信用卡欺诈检测、AI游戏玩家、医学诊断等都有很多非常成功的案例。
机器学习程序开发流程:
1. 获取数据:
机器学习最核心的东西,还是大量的数据作为基本基础。数据可以通过多个渠道获取,比如通过网络爬虫抓取,通过公司自有产品收集,通过与第三方公司合作等。
2. 清洗数据:
获取到数据后,可能存在很多问题,比如字段缺失,比如数据格式不一致,异常数据等,这时候需要将数据进行清洗,然后再送到机器学习程序进行训练。
3. 训练模型:
在这一步通过一定的算法,对数据进行建模,然后不断的调整各个参数的值已达到最优的训练模型。
4. 测试模型:
使用其他的数据对这个模型进行测试,看下这个模型的准确率,如果准确率偏低,则重复第3步,直至最优的模型。
5. 投入使用:
将做好的机器学习模型和算法转化为可以在生产环境中使用的产品。比如提供一个网站,或者一个app,通过接口的方式访问机器学习程序。在这个过程中也要不断的循环3、4来测试和优化模型。
开发环境:
Anaconda3(python3.7+jupyter notebook5.7)
其中用到的包:numpy 1.15.4
、pandas 0.24.1
、scikit-learn 0.20.2
。
Scikit-Learn库介绍:
scikit-learn
是基于Python
语言的机器学习工具,具有以下特点:
- 简单高效的数据挖掘和数据分析工具。
- 可供大家在各种环境中重复使用。
- 建立在
NumPy
,SciPy
和matplotlib
上。 - 开源,可商业使用 - BSD许可证
- 目前最新的文档版本是
0.20
。
历史由来:
对Python
语言有所了解的科研人员可能都知道SciPy
——一个开源的基于Python
的科学计算工具包。基于SciPy
,目前开发者们针对不同的应用领域已经发展出了为数众多的分支版本,它们被统一称为Scikits
,即SciPy
工具包的意思。而在这些分支版本中,最有名,也是专门面向机器学习的一个就是Scikit-learn
。
Scikit-learn
项目最早由数据科学家David Cournapeau
在2007 年发起,需要NumPy
和SciPy
等其他包的支持,是Python
语言中专门针对机器学习应用而发展起来的一款开源框架。
它的维护也主要依靠开源社区。
特点
作为专门面向机器学习的Python
开源框架,Scikit-learn
可以在一定范围内为开发者提供非常好的帮助。它内部实现了各种各样成熟的算法,容易安装和使用,样例丰富,而且教程和文档也非常详细。
另一方面,Scikit-learn
也有缺点。例如它不支持深度学习和强化学习,这在今天已经是应用非常广泛的技术。此外,它也不支持图模型和序列预测,不支持Python
之外的语言,不支持PyPy
,也不支持GPU
加速。
看到这里可能会有人担心Scikit-learn
的性能表现,这里需要指出的是:如果不考虑多层神经网络的相关应用,Scikit-learn
的性能表现是非常不错的。究其原因,一方面是因为其内部算法的实现十分高效,另一方面或许可以归功于Cython
编译器;通过Cython
在Scikit-learn
框架内部生成C
语言代码的运行方式,Scikit-learn
消除了大部分的性能瓶颈。
主要功能:
Scikit-learn
的基本功能主要被分为六大部分:分类
,回归
,聚类
,数据降维
,模型选择
和数据预处理(特征工程)
等。
官方文档:
https://scikit-learn.org/stable/
加油!
感谢!
努力!
以上是关于回炉重造带你搞懂什么是机器学习?的主要内容,如果未能解决你的问题,请参考以下文章
以❤️简单易懂❤️的语言带你搞懂有监督学习算法附Python代码详解机器学习系列之KNN篇
机器学习带你搞懂什么是特征工程?(特征抽取&特征预处理&特征选择&数据降维)