机器学习第二十六讲:官方示例 → 跟着菜谱学做经典菜肴

机器学习第二十六讲:官方示例 → 跟着菜谱学做经典菜肴

资料取自《零基础学机器学习》。

查看总目录:学习大纲

关于DeepSeek本地部署指南可以看下我之前写的文章:DeepSeek R1本地与线上满血版部署:超详细手把手指南


以跟着菜谱学做经典菜肴为例的机器学习全流程🌶️

准备食材-数据集 清洗食材-数据预处理 配料加工-特征工程 选择炊具-算法模型 控温调味-参数调节 品鉴评分-模型评估

一、备菜阶段:数据预处理

食材加工四部曲:

  1. 获取配方 → 构建数据集

    python 复制代码
    # 模拟菜品数据集(口味:酸甜苦辣/火候/口感评分)
    import pandas as pd
    ingredients = {
        '盐(克)': [3,5,2,4,1],
        '糖(克)': [10,8,15,5,12],
        '火候档位': [2,3,4,2,3],
        '耗时(分钟)': [25,30,20,40,35],
        '口味评分': [8,7,9,6,8]  # 目标标签
    }
    df = pd.DataFrame(ingredients)  # 构建特征矩阵 [^3-1]
  2. 挑拣次品 → 异常值过滤[1](#1)

    python 复制代码
    # 过滤异常火候档位(正常范围1-5)
    df = df[(df['火候档位']>=1) & (df['火候档位']<=5)]
  3. 补充遗漏 → 缺失值填充[2](#2)

    python 复制代码
    from sklearn.impute import SimpleImputer
    imputer = SimpleImputer(strategy='most_frequent')  # 用众数填充分类特征
    df_filled = imputer.fit_transform(df)
  4. 统一计量 → 特征规格化[3](#3)

    python 复制代码
    from sklearn.preprocessing import MinMaxScaler
    scaler = MinMaxScaler()  # 将盐/糖单位换算成0-1范围
    scaled_data = scaler.fit_transform(df_filled)
二、烹饪阶段:模型训练

智能调控三步法:
决策树/随机森林 火候/盐量 交叉验证

  1. 分割试吃组 → 数据集划分

    python 复制代码
    from sklearn.model_selection import train_test_split
    X = df.drop('口味评分', axis=1)
    y = df['口味评分']
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)  # 保留20%试菜[^8-2]
  2. 选定厨艺 → 初始化模型

    python 复制代码
    # 决策树(像菜谱的分步操作指南)
    from sklearn.tree import DecisionTreeRegressor
    chef = DecisionTreeRegressor(max_depth=3)  # 最多分3个步骤判断[^5-2]
  3. 自动调味 → 参数优化[4](#4)

    python 复制代码
    from sklearn.model_selection import GridSearchCV
    param_grid = {
        'max_depth': [2,3,4],       # 菜谱步骤深度
        'min_samples_split': [2,3]  # 每次调味最小分量
    }
    grid_search = GridSearchCV(chef, param_grid, cv=5)  # 5轮盲测试吃[^8-2]
    grid_search.fit(X_train, y_train)
三、品鉴阶段:模型评估

40% 60% 味觉测评指标 口感误差 风味匹配度

  1. 口感检验 → 平均绝对误差

    python 复制代码
    from sklearn.metrics import mean_absolute_error
    pred_score = grid_search.predict(X_test)
    print(f"菜品口味误差:{mean_absolute_error(y_test, pred_score):.1f}分")[^8-1]
  2. 风味检测 → 决策树可视化

    python 复制代码
    from sklearn.tree import plot_tree
    best_model = grid_search.best_estimator_
    plt.figure(figsize=(15,10))
    plot_tree(best_model, feature_names=X.columns)  # 生成烹饪决策流程图[^5-2]
  3. 秘方破解 → 输出最佳参数

    python 复制代码
    print(f"最优步骤深度:{grid_search.best_params_['max_depth']}")
    print(f"最小调味分量:{grid_search.best_params_['min_samples_split']}")
四、厨艺提升策略

风味增强技巧:

  1. 复合调料 → 特征组合\^4章

    python 复制代码
    # 添加甜咸比特征
    df['甜咸比'] = df['糖(克)']/(df['盐(克)']+1)  # 防止除零
  2. 换锅实验 → 模型对比

    基础锅 砂锅_决策树 进阶锅 高压锅_随机森林 高阶锅 分子料理机_XGBoost

  3. 火候控制 → 正则化调整[5](#5)

    python 复制代码
    from sklearn.ensemble import RandomForestRegressor
    rf = RandomForestRegressor(n_estimators=100, max_depth=5)  # 控制翻炒次数

实验对比结果:

烹饪方法 平均误差 稳定性 操作复杂度
基础决策树 0.75 ★★★☆ ★★
随机森林 0.62 ★★★★ ★★★
梯度提升树 0.58 ★★★★☆ ★★★★

目录:总目录

上篇文章:机器学习第二十五讲:TensorFlow → 乐高式搭建深度学习模型

下篇文章:机器学习第二十七讲:Kaggle → 参加机器学习界的奥林匹克



  1. 《零基础学机器学习》第三章第三节 异常值检测 ↩︎

  2. 《零基础学机器学习》第三章第一节 缺失值处理 ↩︎

  3. 《零基础学机器学习》第四章第二节 数据标准化 ↩︎

  4. 《零基础学机器学习》第八章第四节 网格搜索策略 ↩︎

  5. 《零基础学机器学习》第八章第五节 正则化应用 ↩︎

相关推荐
墨子夕几秒前
创新的潮汐——从科学发现到资本周期的百年规律(第二卷)
大数据·数据库·人工智能
console.log('npc')22 分钟前
第 1 章 项目概述与环境搭建
前端·人工智能·大模型
IT_陈寒31 分钟前
React组件莫名重渲染?你可能忘了这个小细节
前端·人工智能·后端
天远API38 分钟前
零信任架构实战:基于天远公安二要素政务版构建自动化不动产交易与契税核算实名核实网关
人工智能·架构·自动化·php
朋友圈自动点赞工具40 分钟前
浏览器端AI模型实测:五个可用场景
人工智能
承渊政道40 分钟前
【从零开始大模型开发与微调:基于PyTorch与ChatGLM】(从ChatGLM本地化到LoRA、PEFT的高级微调)
android·人工智能·pytorch·chatglm·本地化部署·大模型开发与微调
盟接之桥1 小时前
盟接之桥谈线束数字化-按单入按单出:线束企业库存管理的破局之道
大数据·前端·网络·数据库·人工智能·制造
Summer-Bright1 小时前
浏览器成了AI应用的新入口:智能体接管标签页之后,三本账谁买单
人工智能·chatgpt·agent·浏览器·智能体
xiaohaiAIgeo1 小时前
【2026年】紧急医疗运送送返:保额怎么看、多少够用
人工智能·科普知识
阿基拉de_Akir1 小时前
设计系统负责人:编译工作流中的上下游要求,评审的原材料从哪来,评审的产物给谁用
人工智能