本页面提供了ML-For-Beginners课程实施方面的技术概述。它涵盖了代码结构、使用的框架、多语言支持以及测验应用程序的架构。有关课程内容组织的具体信息,请参阅课程结构。
ML-For-Beginners 存储库围绕一个结构化的学习路径进行组织,该路径从基础概念到专业的机器学习技术。代码库通过几个相互关联的组件来实现此课程。
来源
该存储库使用行业标准的框架和库,提供了 Python 和 R 中的机器学习概念的实现。
Python 实现主要使用 scikit-learn 进行模型构建,并使用特定领域的专用库(NLP、时间序列等)。实现以 Jupyter notebook 的形式提供,以实现交互式学习。
R 实现利用了 tidyverse 生态系统,特别是 tidymodels 进行机器学习工作流。此实现展示了数据科学的“整洁”方法。
来源
以下是使用 tidymodels 在 R 中进行模型训练和评估的典型工作流
来源
测验应用程序是一个基于 Vue.js 的 Web 应用程序,提供课前和课后测验,以测试知识的保留情况。
来源
每个测验都以 JSON 格式组织,包含
来源
该课程提供广泛的多语言支持,以使内容在全球范围内可用。这是通过以下方式实现的:
来源
该课程通过具体的代码实现涵盖了多种机器学习范式。以下是机器学习概念与其在代码库中实现的对应关系
| 机器学习范式 | Python实现 | R实现 | 主要库 |
|---|---|---|---|
| 回归 | 线性与逻辑回归 | tidymodels 工作流 | scikit-learn, tidymodels |
| 分类 | 各种分类器 | parsnip 模型 | scikit-learn, nnet |
| 聚类 | K-means | stats::kmeans | scikit-learn, cluster |
| NLP | 文本处理、情感分析 | 文本挖掘包 | NLTK, tidytext |
| 时间序列 | ARIMA 模型 | forecast 包 | statsmodels, forecast |
| 强化学习 | Q-Learning | 覆盖范围有限 | gym, ReinforcementLearning |
来源
典型的 R 实现使用 tidymodels 创建一个结合了预处理和模型训练的工作流
# Define preprocessing recipe
recipe_obj <- recipe(target ~ ., data = training_data) %>%
step_dummy(all_nominal(), -all_outcomes()) %>%
step_normalize(all_predictors())
# Define model specification
model_spec <- logistic_reg() %>%
set_engine("glm") %>%
set_mode("classification")
# Create workflow
workflow_obj <- workflow() %>%
add_recipe(recipe_obj) %>%
add_model(model_spec)
# Train model
model_fit <- workflow_obj %>%
fit(data = training_data)
# Make predictions
predictions <- model_fit %>%
predict(new_data = testing_data)
来源
课程以 Markdown 格式编写,结构一致
来源
该存储库使用 GitHub Actions 进行自动化工作流,包括
部署架构确保课程的更改能够自动反映在测验应用程序和文档中。
来源