访问量: 301 次浏览
机器学习 (ML) 是近20多年兴起的一门多领域交叉学科, 涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。 机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。 机器学习算法是一类从数据中自动分析获得规律, 并利用规律对未知数据进行预测的算法。 因为学习算法中涉及了大量的统计学理论, 机器学习与统计推断学联系尤为密切, 也被称为统计学习理论。算法设计方面, 机器学习理论关注可以实现的、行之有效的学习算法。
机器学习已经有了十分广泛的应用, 例如:数据挖掘、计算机视觉、自然语言处理、 生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、 证券市场分析、DNA序列测序、语音和手写识别、战略游戏和机器人运用。
机器学习是人工智能的一个子领域, 它研究机器模仿智能人类行为的能力。 人工智能系统用于以类似于人类解决问题的方式执行复杂任务。 机器学习在我们的生活中无处不在, 从智能手机上的预测文本到您最喜欢的应用程序等等。 机器学习是计算机科学中最令人兴奋和动态发展的分支之一, 也是一个有吸引力的职业选择。 种种迹象表明, 计算机科学这一分支在未来只会继续快速发展。 接下来请阅读本文查看如何进行机器学习。
Python 是机器学习最流行的编程语言之一, 具体原因有如下几点:
当谈及利用 Python 进行机器学习时, PyCharm 是最受欢迎的选择之一。 PyCharm Professional 提供了大量内置科学工具, 例如 REPL Python 控制台、 Conda 和 Jupyter Notebook 集成。 PyCharm Professional 还允许 创建科学项目, 并具有为交互式科学计算和数据可视化提供支持的 科学模式。
尽管上述内置工具已经足够满足某些项目, 但仍然可以向 PyCharm Professional 中添加一些额外的科学堆栈库, 以增强您的机器学习能力。 接下来让我们看一下帮助构建机器学习项目的几种工具介绍。

NumPy (Numerical Python) 是 Python 的一种开源的数值计算扩展。 这种工具可用来存储和处理大型矩阵, 比 Python 自身的嵌套列表结构要高效的多 (该结构也可以用来表示矩阵(matrix)), 支持大量的维度数组与矩阵运算, 此外也针对数组运算提供大量的数学函数库 。 NumPy 是一个开源 Python 库, 是科学计算的基础。 它支持各种高级数学函数, 广泛用于数据科学、机器学习和大数据应用。 利用 NumPy 将能够使用许多内置函数高效地执行线性代数,统计,逻辑和其他操作。
Pandas 是基于 NumPy 的一种工具, 是高性能数据操作和分析的 Python 库, 该工具是为了解决数据分析任务而创建的。 Pandas 纳入了大量库和一些标准的数据模型, 提供了高效地操作大型数据集所需的工具。 Pandas 专注于使用 Dataframes, 而 NumPy 则面向有效地使用数组。 如果您正在使用表格数据(如存储在电子表格或数据库中的数据), 则此库将非常有用。除此外,Pandas 还为时间序列提供了很好的支持, 并为处理日期、时间和时间索引数据提供了广泛的功能。
Matplotlib 是一个综合 Python 库, 用于创建基于 NumPy 数组的静态、动画和交互式可视化, 能够创建各种图表并根据需要对其进行自定义, 它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形 。 通过 Matplotlib, 开发者可以仅需要几行代码, 便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。
Scikit-learn 是一个建立在 Scipy 基础上的用于机器学习的 Python 模块。 在不同的应用领域中, 已经大展出为数众多的基于 Scipy 的工具包, 他们统称为 Scikits, 而在所有的分支版本中, Scikit-learn 是最有名且开源的, 任何人都可以免费地使用该库或者进行二次开发。
Scikit-learn(也称为 Scikit)是一个 基于 NumPy、SciPy 和 Matplotlib 构建的开源数据分析 Python 库。 Scikit-learn 专注于机器学习和统计建模工具, 包括构成许多机器学习技术基础的分类、回归、聚类和降维。 Sklearn 可能是 Python 中最有用和最强大的机器学习库。
这些库不包含在标准 Python 库中, 但可以使用 pip(Python的软件包安装程序)来轻松安装。 将这些工具添加到 PyCharm Professional 后, 您将完全有能力开始构建自己的高级机器学习项目。
如果您觉得自己还没有准备好如何构建机器学习项目, 也可参考 JetBrains Academy 上的 Python 入门机器学习课程, 这是一个学习编程的动手平台。 JetBrains Academy 专注于基于项目的学习并与选定的 JetBrains IDE(包括 PyCharm)集成, 在您学习新语言或技术时提供真实的编程体验。
通过 PyCharm 和 JetBrains Academy 的学习, 我们将会深入了解基本的机器学习的技术, 并获得使用 NumPy、pandas、Matplotlib 和 scikit-learn 的实践经验。