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.pswp.cn/diannao/14099.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/14099.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/14099.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

生成模型 | 從 VAE 到 Diffusion Model (上)

文章目錄 一,GAN(對抗式生成網絡)二,Auto-Encoder(AE) 和 Denoising Auto-Encoder (DAE)三,VAE四,VQ-VAE (Vector Quantized Variational Autoencoder)VQ-VAE 2小總結: 五,DALL-E (O…

硅谷裸機云服務器性能測評哪些內容

硅谷裸機云服務器,作為云計算領域的一股新興力量,近年來受到了廣泛關注。其強大的性能和靈活性為用戶提供了更高效、更穩定的云計算服務。那么,硅谷裸機云服務器的性能測評究竟包括哪些內容呢?接下來,我們就來科普一下。 首先&am…

如何讓大模型更聰明?

如何讓大模型更聰明? *隨著人工智能技術的飛速發展,大模型在多個領域展現出了前所未有的能力,但它們仍然面臨著理解力、泛化能力和適應性等方面的挑戰。那么,如何讓大模型變得更聰明呢? 方向一:算法創新 …

留學培訓行業PaaS應用系統架構的設計與實踐

隨著留學需求的增長和教育培訓市場的不斷擴大,留學培訓行業正面臨著越來越多的挑戰和機遇。在這個背景下,利用PaaS(Platform as a Service)平臺來構建留學培訓行業的應用系統架構,將成為提升服務質量和效率的重要手段。…

Nacos 2.x 系列【8】集成 Spring Cloud Gateway

文章目錄 1. 概述1.1 API 網關1.1 Spring Cloud Gateway 2. 集成案例2.1 入門案例2.2 動態路由 1. 概述 1.1 API 網關 API網關已經成為了微服務架構的一個標配組件,是系統對外的唯一入口。所有的客戶端都通過統一的網關接入微服務,在網關層處理所有非業…

部署 harbor 創建私有項目

一在 Docker harbor 節點(192.168.11.)上操作 1 關閉防火墻防護 systemctl stop firewalld.service systemctl disable firewalld.service setenforce 0 2 安裝docker yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-ma…

SSRF攻擊技術

1、SSRF形成原因 SSRF(Server-Side Request Forgery:服務器端請求偽造) 是一種由攻擊者構造形成由服務端發起請求的一個安全漏洞。一般情況下,SSRF是要目標網站的內部系統。(因為他是從內部系統訪問的,所有可以通過它攻擊外網無法訪問的內部系…

思科模擬器--03.RIP協議路由--24.5.17

1.首先,先創建兩個個人電腦:PC0和PC1和三個路由器:R1,R2和R3. (訣竅:建議用文本框標注一下重要簡短的內容; 目的:降低失誤概率,提高成功率!) 第0步:(個人電腦的IP,子網掩碼和默認網關配置) 接著,可以先將個人電腦的IP和網關先配置一下…

ThreadLocal原理及使用

一、引言 在Java多線程編程中,ThreadLocal是一個非常有用的工具,它提供了一種將對象與線程關聯起來的機制,使得每個線程都可以擁有自己獨立的對象副本,從而避免了線程安全問題。然而,使用不當會導致內存泄漏問題。 二…

go 微服務框架kratos錯誤處理的使用方法及原理探究

通過go語言原生http中響應錯誤的實現方法,逐步了解和使用微服務框架 kratos 的錯誤處理方式,以及探究其實現原理。 一、go原生http響應錯誤信息的處理方法 處理方法: ①定義返回錯誤信息的結構體 ErrorResponse // 定義http返回錯誤信息的…

無人機飛手前途分析

無人機飛手的前途充滿了各種可能性和挑戰,這主要得益于無人機技術的快速發展和廣泛應用。以下是對無人機飛手前途的一些分析: 1. 技術發展與需求增長:隨著無人機技術的不斷進步,其應用場景也在持續擴大。從地理測繪、巡檢、農林植…

利用阿里OSS服務給文件設置過期刪除--簡單版

在云存儲廣泛應用的今天,阿里云的Object Storage Service(OSS)以其高度可擴展性、安全性和成本效益,成為了眾多企業和開發者存儲海量數據的首選方案。隨著數據量的不斷膨脹,高效的數據管理和成本控制變得尤為重要。其中…

IT學習筆記--Kafka

Kafka概述: 定義: Kafka是一個分布式的基于發布/訂閱模式的消息隊列,主要應用于大數據實時處理領域。 消息隊列消息隊列的兩種模式: 點對點模式: 消息生產者生產消息發送到Queue中,然后消息消費者從Queue中取出并且消費消息。 消息被消費以后&#…

Linux中解決普通用戶使用不了sudo問題

目錄 sudo的使用場景sudo使用不了的原因解決方法 sudo的使用場景 之前我們介紹了文件的權限問題 如果一個普通用戶想去執行一個它命令之外的權限,只能使用sudo 比如普通用戶使用yum去安裝軟件,需要sudo yum xxxx sudo使用不了的原因 這里我們用普通用戶…

小恐龍跳一跳源碼

小恐龍跳一跳源碼是前兩年就火爆過一次的小游戲源碼,不知怎么了今年有火爆了,所以今天就吧這個源碼分享出來了!有喜歡的直接下載就行,可以本地單機直接點擊index.html進行運行,又或者放在虛擬機或者服務器上與朋友進行…

python 獲取視頻的時長

以下是幾種獲取視頻時長的實現方法: 方法一:使用moviepy庫 from moviepy.editor import VideoFileClipdef get_video_duration(file_path):video VideoFileClip(file_path)duration video.durationvideo.close()return duration 方法二:…

SAP-FICO-憑證編號控制

成本憑證編號KANK 如果自己的公司下沒有,直接復制系統原有的就可以。使用系統默認即可。 如果不維護 會報錯“CO-憑證編號分配對于成本控制范圍****中的商業事務COIN無效” 財務憑證編號FBN1 可以用OBH2批量復制編號范圍。 物料賬期MMPV 財務賬期OB52

python使用base加密解密

原理 base編碼是一種加密解密措施,目前常用的有base16、base32和base64。其大致原理比較簡單。 以base64為例,base64加密后共有64中字符。其加密過程是編碼后將每3個字節作為一組,這樣每組就有3*824位。將每6位作為一個單位進行編碼&#xf…

1個逗號,提升Python代碼質量

有些時候,我們會在Python代碼中看到列表或其他科迭代對象的結尾會存在一個逗號: 而且編輯器和解釋器都容許這種逗號的存在,它就叫作拖尾逗號。 通常是為了在頻繁地增減數組元素的時候同時保證語法的正確,且拖尾逗號不占用數組的長…

MySQL 主備環境搭建 docker

MySQL 主備環境搭建 docker 拉取docker鏡像 sudo docker pull mysql:8.0 啟動容器 docker run -p 3339:3306 --name mysql-master -e MYSQL_ROOT_PASSWORD123456 -d mysql:8.0docker run -p 3340:3306 --name mysql-slave -e MYSQL_ROOT_PASSWORD123456 -d mysql:8.0配置 M…