30天学习Python👨💻第二十六天——机器学习基础
我的Python30天学习挑战已经到了最后阶段和思维挑战,我已经探索了Python语言中主要的概念,还尝试了一些中级和高级概念。我想利用这次挑战的机会探索一些我听过很多次但是从来都没有尝试过的领域——机器学习和数据科学。所以挑战的最后几天里,我想利用Python理解机器学习和数据科学基本概念,尝试构建一些项目并分享我学习的过程。这对于未来深入探索这些领域是一个好的起点。
什么是机器学习
机器学习的定义
机器学习是计算机科学的一个领域,通过它计算机能够生成算法,并且通过分析提供给它们的数据可以最终改进效率解决问题。它是人工智能的一个子集或者一部分,可以使计算机能够在没有人干预的情况下解决问题。
机器学习(ML)是通过经验自动改进的计算机算法的研究。它是人工智能的一个子集。机器学习算法基于样本数据构建数学模型,就是所谓的“训练数据”,目的是能够在没有明确程序设定的情况下进行预测或者做出决策。——维基百科
为什么是机器学习
耐克的创始人Phil Knight有一句名言
“不要告诉人们怎么做,而是告诉他们做什么,让他们对于他们自己的成果感到惊讶。”
我在研究使用机器学习的原因时想到了这句话。
如果我们上面这句话中的“人”替换成“计算机”,就变成了
“不要告诉计算机去怎么做,而是告诉它们做什么,让它们对于它们自己的成果感到惊讶。”
我认为这很好的总结了为什么机器学习是有用的。
如果你对此感兴趣想要知道的更多,可以看下面的这些文章
机器学习的类型
机器学习就是基于输入的数据进行结果预测的。机器学习可以宽泛的划分为下面几类:
有监督——输入的数据是有分类的
- 分类——输入的数据具有某种标签,帮助机器根据它们的分类进行分类。
- 回归——反复执行任务以获取结果,比如确定股票价格
无监督——输入的数据没有任何标签分类,无监督算法用于这种场景
- 聚类——对数据进行聚类或者分组
- 关联规则学习
强化学习——它也被称为技能学习或者实时学习。在这种情况下,机器通过尝试和错误来确定最佳结果的可能性。比如,计算机通过上百万局的游戏教它自己找到获取最高分数的方式。
机器学习的基本步骤
机器学习通常包含这几个步骤:
- 导入数据
- 数据清洗,如果有需要移除不相关的数据’
- 将数据划分为训练集和测试集
- 创建一个模型或者算法或者函数
- 检测结果
- 改进并重复上面的步骤
Python机器学习
机器学习或者说人工智能,是与语言无关的。Python是最受欢迎的一门语言,机器学习专家、数据科学家和大公司都在使用,因为它拥有庞大的社区,并且有大量社区提供的工具,任何人都可以使用这些工具开始探索这个领域的可能性。
Python主要有
- 一个庞大的生态库
- 上手门槛低——对于即使没有任何编程经验的人来说都是非常容易上手的
- 非常灵活
- 平台无关
- 简单易读
- 庞大的社区
机器学习的工具
我想用这些工具来探索机器学习和数据科学技术:
- Jupyter Notebooks - 它是Anaconda toolkit的一部分
- Numpy Python用于科学计算的一个包
- Pandas- Python中用于数据分析的一个包
- Mathplotlib -Python中用于绘图的一个包
还有一些其他的工具,但是我在这个挑战的最后几天里主要介绍这些基本的工具。将来深入机器学习时我会探索其他的工具,比如Tenserflow
资源
我决定收藏一些精选的机器学习和数据科学相关的资源,对以后的学习有很好的参考价值。
- www.coursera.org/learn/machi…
- research.fb.com/blog/2018/0…
- developers.google.com/machine-lea…
- ai.google/education/
- www.udacity.com/course/intr…
- www.edx.org/course/mach…
- www.youtube.com/watch?v=7R5…
- www.youtube.com/watch?v=h0e…
这里有一个我找到的深入人心的纪录片
我对使用Python学习这个新的领域感到特别兴奋,我会分享接下来几天我做的项目,希望在接下来的旅途中能够学习新的概念。