2024年第十四届亚太地区大学生数学建模竞赛(中文赛项)B题洪水灾害的数据分析与预测论文和代码分析

经过不懈的努力, 2024年第十四届亚太地区大学生数学建模竞赛(中文赛项)B题洪水灾害的数据分析与预测论文和代码已完成,代码为C题全部问题的代码,论文包括摘要、问题重述、问题分析、模型假设、符号说明、模型的建立和求解(问题1模型的建立和求解、问题2模型的建立和求解、问题3模型的建立和求解、问题4模型的建立和求解)、模型的评价等等

2024年第十四届亚太地区大学生数学建模竞赛(中文赛项)论文和代码获取↓↓↓
https://www.yuque.com/u42168770/qv6z0d/pvp6x4xr006n3t31

问题重述

B题洪水灾害的数据分析与预测洪水是暴雨、急剧融冰化雪、风暴潮等自然因素引起的江河湖泊水量迅速增加,或者水位迅猛上涨的一种自然现象,是自然灾害。洪水又称大水,是河流、海洋、湖泊等水体上涨超过一定水位,威胁有关地区的安全,甚至造成灾害的水流。洪水一词,在中国出自先秦《尚书·尧典》。从那时起,四千多年中有过很多次水灾记载,欧洲最早的洪水记载也远在公元前1450 年。在西亚的底格里斯-幼发拉底河以及非洲的尼罗河关于洪水的记载,则可追溯到公元前40 世纪。
2023 年6 月24 日8 时至25 日8 时,中国15 条河流发生超警洪水。2023 年,全球洪水等造成了数十亿美元的经济损失。
洪水的频率和严重程度与人口增长趋势相当一致。迅猛的人口增长,扩大耕地,围湖造田,乱砍滥伐等人为破坏不断地改变着地表状态,改变了汇流条件,加剧了洪灾程度。在降水多的年份,洪水是否造成灾害,以及洪水灾害的大小,也离不开人为因素,长期以来人为的森林破坏是其重要原因。长江上游乱砍滥伐的恶果是惊人的水土流失。现已达35 万平方千米,每年土壤浸融量达25 亿吨。
河流、湖泊、水库淤积的泥沙量达20 亿吨。仅四川一省一年流入长江各支流的泥沙,如叠成宽高各1 米的堤,可以围绕地球赤道16 圈。我国第一大淡水湖洞庭湖每年沉积的泥沙达1 亿多吨,有专家惊呼:“这样下去,要不了50 年,洞庭湖将从地球上消失!”长江之险,险在荆江,由于泥沙俱下,如今荆江段河床比江外地面高出十多米,成了除黄河之外名副其实的地上河。对森林的肆意砍伐不仅危害自己,而且祸及子孙后代,世界上许多地方,如美索不达米亚、小亚细亚、阿尔卑斯山南坡等由于过度砍伐森林,最后都变成了不毛之地。
附件train.csv 中提供了超过100 万的洪水数据,其中包含洪水事件的id、季风强度、地形排水、河流管理、森林砍伐、城市化、气候变化、大坝质量、淤积、农业实践、侵蚀、无效防灾、排水系统、海岸脆弱性、滑坡、流域、基础设施恶化、人口得分、湿地损失、规划不足、政策因素和发生洪水的概率。
附件test.csv 中包含了超过70 万的洪水数据,其中包含洪水事件的id 和上述20 个指标得分,缺少发生洪水的概率。附件submit.csv 中包含test.csv 中的洪2水事件的id,缺少发生洪水的概率。
请你们的团队通过数学建模和数据分析的方法,预测发生洪水灾害的概率,解决以下问题:问题1. 请分析附件train.csv 中的数据,分析并可视化上述20 个指标中,哪些指标与洪水的发生有着密切的关联?哪些指标与洪水发生的相关性不大?并分析可能的原因,然后针对洪水的提前预防,提出你们合理的建议和措施。
问题2. 将附件train.csv 中洪水发生的概率聚类成不同类别,分析具有高、中、低风险的洪水事件的指标特征。然后,选取合适的指标,计算不同指标的权重,建立发生洪水不同风险的预警评价模型,最后进行模型的灵敏度分析。
问题3. 基于问题1 中指标分析的结果,请建立洪水发生概率的预测模型,从20 个指标中选取合适指标,预测洪水发生的概率,并验证你们预测模型的准确性。如果仅用5 个关键指标,如何调整改进你们的洪水发生概率的预测模型?问题4. 基于问题2 中建立的洪水发生概率的预测模型,预测附件test.csv 中所有事件发生洪水的概率,并将预测结果填入附件submit.csv 中。然后绘制这74多万件发生洪水的概率的直方图和折线图,分析此结果的分布是否服从正态分布。
在这里插入图片描述
在这里插入图片描述

问题分析

这道题目围绕洪水灾害的数据分析与预测展开,要求参赛者利用给定的大规模数据集,通过数学建模和数据分析方法预测洪水发生的概率。题目包含四个子问题,涵盖了数据探索、风险分类、预测建模等多个方面,综合考察参赛者的数据分析能力和建模技巧。

问题1主要关注数据探索和特征分析。这个问题要求对20个指标与洪水发生概率的关系进行深入分析,并进行可视化。思路上可以先进行相关性分析,计算各指标与洪水概率的相关系数,识别出最相关的指标。然后可以使用各种可视化技术,如散点图、热力图等,直观展示指标与洪水概率的关系。对于相关性较强的指标,可以进一步分析其物理意义,探讨其影响洪水发生的可能机制。对于相关性较弱的指标,也需要考虑可能存在的非线性关系。最后,基于分析结果提出针对性的防洪建议,这需要结合实际情况,考虑经济、社会、环境等多方面因素。

问题2聚焦于风险分类和评价模型构建。首先需要对洪水概率进行聚类,可以考虑使用K-means、层次聚类等算法,将洪水事件划分为高、中、低风险类别。然后分析各类别的指标特征,可以使用统计检验方法比较不同类别间各指标的差异。在此基础上,选取有代表性的指标构建预警评价模型。模型选择上可以考虑决策树、随机森林等易于解释的模型,也可以使用逻辑回归等传统方法。权重计算可以采用信息增益、基尼系数等方法。最后进行灵敏度分析,可以通过改变输入参数,观察模型输出的变化,评估模型的稳定性和可靠性。

问题3要求建立洪水概率预测模型。基于问题1的分析结果,可以选择相关性较强的指标作为特征。模型选择上,可以考虑线性回归、决策树、随机森林、支持向量机、神经网络等多种算法。建议采用交叉验证的方式评估模型性能,选择最优模型。模型评估指标可以使用均方误差、R方等。对于5个关键指标的模型,可以采用特征选择技术,如递归特征消除、Lasso等方法选择最重要的5个特征。然后可以尝试集成学习方法,如随机森林、梯度提升树等,提高模型在有限特征下的预测能力。同时,可以考虑引入非线性变换,捕捉特征间的复杂关系。

问题4是对建立的模型进行应用和结果分析。首先需要使用问题3中建立的模型对test.csv中的数据进行预测,并将结果填入submit.csv。这一步需要注意数据预处理的一致性,确保测试集的特征与训练集保持一致。然后绘制预测结果的直方图和折线图,这可以使用matplotlib、seaborn等Python可视化库完成。分析分布是否服从正态分布,可以采用Q-Q图、Shapiro-Wilk检验等方法。如果发现分布显著偏离正态分布,需要进一步分析可能的原因,如是否存在异常值、是否有明显的偏态等。这一分析可能会为模型的进一步优化提供线索,也可能揭示洪水风险分布的某些特征。

在这里插入图片描述

模型的建立与求解

问题一模型的建立与求解

思路分析

问题1要求我们分析附件train.csv中的数据,探究20个指标与洪水发生概率之间的关系,并对此进行可视化分析。我们的思路是首先对数据进行预处理,包括处理缺失值、异常值,以及进行必要的数据转换。然后,我们将采用多种统计和机器学习方法来分析指标与洪水概率的关系。

具体来说,我们将采用以下步骤:

  1. 数据预处理:检查并处理缺失值和异常值,必要时进行数据标准化或归一化。
  2. 相关性分析:计算各指标与洪水概率之间的相关系数,识别出最相关的指标。
  3. 可视化分析:使用散点图、热力图等可视化技术,直观展示指标与洪水概率的关系。
  4. 特征重要性分析:使用机器学习模型(如随机森林)来评估各指标对洪水概率预测的重要性。
  5. 非线性关系分析:考虑到某些指标可能与洪水概率存在非线性关系,我们将使用互信息分析等方法来捕捉这些复杂关系。
  6. 多元统计分析:使用主成分分析(PCA)等方法,探索指标之间的相互关系及其对洪水概率的综合影响。
  7. 基于分析结果,提出针对性的防洪建议和措施。

通过这种多角度、多方法的分析,我们能够全面地理解各指标与洪水发生概率之间的关系,为后续的预测模型建立奠定基础。

相关性分析模型建立

为了深入分析20个指标与洪水发生概率之间的关系,我们首先建立相关性分析模型。这个模型将帮助我们量化每个指标与洪水概率之间的线性关系强度。

我们选择使用皮尔逊相关系数(Pearson correlation coefficient)作为主要的相关性度量指标。皮尔逊相关系数能够衡量两个变量之间的线性相关程度,其值范围在-1到1之间,其中1表示完全正相关,-1表示完全负相关,0表示无线性相关。

同时,考虑到某些指标可能与洪水概率存在非线性关系,我们还将计算斯皮尔曼等级相关系数(Spearman’s rank correlation coefficient)。斯皮尔曼相关系数能够捕捉单调非线性关系,对异常值的敏感性较低。

此外,我们还将使用互信息(Mutual Information)来衡量指标与洪水概率之间的非线性相关性。互信息能够捕捉到更复杂的非线性关系,是对线性相关分析的有力补充。

  1. 皮尔逊相关系数:

皮尔逊相关系数计算公式如下:

r x y = ∑ i = 1 n ( x i − x ˉ ) ( y i − y ˉ ) ∑ i = 1 n ( x i − x ˉ ) 2 ∑ i = 1 n ( y i − y ˉ ) 2 r_{xy} = \frac{\sum_{i=1}^{n} (x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum_{i=1}^{n} (x_i - \bar{x})^2} \sqrt{\sum_{i=1}^{n} (y_i - \bar{y})^2}} rxy=i=1n(xixˉ)2 i=1n(yiyˉ)2 i=1n(xixˉ)(yiyˉ)

其中:

  • r x y r_{xy} rxy 是x和y之间的皮尔逊相关系数
  • x i x_i xi y i y_i yi 分别是变量x和y的第i个观测值
  • x ˉ \bar{x} xˉ y ˉ \bar{y} yˉ 分别是x和y的平均值
  • n是观测值的总数

解释:皮尔逊相关系数衡量了两个变量之间的线性相关程度。它的值范围在-1到1之间,1表示完全正相关,-1表示完全负相关,0表示无线性相关。

  1. 斯皮尔曼等级相关系数:

斯皮尔曼等级相关系数的计算公式如下:

ρ = 1 − 6 ∑ d i 2 n ( n 2 − 1 ) \rho = 1 - \frac{6 \sum d_i^2}{n(n^2 - 1)} ρ=1n(n21)6di2

其中:

  • ρ \rho ρ 是斯皮尔曼等级相关系数
  • d i d_i di 是第i个观测值在x和y两个变量上的等级差
  • n是观测值的总数

解释:斯皮尔曼等级相关系数衡量了两个变量之间的单调关系强度,它对异常值不敏感,能够捕捉非线性但单调的关系。

  1. 互信息:

互信息的计算公式如下:

I ( X ; Y ) = ∑ y ∈ Y ∑ x ∈ X p ( x , y ) log ⁡ ( p ( x , y ) p ( x ) p ( y ) ) I(X;Y) = \sum_{y \in Y} \sum_{x \in X} p(x,y) \log\left(\frac{p(x,y)}{p(x)p(y)}\right) I(X;Y)=yYxXp(x,y)log(p(x)p(y)p(x,y))

其中:

(略,见完整版本)

问题一模型的求解

基于上述建立的模型和算法步骤,我们现在开始对问题一进行具体的求解。我们将使用Python编程语言及其相关库(如pandas, numpy, scikit-learn, matplotlib等)来实现数据处理、分析和可视化。

在这里插入图片描述

前5个最相关的特征(基于皮尔逊相关系数):
洪水概率 (略,见完整版本)
湿地损失 (略,见完整版本)
规划不足 (略,见完整版本)
政策因素
(略,见完整版本)

PCA解释方差比:
(略,见完整版本)

问题二模型的建立与求解

思路分析

问题2要求我们将洪水发生的概率聚类成不同类别,分析具有高、中、低风险的洪水事件的指标特征,然后选取合适的指标,计算不同指标的权重,建立发生洪水不同风险的预警评价模型,最后进行模型的灵敏度分析。这个问题涉及多个步骤,需要我们综合运用多种数据分析和机器学习技术。我们的思路如下:

  1. 聚类分析:首先,我们需要对洪水发生概率进行聚类,将其分为高、中、低风险类别。考虑到数据的特性,我们可以采用K-means聚类算法或层次聚类算法。

  2. 特征分析:对每个风险类别,我们需要分析其特征分布情况。这可以通过描述性统计、可视化分析以及统计检验来实现。

  3. 指标选取:基于特征分析的结果,我们需要选取最能区分不同风险类别的指标。这可以通过特征重要性分析或者特征选择算法来实现。

  4. 权重计算:对选取的指标,我们需要计算其权重。可以考虑使用主成分分析(PCA)、信息增益或者基于机器学习模型的特征重要性来确定权重。

(后略,见完整版本)

K-means聚类模型建立

为了将洪水发生概率聚类成不同的风险类别,我们选择使用K-means聚类算法。K-means是一种常用的无监督学习算法,它能够将数据点分成k个簇,每个簇由其中心(质心)表示。

K-means算法的基本思想是:

  1. 随机选择k个点作为初始簇中心。
  2. 将每个数据点分配到最近的簇中心。
  3. 重新计算每个簇的中心(即簇中所有点的平均值)。
  4. 重复步骤2和3,直到簇的分配不再改变或达到最大迭代次数。

在我们的问题中,我们将k设为3,对应高、中、低三个风险类别。

K-means聚类算法步骤

  1. K-means聚类算法:

K-means算法的目标是最小化所有点到其簇中心的距离平方和,即最小化以下目标函数:

J = ∑ j = 1 k ∑ i = 1 n ∣ ∣ x i ( j ) − c j ∣ ∣ 2 J = \sum_{j=1}^{k} \sum_{i=1}^{n} ||x_i^{(j)} - c_j||^2 J=j=1ki=1n∣∣xi(j)cj2

其中:

  • J J J 是目标函数
  • k k k 是簇的数量
  • n n n 是数据点的数量
  • x i ( j ) x_i^{(j)} xi(j) 是属于簇 j j j 的第 i i i 个数据点
  • c j c_j cj 是簇 j j j 的中心

算法迭代过程中,每次更新簇中心的公式为:

c j = 1 ∣ S j ∣ ∑ x i ∈ S j x i c_j = \frac{1}{|S_j|} \sum_{x_i \in S_j} x_i cj=Sj1xiSjxi

其中 S j S_j Sj 是属于簇 j j j 的所有数据点的集合。

  1. 肘部法则:

肘部法则通过计算不同k值下的簇内平方和(WSS)来确定最佳的聚类数。WSS的计算公式为:

W S S = ∑ j = 1 k ∑ i = 1 n j ∣ ∣ x i ( j ) − c j ∣ ∣ 2 WSS = \sum_{j=1}^{k} \sum_{i=1}^{n_j} ||x_i^{(j)} - c_j||^2 WSS=j=1ki=1nj∣∣xi(j)cj2

其中 n j n_j nj 是簇 j j j 中的数据点数量。

  1. 方差分析(ANOVA):

ANOVA用于检验不同组之间的均值是否存在显著差异。其中,F统计量的计算公式为:

(略)

问题二模型的求解

以下是基于前面建立的模型,用于求解问题2的详细完整Python代码,包括数据处理、聚类分析、特征选择、模型构建、可视化和结果保存:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.preprocessing import StandardScaler
from sklearn.cluster import KMeans
from sklearn.decomposition import PCA
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import confusion_matrix, classification_report
from scipy import stats
import warningswarnings.filterwarnings('ignore')# 设置中文字体
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False# 加载数据
data = pd.read_csv('train.csv')# 数据预处理
X = data.drop('洪水发生概率', axis=1)
y = data['洪水发生概率']# 标准化
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)# K-means聚类
kmeans = KMeans(n_clusters=3, random_state=42)
clusters = kmeans.fit_predict(y.values.reshape(-1, 1))# 可视化聚类结果
(完整代码见完整版本)# 可视化灵敏度分析结果
plt.figure(figsize=(12, 8))
plt.bar(sensitivity_df['特征'], sensitivity_df['敏感度'])
plt.title('特征灵敏度分析')
plt.xlabel('特征')
plt.ylabel('敏感度')
plt.xticks(rotation=45)
plt.tight_layout()
plt.savefig('问题2_特征灵敏度条形图.png', dpi=300)
plt.close()print("问题2的所有分析和可视化结果已保存。")

在这里插入图片描述
其他图片与分析略,见完整版本

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

python函数和c的区别有哪些

Python有很多内置函数(build in function),不需要写头文件,Python还有很多强大的模块,需要时导入便可。C语言在这一点上远不及Python,大多时候都需要自己手动实现。 C语言中的函数,有着严格的顺…

Excel 宏录制与VBA编程 ——VBA编程技巧篇三 (未初始化Range判断、遍历工作表方法、工作表多行重复内容剔除)

未初始化Range的判断 有时候需要对已定义未初始化的range对象做判断 dim curRange as range If curRange Is Nothing Thendebug.print("未初始化的..") End If遍历工作表方法 Chr(10):ASCII码中的换行键,相当于vbLF。 …

昇思MindSpore学习笔记4-04生成式--GAN图像生成

摘要: 记录昇思MindSpore AI框架使用GAN生成式对抗网络模型生成图像的原理和实际使用方法、步骤。包括环境准备、数据集下载、数据加载、隐码、构建生成器与判别器、模型训练、模型推理等。 一、概念 GAN生成式对抗网络模型 (Generative Adversarial Networks) …

【Python学习笔记】菜鸟教程Scrapy案例 + B站amazon案例视频

背景前摇(省流可以跳过这部分) 实习的时候厚脸皮请教了一位办公室负责做爬虫这块的老师,给我推荐了Scrapy框架。 我之前学过一些爬虫基础,但是用的是比较常见的BeautifulSoup和Request,于是得到Scrapy这个关键词后&am…

分子AI预测赛Task4笔记(结束)

话不多说,直接上官方链接:‌​​​‍​⁠​‌​‍​​​‌​⁠‬​‬​​‌​​​​‬‬​​​​‍⁠‍‌​⁠Task3:进阶baseline详解 - 飞书云文档 (feishu.cn)Task4:持续尝试&…

51单片机STC89C52RC——16.1 五项四线步进电机

目的/效果 让步进电机 正向转90度,逆向转90度 一,STC单片机模块 二,步进电机 2.2 什么是步进电机? 步进电机可以理解为:是一个按照固定步幅运动的“小型机器”。它与普通电机不同点在于,普通电机可以持…

【2024_CUMCM】时间序列算法ARMA

目录 2023-c-问题二 问题分析 介绍 单位根检验 白噪声检验 自相关和偏自相关图 利用信息准则定阶 构建AMIMA模型 D-W检验 预测 代码 2023-c-问题二 问题分析 ARMA适合多个领域的时间序列分析,不同时间的定价策略属于这类问题。 介绍 ARMA模型&…

昇思25天学习打卡营第14天|基于MindNLP的文本解码原理

基于MindNLP的文本解码原理 文本解码 文本解码是自然语言处理中的一个关键步骤,特别是在任务如机器翻译、文本摘要、自动回复生成等领域。解码过程涉及将编码器(如语言模型、翻译模型等)的输出转换为可读的文本序列。以下是一些常见的文本解码方法和原理: 1. 自回归解码:…

10 docker 安装 mysql详解

目录 一、安装mysql 1. 镜像获取 2. 简单版 2.1. 使用mysql镜像 2.2. 建库建表插入数据 2.3. 外部win 连接并插入中文数据测试 2.4. 简单版本问题 3. 创建容器-实战版 3.1. 新建容器实列并挂载卷 3.2. 新建my.cnf , 解决中文乱码 3.3. 重启容器验证 3.4. 总结 一、…

BigDecimal(double)和BigDecimal(String)有什么区别?BigDecimal如何精确计数?

BigDecimal(double)和BigDecimal(String)的区别 double是不精确的,所以使用一个不精确的数字来创建BigDecimal,得到的数字也是不精确的。如0.1这个数字,double只能表示他的近似值。所以,当我们使用new BigDecimal(0.1)创建一个Bi…

Report Design Analysis报告之logic level详解

目录 一、前言 二、Logic Level distribution 2.1 logic level配置 2.2 Logic Level Distribution报告 2.3 Logic Level 报告详情查看 2.4 Route Distributions 报告详情查看 2.5 示例代码 一、前言 ​在工程设计中,如果需要了解路径的逻辑级数,可…

【python技巧】parser传入参数

参考网址: https://lightning.ai/docs/pytorch/LTS/api/pytorch_lightning.utilities.argparse.html#pytorch_lightning.utilities.argparse.add_argparse_args 1. 简单传入参数. parse_known_args()方法的作用就是把不在预设属性里的参数也返回,比如下面这个例子, 执行pytho…

2024吉他手的超级助手Guitar Pro8中文版本发布啦!

亲爱的音乐爱好者们,今天我要来和你们分享一款让我彻底沉迷的软件—Guitar Pro。如果你是一名热爱吉他的朋友,那么接下来的内容你可要瞪大眼睛仔细看哦!👀🎶 Guitar Pro免费绿色永久安装包下载:&#xff0…

搭建NEMU与QEMU的DiffTest环境(动态库方式)

搭建NEMU与QEMU的DiffTest环境(动态库方式) 1 DiffTest原理简述2 编译NEMU3 编译qemu-dl-difftest3.1 修改NEMU/scripts/isa.mk3.2 修改NEMU/tools/qemu-dl-diff/src/diff-test.c3.3 修改NEMU/scripts/build.mk3.4 让qemu-dl-difftest带调试信息3.5 编译…

React中的useMemo和memo

引言 React是一个声明式的JavaScript库,用于构建用户界面。在开发过程中,性能优化是一个重要的方面。useMemo和memo是React提供的工具,用于帮助开发者避免不必要的渲染和计算,从而提升应用性能。 问题背景 在React应用中&#…

Ubuntu编译 OSG

目录 一、安装步骤 二、配置 1、数据文件配置 2、OSG环境变量配置 一、安装步骤 在Ubuntu上安装OSG(OpenSceneGraph),你可以按照以下步骤操作: 打开终端,更新你的包管理器的包列表: sudo apt update 安装必要的依赖库 sudo apt install libglu1-mesa-dev freeglu…

数字信号处理及MATLAB仿真(3)——量化的其他概念

上回书说到AD转换的两个步骤——量化与采样两个步骤。现在更加深入的去了解以下对应的概念。学无止境,要不断地努力才有好的收获。万丈高楼平地起,唯有打好基础,才能踏实前行。 不说了,今天咱们继续说说这两个步骤,首先…

[激光原理与应用-101]:南京科耐激光-激光焊接-焊中检测-智能制程监测系统IPM介绍 - 5 - 3C行业应用 - 电子布局类型

目录 前言: 一、激光在3C行业的应用概述 1.1 概述 1.2 激光焊接在3C-电子行业应用 二、3C电子行业中激光焊接 2.1 纽扣电池 2.2 均温板 2.3 指纹识别器 2.4 摄像头模组 2.5 IC芯片切割 三、3C行业中激光切割 四、激光在3C行业中的其他应用 4.1 涂层去除…

【机器学习实战】Datawhale夏令营:Baseline精读笔记2

# AI夏令营 # Datawhale # 夏令营 在原有的Baseline上除了交叉验证,还有一种关键的优化方式,即特征工程。 如何优化特征,关系着我们提高模型预测的精准度。特征工程往往是对问题的领域有深入了解的人员能够做好的部分,因为我们要…

day01:项目概述,环境搭建

文章目录 软件开发整体介绍软件开发流程角色分工软件环境 外卖平台项目介绍项目介绍定位功能架构 产品原型技术选型 开发环境搭建整体结构:前后端分离开发前后端混合开发缺点前后端分离开发 前端环境搭建Nginx 后端环境搭建熟悉项目结构使用Git进行版本控制数据库环…