2024电工杯B题保姆级分析完整思路+代码+数据教学

2024电工杯B题保姆级分析完整思路+代码+数据教学

B题题目:大学生平衡膳食食谱的优化设计及评价 

接下来我们将按照题目总体分析-背景分析-各小问分析的形式来

总体分析:

题目要求对两份一日膳食食谱进行营养分析和调整,然后设计优化的平衡膳食食谱,并进行评价。具体步骤如下:

问题 1:膳食食谱的营养分析评价及调整

1.1 膳食营养评价

首先我们需要对附件1和附件2中的男、女大学生的膳食进行全面的营养评价。根据附件4的标准,评价内容包括能量、主要营养素含量(蛋白质、脂肪、碳水化合物等)、非产能营养素(钙、铁、锌、维生素等)及氨基酸评分等。

1.2 调整改进

基于附件3提供的食堂主要食物信息,对男、女大学生的膳食进行适当调整,使其更符合营养需求,然后再进行营养评价。

问题 2:基于附件3的日平衡膳食食谱的优化设计

2.1 目标一:蛋白质氨基酸评分最大化

建立优化模型,设计男、女大学生的日食谱,并进行膳食营养评价。

2.2 目标二:用餐费用最经济

建立优化模型,设计男、女大学生的日食谱,并进行膳食营养评价。

2.3 目标三:兼顾蛋白质氨基酸评分及经济性

建立综合优化模型,设计男、女大学生的日食谱,并进行膳食营养评价。

2.4 比较分析

对上述三种优化方案进行比较分析,找出最优方案。

问题 3:基于附件3的周平衡膳食食谱的优化设计

在问题2的基础上,分别以蛋白质氨基酸评分最大、用餐费用最经济、兼顾蛋白质氨基酸评分及经济性为目标,设计男、女大学生的周食谱,并进行评价及比较分析。

问题 4:健康饮食、平衡膳食的倡议书

基于以上分析和设计,针对大学生饮食结构及习惯,写一份健康饮食、平衡膳食的倡议书。

背景分析:

大学时代是学知识、长身体的重要阶段,这一时期的年轻人需要充足的能量和营养素来支持身体发育、脑力劳动和体育锻炼。然而,目前大学生饮食结构不合理、不良饮食习惯突出,如不吃早餐、经常食用外卖快餐等,导致营养不良或过度肥胖。解决这些问题对于大学生的生长发育和健康至关重要。

可以看到研究的对象是一名男大学生和一名女大学生,他们分别记录了一日三餐的食物摄入情况。并且还有某高校学生食堂提供的一日三餐主要食物信息。

数据文件包括3个数据集,在拆解后,我们的目标主要有以下几个:

  1. 营养分析和评价:

  • 对男、女大学生的膳食进行全面的营养分析和评价。

  • 基于高校食堂的食物信息,对膳食进行调整改进,并重新进行评价。

  • 优化设计:

  • 建立优化模型,设计男、女大学生的日食谱,目标分别为蛋白质氨基酸评分最大、用餐费用最经济、兼顾评分和经济性。

  • 在日食谱基础上,设计周食谱,并进行评价和比较分析。

  • 健康倡议书:

  • 针对大学生的饮食结构及习惯,撰写一份健康饮食、平衡膳食的倡议书。

现在就先对数据集进行预处理分析,我们以附件1为例,做数据预处理和探索性数据分析(EDA)

数据读取和展示:

import pandas as pd

# 读取数据

male_diet = pd.read_excel('/mnt/data/附件1:1名男大学生的一日食谱.xlsx')

# 展示前10行数据

male_diet_head = male_diet.head(10)

male_diet_head

数据预处理

预处理步骤包括:

  1. 检查数据的完整性,处理缺失值。

  2. 转换数据类型,确保所有数据类型正确。

  3. 计算每种食物的总量及其对应的营养素含量。

代码:

# 检查数据的基本信息

male_diet.info()

# 检查数据的描述性统计

male_diet.describe()

# 检查是否有缺失值

missing_values = male_diet.isnull().sum()

missing_values

数据处理和计算

根据每种食物的量和其营养成分表,计算总的营养素含量。

假设数据表中包括以下列:食物名称、数量(g)、蛋白质含量(g/100g)、脂肪含量(g/100g)、碳水化合物含量(g/100g)等。

# 假设有以下列

# 食物名称、数量(g)、蛋白质含量(g/100g)、脂肪含量(g/100g)、碳水化合物含量(g/100g)

# 添加总蛋白质、总脂肪、总碳水化合物列

male_diet['总蛋白质 (g)'] = male_diet['数量 (g)'] * male_diet['蛋白质含量 (g/100g)'] / 100

male_diet['总脂肪 (g)'] = male_diet['数量 (g)'] * male_diet['脂肪含量 (g/100g)'] / 100

male_diet['总碳水化合物 (g)'] = male_diet['数量 (g)'] * male_diet['碳水化合物含量 (g/100g)'] / 100

# 计算总的营养素含量

total_protein = male_diet['总蛋白质 (g)'].sum()

total_fat = male_diet['总脂肪 (g)'].sum()

total_carbs = male_diet['总碳水化合物 (g)'].sum()

# 展示总营养素含量

total_nutrients = {

'总蛋白质 (g)': total_protein,

'总脂肪 (g)': total_fat,

'总碳水化合物 (g)': total_carbs

}

total_nutrients

探索性数据分析(EDA)

  1. 食物种类和数量分布:

  • 统计不同类别食物的数量分布情况。

  • 营养素分布:

  • 分析蛋白质、脂肪、碳水化合物在整个食谱中的分布。

import matplotlib.pyplot as plt

# 食物种类和数量分布

food_types = male_diet['食物名称'].value_counts()

food_types.plot(kind='bar', title='食物种类分布')

plt.xlabel('食物名称')

plt.ylabel('数量')

plt.show()

# 营养素分布

nutrients = male_diet[['总蛋白质 (g)', '总脂肪 (g)', '总碳水化合物 (g)']]

nutrients.sum().plot(kind='bar', title='营养素分布')

plt.xlabel('营养素')

plt.ylabel('总量 (g)')

plt.show()

通过以上步骤,我们可以获得男大学生一日食谱的基本情况及其营养素分布,为后续的营养评价和优化设计打下基础。附件2类似方法可以做。下面来看问题1的分析过程

问题一分析:

针对问题一,它分为两个小问,包括对两份食谱做出全面的膳食营养评价,以及加上附件3后的调整。首先,先来解决第一小问。

膳食营养评价

我们需要对男大学生的一日膳食进行全面的营养分析评价,评价内容包括:

l 食物结构分析:检查食物种类是否齐全,是否多样化。

l 能量和主要营养素计算:计算总能量及蛋白质、脂肪、碳水化合物的摄入量。

l 非产能营养素计算:计算钙、铁、锌、维生素A、维生素B1、维生素B2、维生素C的摄入量。

l 营养素供能比分析:评价蛋白质、脂肪、碳水化合物的供能占比。

l 氨基酸评分分析:计算食谱中蛋白质的氨基酸评分。

数据预处理

首先读取数据,并检查数据的完整性和类型:

Python代码:

import pandas as pd

# 读取数据

male_diet = pd.read_excel('/mnt/data/附件1:1名男大学生的一日食谱.xlsx')

# 展示前10行数据

male_diet_head = male_diet.head(10)

print(male_diet_head)

# 检查数据的基本信息

male_diet.info()

# 检查数据的描述性统计

male_diet.describe()

# 检查是否有缺失值

missing_values = male_diet.isnull().sum()

print(missing_values)

食物结构分析

根据《中国居民膳食指南》的要求,检查食物种类是否多样化:

python

# 统计食物种类

food_types = male_diet['食物名称'].nunique()

print(f"食物种类数量: {food_types}")

# 分析食物类别是否齐全

food_categories = ['谷类', '蔬菜', '水果', '肉类', '奶类', '豆类', '油脂']

food_categories_count = male_diet['类别'].value_counts()

print(food_categories_count)

下面给大家如何用灰色综合评价法来做的示例,推荐大家使用此算法:

灰色综合评价法步骤

  1. 确定评价指标体系:

  • 选择评价膳食营养的关键指标,如总能量、蛋白质、脂肪、碳水化合物、钙、铁、锌、维生素A、维生素B1、维生素B2、维生素C等。

  • 数据标准化:

  • 对各指标数据进行无量纲化处理(标准化),以消除不同指标间量纲的影响。

  • 计算灰关联度:

  • 计算每个评价对象(食谱)与理想参考值之间的灰色关联度。

  • 计算综合关联度:

  • 根据各指标的权重,计算各评价对象的综合关联度。

  • 综合评价:

  • 根据综合关联度对各评价对象进行排序,得出综合评价结果。

实现步骤 1. 确定评价指标体系 选择男大学生膳食的关键评价指标如下:

  • 总能量 (kcal)

  • 总蛋白质 (g)

  • 总脂肪 (g)

  • 总碳水化合物 (g)

  • 钙 (mg)

  • 铁 (mg)

  • 锌 (mg)

  • 维生素A (μg)

  • 维生素B1 (mg)

  • 维生素B2 (mg)

  • 维生素C (mg)

2. 数据标准化 标准化处理可以采用极差标准化方法:

添加图片注释,不超过 140 字(可选)

假设数据已经在前面的步骤中计算完成,以下代码将实现数据标准化:

python

复制代码

import numpy as np

# 假设 total_nutrients 和 total_non_energy_nutrients 是已计算的营养素总量

data = {

'总能量 (kcal)': total_energy,

'总蛋白质 (g)': total_protein,

'总脂肪 (g)': total_fat,

'总碳水化合物 (g)': total_carbs,

'钙 (mg)': total_calcium,

'铁 (mg)': total_iron,

'锌 (mg)': total_zinc,

'维生素A (μg)': total_vitamin_a,

'维生素B1 (mg)': total_vitamin_b1,

'维生素B2 (mg)': total_vitamin_b2,

'维生素C (mg)': total_vitamin_c

}

# 转换为DataFrame

df = pd.DataFrame([data])

# 定义理想参考值,可以参考膳食指南的推荐摄入量

ideal_values = {

'总能量 (kcal)': 2400,

'总蛋白质 (g)': 90,

'总脂肪 (g)': 80,

'总碳水化合物 (g)': 300,

'钙 (mg)': 800,

'铁 (mg)': 12,

'锌 (mg)': 12.5,

'维生素A (μg)': 800,

'维生素B1 (mg)': 1.4,

'维生素B2 (mg)': 1.4,

'维生素C (mg)': 100

}

# 标准化处理

df_normalized = (df - df.min()) / (df.max() - df.min())

ideal_normalized = (pd.DataFrame([ideal_values]) - df.min()) / (df.max() - df.min())

print(df_normalized)

print(ideal_normalized)

然后需要计算灰色关联度:

添加图片注释,不超过 140 字(可选)

代码:

# 定义分辨系数

rho = 0.5

# 计算差异

diff = np.abs(df_normalized - ideal_normalized)

delta_min = diff.min().min()

delta_max = diff.max().max()

# 计算灰关联度

gray_relation = (delta_min + rho * delta_max) / (diff + rho * delta_max)

gray_relation_scores = gray_relation.mean(axis=1)

print(gray_relation_scores)

4. 计算综合关联度

综合关联度可以根据各指标的权重进行计算,这里假设所有指标权重相等:

# 假设所有指标权重相等

weights = np.ones(len(data.keys())) / len(data.keys())

# 计算综合关联度

comprehensive_relation_score = (gray_relation * weights).sum(axis=1)

print(comprehensive_relation_score)

5. 综合评价

根据综合关联度对膳食进行排序,得出综合评价结果:‘

# 综合评价

evaluation_result = comprehensive_relation_score.sort_values(ascending=False)

print(evaluation_result)

下面就是第一问的第二小问分析过程:

根据第一小问的营养评价结果,确定哪些营养素不足或过剩,具体包括:

  1. 总能量:是否满足推荐的每日能量摄入标准。

  2. 宏量营养素:蛋白质、脂肪、碳水化合物的供能占比是否合理。

  3. 非产能营养素:钙、铁、锌、维生素A、维生素B1、维生素B2、维生素C的摄入量是否达标。

  4. 氨基酸评分:蛋白质的氨基酸组成是否合理。

然后调整方案,可以通过以下方式进行调整:

  1. 增加或减少食物种类:

  • 增加:对于不足的营养素,通过增加相应食物种类来补充。例如,钙不足可以增加奶制品,维生素C不足可以增加水果。

  • 减少:对于过剩的营养素,通过减少相应食物种类来控制。例如,脂肪过多可以减少油脂和高脂食物的摄入。

  • 优化食物搭配:

  • 多样化:确保每天摄入的食物种类大于12种,每周摄入的食物种类大于25种,覆盖五大类食物(谷类、蔬菜、水果、肉类、奶类、豆类、油脂)。

  • 合理搭配:合理搭配不同种类的食物,以提高膳食的整体营养价值。例如,谷类和豆类搭配可以提高蛋白质的氨基酸评分。

  • 调整餐次比:

  • 能量分配:合理分配早餐、中餐和晚餐的能量摄入,推荐早餐占30%,中餐和晚餐各占35%。

具体可以用以下方式进行调整:

  1. 总能量调整:

  • 如果总能量不足:增加能量密集型食物,如全谷类、坚果、油脂等。

  • 如果总能量过多:减少高能量食物的摄入,增加低能量密度的蔬菜和水果。

  • 宏量营养素调整:

  • 蛋白质不足:增加富含蛋白质的食物,如鱼类、禽肉、豆制品。

  • 脂肪过多:减少油炸食品、肥肉,增加鱼类、坚果等优质脂肪来源。

  • 碳水化合物不足:增加全谷类食品,如燕麦、糙米。

  • 非产能营养素调整:

  • 钙不足:增加奶制品、豆制品、绿叶蔬菜。

  • 铁不足:增加红肉、肝脏、深色绿叶蔬菜,搭配维生素C丰富的食物以促进铁吸收。

  • 锌不足:增加海产品、肉类、坚果。

  • 维生素不足:增加水果、蔬菜,特别是富含维生素A、B、C的食物。

最后,通过调整食谱,重新进行膳食营养评价,确认各项营养素是否达到推荐摄入量,能量供给是否合理,氨基酸评分是否提高。

2-4问后续更新

添加图片注释,不超过 140 字(可选)

其中更详细的思路、各题目思路、代码、讲解视频、成品论文及其他相关内容,可以点击下方名片获取哦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/329826.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用Python的PyAutoGUI库控制鼠标滚轮

哈喽,大家好,我是木头左! 轻松上手:安装与导入 要开始使用pyautogui库,你需要做的第一件事就是确保它已经被安装在你的Python环境中。你可以通过运行以下命令来安装: pip install pyautogui安装完成后&am…

NebulaGraph

文章目录 关于 NebulaGraph客户端支持安装 NebulaGraph关于 nGQLnGQL 可以做什么2500 条 nGQL 示例原生 nGQL 和 openCypher 的关系 Backup&Restore功能 导入导出导入工具导出工具 NebulaGraph ImporterNebulaGraph ExchangeNebulaGraph Spark ConnectorNebulaGraph Flink …

运行Android项目时,提示错误: 程序包javax.annotation.processing不存在

今天在运行项目时提示错误: 错误: 程序包javax.annotation.processing不存在 import javax.annotation.processing.Generated; 最后是修改了Android Studio的JDK的路径修改为你安装的JDK路径,完成的修复:

在深度学习中常见的初始化操作

目录 截断正态分布来初始化张量 逐行代码解释 相关理论解释 截断正态分布函数 截断正态分布的定义 截断正态分布的作用 计算截断点的作用 具体步骤 正态分布的累积分布函数(CDF) 正态分布的累积分布函数与误差函数的关系 示例计算 误差函数 应…

软件设计师-上午题-计算题汇总

一、存储系统 - 存储容量计算(字节编址、位编址、芯片个数) 内存地址是16进制 内存地址编址的单位是Byte,1K1024B 1B 8 bit 1.计算存储单元个数 存储单元个数 末地址 - 首地址 1 eg. 按字节编址,地址从 A4000H 到 CBFFFH&…

使用B2M 算法批量将可执行文件转为灰度图像

参考论文 基于二进制文件的 C 语言编译器特征提取及识别 本实验使用 B2M 算法将可执行文件转为灰度图像,可执行文件转为灰度图的流程如图 4-3 所示。将 可执行文件每 8 位读取为一个无符号的的整型常量,一个可执行文件得到一个一维向量, …

深度学习之基于Tensorflow+Keras+CNN模型实时对手写数字进行分类

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景与意义 随着深度学习和计算机视觉技术的快速发展,手写数字识别已成为一个重要的应用场景。…

装备制造项目管理软件:奥博思PowerProject项目管理系统

数字化正逐步改变着制造方式和企业组织模式。某制造企业领导层透露,在采用数字化项目管理模式后,企业的发展韧性更加强劲,构筑起了竞争新优势,企业产品研制周期缩短25%,生产效率提升18%。 随着全球经济的发展&#xf…

SpringBootWeb 篇-深入了解 Mybatis 删除、新增、更新、查询的基础操作与 SQL 预编译解决 SQL 注入问题

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 Mybatis 的基础操作 2.0 基础操作 - 环境准备 3.0 基础操作 - 删除操作 3.1 SQL 预编译 3.2 SQL 预编译的优势 3.3 参数占位符 4.0 基础操作 - 新增 4.1 主键返回…

深度学习之基于Pytorch框架多人多摄像头摔倒跌倒坠落检测

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 随着智能监控技术的广泛应用,对于公共场合的安全监控需求日益增加。摔倒跌倒坠落是常见的…

基于深度学习的Tensorflow卷积神经网络(CNN)车牌识别

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 车牌识别(License Plate Recognition, LPR)是智能交通系统(ITS&a…

解锁产品迭代新速度:A/B测试在AI大模型时代的应用

本文作者为火山引擎A/B测试平台DataTester的资深研发工程师刘明瑶。作为火山引擎数智平台VeDI旗下的核心产品,DataTester源于字节跳动长期的技术和业务沉淀,目前已经服务了数百家企业,助力企业在业务增长、用户转化、产品迭代、策略优化以及运…

深度学习之Tensorflow卷积神经网络手势识别

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景与意义 手势识别是计算机视觉和人工智能领域的重要应用之一,具有广泛的应用前景&#xff…

抖音视频怎么去水印保存部分源码|短视频爬虫提取收集下载工具

抖音视频怎么去水印保存部分源码|短视频爬虫提取收集下载工具 抖音视频去水印保存部分源码: 通过使用Python中的requests、re和os等库,可以编写如下代码来实现抖音视频去水印保存的功能。 短视频爬虫提取手机下载工具的使用方法: 该工具主…

【Linux学习】进程地址空间与写时拷贝

文章目录 Linux进程内存布局图&#xff1a;内存布局的验证 进程地址空间写时拷贝 Linux进程内存布局图&#xff1a; 地址空间的范围&#xff0c;在32位机器上是2^32比特位,也就是[0,4G]。 内存布局的验证 代码验证内存布局&#xff1a; 验证代码&#xff1a; #include<s…

基于FPGA的VGA协议实现----条纹-文字-图片

基于FPGA的VGA协议实现----条纹-文字-图片 引言&#xff1a; ​ 随着数字电子技术的飞速发展&#xff0c;现场可编程门阵列&#xff08;FPGA&#xff09;因其高度的灵活性和并行处理能力&#xff0c;在数字系统设计中扮演着越来越重要的角色。FPGA能够实现复杂的数字逻辑&#…

字节面试:百亿级数据存储,怎么设计?只是分库分表吗?

尼恩&#xff1a;百亿级数据存储架构起源 在40岁老架构师 尼恩的读者交流群(50)中&#xff0c;经常性的指导小伙伴们改造简历。 经过尼恩的改造之后&#xff0c;很多小伙伴拿到了一线互联网企业如得物、阿里、滴滴、极兔、有赞、希音、百度、网易、美团的面试机会&#xff0c…

基于Tensorflow卷积神经网络垃圾智能分类系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景与意义 随着城市化进程的加速&#xff0c;垃圾问题日益严重&#xff0c;垃圾分类成为解决这一问题的关…

(全面)Nginx格式化插件,Nginx生产工具,Nginx常用命令

目录 &#x1f3ab; 前言 &#x1f389; 开篇福利 &#x1f381; 开篇福利 x2 Double happiness # 介绍 # 地址 # 下载 &#x1f4bb; 命令及解析 # 整个文件系统中搜索名为nginx.conf的文件 # 编辑nginx.conf文件 # 重新加载配置文件 # 快速查找nginx.conf文件并使…

Android和flutter交互,maven库的形式导入aar包

记录遇到的问题&#xff0c;在网上找了很多资料&#xff0c;都是太泛泛了&#xff0c;使用后&#xff0c;还不能生效&#xff0c;缺少详细的说明&#xff0c;或者关键代码缺失&#xff0c;我遇到的问题用红色的标注了 导入aar包有两种模式 1.比较繁琐的&#xff0c;手动将aar…