用Python实现流行机器学习算法

对于此库的Octave/MatLab版本,请检查machine-learning-octave项目。

该库包含在Python中实现的流行机器学习算法的示例,其中包含数学背后的解释。 每个算法都有交互式Jupyter Notebook演示,允许您使用训练数据,算法配置,并立即在浏览器中查看结果,图表和预测。 在大多数情况下,解释是以Andrew Ng的这个伟大的机器学习课程为基础的。

此库的目的不是通过使用第三方库“单行方式”来实现机器学习算法,而是从头开始实践这些算法,并更好地理解每种算法背后的数学思维。 这就是为什么所有算法实现都被称为“自制”并且不打算用于生产的原因。

更多Python视频、源码、资料加群683380553免费获取

监督学习

在监督学习中,我们将一组训练数据作为输入,并将每组训练集的标签或“正确答案”作为输出。 然后我们正在训练我们的模型(机器学习算法参数)以正确地将输入映射到输出(以进行正确的预测)。 最终目的是找到这样的模型参数,即使对于新的输入示例,也能成功地得到正确的输入 - 输出映射(预测)。

回归

在回归问题中,我们进行实际的价值预测。 基本上我们尝试沿着训练样例绘制线/平面/n维平面。

用法示例:股票价格预测,销售分析,任意数字的依赖性等。

线性回归

数学| 线性回归 - 理论和进一步阅读的链接

代码| 线性回归 - 实现示例

演示| 单变量线性回归 - 按经济GDP预测国家幸福得分

演示| 多元线性回归 - 按经济GDP和自由指数预测国家幸福得分

演示| 非线性回归 - 使用具有多项式和正弦特征的线性回归来预测非线性依赖性。

分类

在分类问题中,我们通过某些特征分割输入示例。

用法示例:垃圾邮件过滤器,语言检测,查找类似文档,手写字母识别等。

逻辑回归

数学| 逻辑回归 - 理论和进一步阅读的链接

代码| 逻辑回归 - 实现示例

演示| 逻辑回归(线性边界) - 基于petal_length和petal_width预测虹膜花类

演示| 逻辑回归(非线性边界) - 基于param_1和param_2预测微芯片有效性

演示| 多元逻辑回归| 手写测试数据 - 识别28x28像素图像的手写数字。

演示| 多元逻辑回归| 时尚测试数据 - 识别28x28像素图像的衣服类型。

无监督学习

无监督学习是机器学习的一个分支,它从未经标记,分类或归类的测试数据中学习。 无监督学习不是响应反馈,而是根据每个新数据中是否存在这种共性来识别数据中的共性并做出反应

聚类

在聚类问题中,我们将以未知特征来分割训练样例。 算法本身决定了用于分割的特征。

用法示例:市场细分,社交网络分析,组织计算集群,天文数据分析,图像压缩等。

K-means算法

数学| K-means算法 - 理论和进一步读数的链接

代码| K-means算法 - 实现示例

演示| K-means算法 - 根据petal_length和petal_width将虹膜花分成簇

异常检测

异常检测(也称孤立点检测)是通过与大多数数据显著不同而引起怀疑的极少类别,事件或观测的识别。

用法示例:入侵检测,欺诈检测,系统健康监控,从数据集中删除异常数据等。

利用高斯分布进行异常检测

数学| 使用高斯分布的异常检测 - 理论和进一步读数的链接

代码| 使用高斯分布的异常检测 - 实现示例

演示| 异常检测 - 查找服务器操作参数(如延迟和阈值)中的异常

神经网络(NN)

神经网络本身不是算法,而是许多不同机器学习算法的框架,它们协同工作并处理复杂的数据输入。

用法示例:一般作为所有其他算法的替代,图像识别,语音识别,图像处理(应用特定样式),语言翻译等。

多层感知器(MLP)

数学| 多层感知器 - 理论和进一步阅读的链接

代码| 多层感知器 - 实现示例

演示| 多层感知器| 手写测试数据 - 识别28x28像素图像的手写数字。

演示| 多层感知器| 时尚测试数据 - 识别28x28像素图像的衣服类型。

机器学习知识图谱

以上机器学习主题图的来源是这篇精彩的博文

先决条件

安装Python

确保您的计算机上安装了Python。

您可能希望使用venv标准Python库来创建虚拟环境,并从本地项目目录安装和提供Python,pip和所有相关软件包,以避免弄乱系统范围的软件包及其版本。

安装依赖项

通过运行以下命令安装项目所需的所有依赖项:

在本地启动Jupyter

项目中的所有演示都可以直接在浏览器中运行,而无需在本地安装Jupyter。 但是如果你想在本地启动Jupyter Notebook,你可以从项目的根文件夹运行以下命令:

在这之后,http://localhost:8888可以访问这个Jupyter Notebook。

远程启动Jupyter

每个算法部分都包含到Jupyter NBViewer的演示链接。这是Jupyter Notebook的快速在线预览器,您可以在浏览器中查看演示代码,图表和数据,而无需在本地安装任何内容。 如果您想更改代码并尝试使用演示notebook来实验,您需要在Binder中启动笔记本。 您只需单击NBViewer右上角的“在活页夹上执行”链接即可完成此操作。

数据集

可以在数据文件夹中找到用于Jupyter Notebook演示的数据集列表。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python是一种流行的编程语言,广泛用于机器学习算法实现。以下是使用Python实现机器学习算法的一般步骤: 1. 导入所需的库:在Python中,常用的机器学习库包括NumPy(用于数值计算)、Pandas(用于数据处理)、Scikit-learn(用于机器学习算法)、Matplotlib(用于数据可视化)等。首先,你需要导入这些库。 2. 数据预处理:对于机器学习算法来说,数据预处理是一个重要的步骤。它包括数据清洗、特征选择和特征缩放等过程,以准备好输入模型的数据。 3. 拆分数据集:将数据集划分为训练集和测试集。训练集用于构建模型,而测试集用于评估模型的性能。 4. 选择算法:根据你的问题类型(分类、回归等)和数据特征选择适当的机器学习算法。例如,你可以使用决策树、随机森林、支持向量机(SVM)或神经网络等。 5. 训练模型:使用训练集对选择的算法进行训练。这涉及到将输入数据与其对应的标签进行匹配,并调整模型参数以最小化误差。 6. 模型评估:使用测试集对模型进行评估。常见的评估指标包括准确率、精确率、召回率、F1分数等。 7. 参数调优:根据模型的性能进行参数调优,以改进模型的预测能力。 8. 模型应用:一旦你的模型经过训练和调优,你可以将其应用于新的未知数据,进行预测或分类等任务。 请注意,这只是一个一般的流程示例,每个机器学习算法实现可能会有所不同。在实践中,你可能需要根据具体问题的特点进行适当的调整和改进。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值