基于机器学习预测未来的二氧化碳排放量(随机森林和XGBoost)

news/2024/7/25 21:05:27/文章来源:https://blog.csdn.net/lhyandlwl/article/details/139176722

基于机器学习预测未来的二氧化碳排放量(随机森林和XGBoost)

简介:

CO2排放是当今全球关注的环境问题之一。本文将使用Python对OWID提供的CO2排放数据集进行分析,并尝试构建机器学习模型来预测未来的CO2排放趋势。我们将探索数据集中的CO2排放情况,分析各国/地区的排放趋势,并利用机器学习算法来预测未来的CO2排放量。

1. 数据集介绍:

我们使用的数据集是OWID(Our World in Data)提供的CO2排放数据集。该数据集包含了各国/地区自1949年至2020年的CO2排放量以及相关的经济、人口等数据。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import plotly.express as px
dataset = pd.read_csv('owid-co2-data.csv')
print(dataset.head()) #显示数据集的前5行。 
print(dataset.shape) #显示数据集的行数和列数
  iso_code      country  year    co2  consumption_co2  co2_growth_prct  \
0      AFG  Afghanistan  1949  0.015              NaN              NaN   
1      AFG  Afghanistan  1950  0.084              NaN            475.0   
2      AFG  Afghanistan  1951  0.092              NaN              8.7   
3      AFG  Afghanistan  1952  0.092              NaN              0.0   
4      AFG  Afghanistan  1953  0.106              NaN             16.0   co2_growth_abs  trade_co2  co2_per_capita  consumption_co2_per_capita  ...  \
0             NaN        NaN           0.002                         NaN  ...   
1           0.070        NaN           0.011                         NaN  ...   
2           0.007        NaN           0.012                         NaN  ...   
3           0.000        NaN           0.012                         NaN  ...   
4           0.015        NaN           0.013                         NaN  ...   ghg_per_capita  methane  methane_per_capita  nitrous_oxide  \
0             NaN      NaN                 NaN            NaN   
1             NaN      NaN                 NaN            NaN   
2             NaN      NaN                 NaN            NaN   
3             NaN      NaN                 NaN            NaN   
4             NaN      NaN                 NaN            NaN   nitrous_oxide_per_capita  population           gdp  \
0                       NaN   7624058.0           NaN   
1                       NaN   7752117.0  9.421400e+09   
2                       NaN   7840151.0  9.692280e+09   
3                       NaN   7935996.0  1.001732e+10   
4                       NaN   8039684.0  1.063052e+10   primary_energy_consumption  energy_per_capita  energy_per_gdp  
0                         NaN                NaN             NaN  
1                         NaN                NaN             NaN  
2                         NaN                NaN             NaN  
3                         NaN                NaN             NaN  
4                         NaN                NaN             NaN  [5 rows x 58 columns]
(25204, 58)

2. 数据预处理:

df = dataset.drop(columns=[ 'consumption_co2','co2_growth_prct','co2_growth_abs' ])
df.head()
iso_codecountryyearco2trade_co2co2_per_capitaconsumption_co2_per_capitashare_global_co2cumulative_co2share_global_cumulative_co2...ghg_per_capitamethanemethane_per_capitanitrous_oxidenitrous_oxide_per_capitapopulationgdpprimary_energy_consumptionenergy_per_capitaenergy_per_gdp
0AFGAfghanistan19490.015NaN0.002NaN0.00.0150.0...NaNNaNNaNNaNNaN7624058.0NaNNaNNaNNaN
1AFGAfghanistan19500.084NaN0.011NaN0.00.0990.0...NaNNaNNaNNaNNaN7752117.09.421400e+09NaNNaNNaN
2AFGAfghanistan19510.092NaN0.012NaN0.00.1910.0...NaNNaNNaNNaNNaN7840151.09.692280e+09NaNNaNNaN
3AFGAfghanistan19520.092NaN0.012NaN0.00.2820.0...NaNNaNNaNNaNNaN7935996.01.001732e+10NaNNaNNaN
4AFGAfghanistan19530.106NaN0.013NaN0.00.3880.0...NaNNaNNaNNaNNaN8039684.01.063052e+10NaNNaNNaN

5 rows × 55 columns

df1 = df[['country', 'year','co2','coal_co2','cement_co2', 'flaring_co2','gas_co2','oil_co2', 'other_industry_co2','methane', 'nitrous_oxide', 'population' ]]
df1
countryyearco2coal_co2cement_co2flaring_co2gas_co2oil_co2other_industry_co2methanenitrous_oxidepopulation
0Afghanistan19490.0150.015NaNNaNNaNNaNNaNNaNNaN7624058.0
1Afghanistan19500.0840.021NaNNaNNaN0.063NaNNaNNaN7752117.0
2Afghanistan19510.0920.026NaNNaNNaN0.066NaNNaNNaN7840151.0
3Afghanistan19520.0920.032NaNNaNNaN0.060NaNNaNNaN7935996.0
4Afghanistan19530.1060.038NaNNaNNaN0.068NaNNaNNaN8039684.0
.......................................
25199Zimbabwe201610.7386.9590.639NaNNaN3.139NaN11.926.5514030338.0
25200Zimbabwe20179.5825.6650.678NaNNaN3.239NaNNaNNaN14236599.0
25201Zimbabwe201811.8547.1010.697NaNNaN4.056NaNNaNNaN14438812.0
25202Zimbabwe201910.9496.0200.697NaNNaN4.232NaNNaNNaN14645473.0
25203Zimbabwe202010.5316.2570.697NaNNaN3.576NaNNaNNaN14862927.0

25204 rows × 12 columns

final_df = df1[df1['year' ]>1995]
final_df
countryyearco2coal_co2cement_co2flaring_co2gas_co2oil_co2other_industry_co2methanenitrous_oxidepopulation
47Afghanistan19961.1650.0070.0470.0220.3080.780NaN9.933.2918853444.0
48Afghanistan19971.0840.0040.0470.0220.2830.728NaN10.603.5919357126.0
49Afghanistan19981.0290.0040.0470.0220.2650.691NaN11.103.8819737770.0
50Afghanistan19990.8100.0040.0470.0220.2420.495NaN11.874.1520170847.0
51Afghanistan20000.7580.0040.0100.0220.2240.498NaN10.593.6220779957.0
.......................................
25199Zimbabwe201610.7386.9590.639NaNNaN3.139NaN11.926.5514030338.0
25200Zimbabwe20179.5825.6650.678NaNNaN3.239NaNNaNNaN14236599.0
25201Zimbabwe201811.8547.1010.697NaNNaN4.056NaNNaNNaN14438812.0
25202Zimbabwe201910.9496.0200.697NaNNaN4.232NaNNaNNaN14645473.0
25203Zimbabwe202010.5316.2570.697NaNNaN3.576NaNNaNNaN14862927.0

6073 rows × 12 columns

final_df = final_df[(final_df['country'].isin(['United States', 'Africa', 'Antartica','South Korea', 'Bangladesh', 'Canada', 'Germany', 'Brazil', 'Argentina','Japan', 'India', 'United Kingdom', 'Saudi Arabia', 'China', 'Australia','Russia']) & (final_df['co2'] > 0))]
final_df
countryyearco2coal_co2cement_co2flaring_co2gas_co2oil_co2other_industry_co2methanenitrous_oxidepopulation
184Africa1996783.254353.13027.68123.787108.019270.637NaNNaNNaN735361106.0
185Africa1997812.903360.83728.35023.39495.205305.117NaNNaNNaN753737584.0
186Africa1998838.022355.51429.20322.961112.712317.632NaNNaNNaN772437161.0
187Africa1999830.397366.52330.31123.569114.377295.618NaNNaNNaN791504165.0
188Africa2000886.562370.24731.51055.282114.350315.173NaNNaNNaN810984230.0
.......................................
24063United States20165248.0241379.74439.43951.9081502.4752246.52427.933629.38251.7323015992.0
24064United States20175207.7511338.66740.32456.1861480.0592265.32627.190NaNNaN325084758.0
24065United States20185375.4911283.53238.97171.0081641.0412316.81124.128NaNNaN327096263.0
24066United States20195255.8161098.85440.89684.5101694.8942313.37223.291NaNNaN329064917.0
24067United States20204712.771888.64940.79584.5101654.9882020.53823.291NaNNaN331002647.0

375 rows × 12 columns

final_df.isnull().sum()
country                 0
year                    0
co2                     0
coal_co2               25
cement_co2              0
flaring_co2            77
gas_co2                 0
oil_co2                 0
other_industry_co2    125
methane                81
nitrous_oxide          81
population              0
dtype: int64

3.数据可视化

我们将根据我们的数据集绘制图表并分析一些结果。 我们绘制一下随时间线的co2排放趋势图:

px.line(dataset, x = 'year', y = 'co2', color='country')

在这里插入图片描述

dataset = dataset.dropna(subset=['co2'])px.scatter(dataset[dataset['year']==2019], x="co2_per_capita", y="energy_per_capita", size="co2", color="country", hover_name="country", log_x=True, size_max=60)

在这里插入图片描述

continent_data =  dataset[(dataset['country'].isin(['Europe', 'Africa', 'North America', 'South America', 'Oceania', 'Asia'])) & (dataset['co2'] > 0)]
continent_data
iso_codecountryyearco2consumption_co2co2_growth_prctco2_growth_abstrade_co2co2_per_capitaconsumption_co2_per_capita...ghg_per_capitamethanemethane_per_capitanitrous_oxidenitrous_oxide_per_capitapopulationgdpprimary_energy_consumptionenergy_per_capitaenergy_per_gdp
72NaNAfrica18840.022NaNNaNNaNNaN0.005NaN...NaNNaNNaNNaNNaN130848603.0NaNNaNNaNNaN
73NaNAfrica18850.037NaN66.670.015NaN0.008NaN...NaNNaNNaNNaNNaN131563803.0NaNNaNNaNNaN
74NaNAfrica18860.048NaN30.000.011NaN0.010NaN...NaNNaNNaNNaNNaN132284841.0NaNNaNNaNNaN
75NaNAfrica18870.048NaN0.000.000NaN0.010NaN...NaNNaNNaNNaNNaN133011765.0NaNNaNNaNNaN
76NaNAfrica18880.081NaN69.230.033NaN0.017NaN...NaNNaNNaNNaNNaN133744628.0NaNNaNNaNNaN
..................................................................
20888NaNSouth America20161164.8981240.096-3.32-40.06475.1982.7992.980...NaNNaNNaNNaNNaN416164871.0NaNNaNNaNNaN
20889NaNSouth America20171156.7341238.620-0.70-8.16481.8862.7552.950...NaNNaNNaNNaNNaN419903920.0NaNNaNNaNNaN
20890NaNSouth America20181091.4501173.851-5.64-65.28482.4012.5772.771...NaNNaNNaNNaNNaN423581098.0NaNNaNNaNNaN
20891NaNSouth America20191065.5101139.737-2.38-25.94074.2282.4942.668...NaNNaNNaNNaNNaN427199425.0NaNNaNNaNNaN
20892NaNSouth America2020994.160NaN-6.70-71.349NaN2.308NaN...NaNNaNNaNNaNNaN430759771.0NaNNaNNaNNaN

1111 rows × 58 columns

px.pie(final_df, names='country', values='co2')

在这里插入图片描述

final_df_2020 = final_df[(final_df[ 'year' ]==2020) ]
final_df_2020
final_df_2020[['country','coal_co2','cement_co2','flaring_co2','gas_co2', 'oil_co2','other_industry_co2']].plot(x='country', kind='bar',figsize=(9,5),width=0.9)
plt.title('2020 CO2 consumption')
plt.xlabel('Countries' )
plt.ylabel('CO2 measured in million tonnes')

在这里插入图片描述

print(dataset.info)
print(dataset.head())
<bound method DataFrame.info of       iso_code      country  year     co2  consumption_co2  co2_growth_prct  \
0          AFG  Afghanistan  1949   0.015              NaN              NaN   
1          AFG  Afghanistan  1950   0.084              NaN           475.00   
2          AFG  Afghanistan  1951   0.092              NaN             8.70   
3          AFG  Afghanistan  1952   0.092              NaN             0.00   
4          AFG  Afghanistan  1953   0.106              NaN            16.00   
...        ...          ...   ...     ...              ...              ...   
25199      ZWE     Zimbabwe  2016  10.738           12.153           -12.17   
25200      ZWE     Zimbabwe  2017   9.582           11.248           -10.77   
25201      ZWE     Zimbabwe  2018  11.854           13.163            23.72   
25202      ZWE     Zimbabwe  2019  10.949           12.422            -7.64   
25203      ZWE     Zimbabwe  2020  10.531              NaN            -3.82   co2_growth_abs  trade_co2  co2_per_capita  consumption_co2_per_capita  \
0                 NaN        NaN           0.002                         NaN   
1               0.070        NaN           0.011                         NaN   
2               0.007        NaN           0.012                         NaN   
3               0.000        NaN           0.012                         NaN   
4               0.015        NaN           0.013                         NaN   
...               ...        ...             ...                         ...   
25199          -1.488      1.415           0.765                       0.866   
25200          -1.156      1.666           0.673                       0.790   
25201           2.273      1.308           0.821                       0.912   
25202          -0.905      1.473           0.748                       0.848   
25203          -0.418        NaN           0.709                         NaN   ...  ghg_per_capita  methane  methane_per_capita  nitrous_oxide  \
0      ...             NaN      NaN                 NaN            NaN   
1      ...             NaN      NaN                 NaN            NaN   
2      ...             NaN      NaN                 NaN            NaN   
3      ...             NaN      NaN                 NaN            NaN   
4      ...             NaN      NaN                 NaN            NaN   
...    ...             ...      ...                 ...            ...   
25199  ...           4.703    11.92                0.85           6.55   
25200  ...             NaN      NaN                 NaN            NaN   
25201  ...             NaN      NaN                 NaN            NaN   
25202  ...             NaN      NaN                 NaN            NaN   
25203  ...             NaN      NaN                 NaN            NaN   nitrous_oxide_per_capita  population           gdp  \
0                           NaN   7624058.0           NaN   
1                           NaN   7752117.0  9.421400e+09   
2                           NaN   7840151.0  9.692280e+09   
3                           NaN   7935996.0  1.001732e+10   
4                           NaN   8039684.0  1.063052e+10   
...                         ...         ...           ...   
25199                     0.467  14030338.0  2.096179e+10   
25200                       NaN  14236599.0  2.194784e+10   
25201                       NaN  14438812.0  2.271535e+10   
25202                       NaN  14645473.0           NaN   
25203                       NaN  14862927.0           NaN   primary_energy_consumption  energy_per_capita  energy_per_gdp  
0                             NaN                NaN             NaN  
1                             NaN                NaN             NaN  
2                             NaN                NaN             NaN  
3                             NaN                NaN             NaN  
4                             NaN                NaN             NaN  
...                           ...                ...             ...  
25199                        47.5           3385.574           1.889  
25200                         NaN                NaN             NaN  
25201                         NaN                NaN             NaN  
25202                         NaN                NaN             NaN  
25203                         NaN                NaN             NaN  [23949 rows x 58 columns]>iso_code      country  year    co2  consumption_co2  co2_growth_prct  \
0      AFG  Afghanistan  1949  0.015              NaN              NaN   
1      AFG  Afghanistan  1950  0.084              NaN            475.0   
2      AFG  Afghanistan  1951  0.092              NaN              8.7   
3      AFG  Afghanistan  1952  0.092              NaN              0.0   
4      AFG  Afghanistan  1953  0.106              NaN             16.0   co2_growth_abs  trade_co2  co2_per_capita  consumption_co2_per_capita  ...  \
0             NaN        NaN           0.002                         NaN  ...   
1           0.070        NaN           0.011                         NaN  ...   
2           0.007        NaN           0.012                         NaN  ...   
3           0.000        NaN           0.012                         NaN  ...   
4           0.015        NaN           0.013                         NaN  ...   ghg_per_capita  methane  methane_per_capita  nitrous_oxide  \
0             NaN      NaN                 NaN            NaN   
1             NaN      NaN                 NaN            NaN   
2             NaN      NaN                 NaN            NaN   
3             NaN      NaN                 NaN            NaN   
4             NaN      NaN                 NaN            NaN   nitrous_oxide_per_capita  population           gdp  \
0                       NaN   7624058.0           NaN   
1                       NaN   7752117.0  9.421400e+09   
2                       NaN   7840151.0  9.692280e+09   
3                       NaN   7935996.0  1.001732e+10   
4                       NaN   8039684.0  1.063052e+10   primary_energy_consumption  energy_per_capita  energy_per_gdp  
0                         NaN                NaN             NaN  
1                         NaN                NaN             NaN  
2                         NaN                NaN             NaN  
3                         NaN                NaN             NaN  
4                         NaN                NaN             NaN  [5 rows x 58 columns]

4. 数据预处理:

在进行数据分析之前,我们需要对数据进行预处理,包括处理缺失值和选择感兴趣的特征列。

features = ['year', 'population', 'gdp', 'primary_energy_consumption', 'energy_per_capita', 'energy_per_gdp']
target = 'co2'
data = dataset[features + [target]].dropna()

5. 机器学习建模:

我们将尝试使用随机森林回归和XGBoost算法建立CO2排放的预测模型,并评估其性能。

from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestRegressor
from sklearn.metrics import mean_squared_error# 分割数据集
X = data[features]
y = data[target]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)# 随机森林回归
rf_model = RandomForestRegressor(n_estimators=100, random_state=42)
rf_model.fit(X_train, y_train)
y_pred_rf = rf_model.predict(X_test)
mse_rf = mean_squared_error(y_test, y_pred_rf)
print("随机森林回归均方误差:", mse_rf)
随机森林回归均方误差: 5564.344690878827
from xgboost import XGBRegressor# XGBoost 回归
xgb_model = XGBRegressor(n_estimators=100, random_state=42)
xgb_model.fit(X_train, y_train)
y_pred_xgb = xgb_model.predict(X_test)
mse_xgb = mean_squared_error(y_test, y_pred_xgb)
print("XGBoost 回归均方误差:", mse_xgb)# 查看测试集的预测结果
results_rf = pd.DataFrame({'Actual': y_test, 'Predicted_RF': y_pred_rf})
results_xgb = pd.DataFrame({'Actual': y_test, 'Predicted_XGB': y_pred_xgb})print("随机森林回归预测结果:\n", results_rf.head())
print("XGBoost 回归预测结果:\n", results_xgb.head())
XGBoost 回归均方误差: 6550.179319235124
随机森林回归预测结果:Actual  Predicted_RF
4678   1183.215    1140.30654
22293     2.536       3.88285
1552    187.609     171.56567
22409     7.440       9.76497
11248   129.475      76.18446
XGBoost 回归预测结果:Actual  Predicted_XGB
4678   1183.215    1219.047852
22293     2.536       5.083570
1552    187.609     184.427612
22409     7.440       9.800858
11248   129.475      98.655746

6.结论:

通过对CO2排放数据集的分析和机器学习建模,我们可以更好地理解全球CO2排放的情况,并为未来的环境保护和可持续发展提供数据支持。未来的研究可以进一步探索CO2排放与气候变化、经济增长等因素之间的关系,并提出相应的政策建议。

如有遇到问题可以找小编沟通交流哦。另外小编帮忙辅导大课作业,学生毕设等。不限于MapReduce, MySQL, python,java,大数据,模型训练等。 hadoop hdfs yarn spark Django flask flink kafka flume datax sqoop seatunnel echart可视化 机器学习等
在这里插入图片描述

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

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

相关文章

图形学概述

图形学应用 游戏 游戏的画面好坏如何鉴定呢&#xff1f; 看游戏画面是否够亮&#xff1a;渲染中全局光照的好坏 《只狼》 为什么卡通游戏画面看起来是卡通的呢&#xff1f; 《无主之地3》 这些都是图形学需要着手解决的问题 电影 电影《黑客帝国》的特效也是通过计算机…

一个超级简单的Python UI库:NiceGUI

大家好&#xff0c;图形用户界面&#xff08;GUI&#xff09;的开发往往被看作是一项复杂且繁琐的任务。Python作为一门强大的编程语言&#xff0c;提供了许多优秀的库来帮助开发者实现这一目标。今天&#xff0c;我们将介绍一个名为NiceGUI的库&#xff0c;它能帮助你轻松构建…

大模型PEFT(一)之推理实践学习记录

1. 简介 多种模型: LLaMA、Mistral、Mixtral-MoE、Qwen、Yi、Gemmha、Baichuan、ChatGLM、Phi等等。集成方法:(增量)预训练、指令监督微调、奖励模型训练、PPO训练和DPO训练。多种精度:32比特全参数微调、16比特冻结微调、16比特LORA微调和基于AQLM/AWQ/GPTQ/LLM.int8 的2/4/8…

EtherCAT总线掉线如何自动重启

EtherCAT通信如果是从站掉线我们可以勾选上自动重启功能如下图所示&#xff1a; 1、自动重启从站 待续.....

词法与语法分析器介绍

概述 词法和语法可以使用正则表达式和BNF范式表达&#xff0c;而最终描述文法含义的事状态转换图 Lex与YACC 词法分析器Lex 词法分析词Lex&#xff0c;是一种生成词法分析的工具&#xff0c;描述器是识别文本中词汇模式的程序&#xff0c;这些词汇模式是在特殊的句子结构中…

欧科云链:Web3.0时代 具备链上数据分析能力的公司愈发凸显其价值

在当今激烈的市场竞争中&#xff0c;新兴互联网领域迅速崛起&#xff0c;Web2.0已相对成熟&#xff0c;用户创造数据&#xff0c;但不拥有数据。被视为新的价值互联网的Web3.0&#xff0c;赋予用户真正的数据自主权&#xff0c;它的到来被认为是打破Web2.0垄断的机遇。 在Web3…

【区块链】Postman功能接口测试

需要将完整的合约部署到fisco上以及启动后端的工程项目 启动WeBASE python3 deploy.py startAll 然后通过127.0.0.1&#xff1a;5002/WeBASE-Front启动webase 在工程日录下启动项目,检查配置文件conf.properties中的合约和用户信息足否与webase-front一致 运行trace的jar包项…

Qt 5前后调色板差异变化

Qt 5之前&#xff1a; QPalette palette;//调色板 设置背景颜色 palette.setColor(QPalette::Backgound, color...);Qt 5之后&#xff1a; 由原有的 Background 模式 更新为 Window 模式 QPalette palette;//调色板 设置背景颜色 palette.setColor(QPalette::Window, color..…

AI智能体研发之路-模型篇(四):一文入门pytorch开发

博客导读&#xff1a; 《AI—工程篇》 AI智能体研发之路-工程篇&#xff08;一&#xff09;&#xff1a;Docker助力AI智能体开发提效 AI智能体研发之路-工程篇&#xff08;二&#xff09;&#xff1a;Dify智能体开发平台一键部署 AI智能体研发之路-工程篇&#xff08;三&am…

python web自动化(Pytest实战)

1.UnitTest框架与Pytest框架对⽐ 1&#xff09; unittest框架介绍 Unittest则是Python语⾔的标准单元测试框架。 Unittest⽀持⾃动化测试&#xff0c;测试⽤例的初 始化、关闭和测试⽤例的聚合等功能&#xff0c;它有⼀个很重要的特性&#xff…

嵌入式UI开发-lvgl+wsl2+vscode系列:2、label(标签)+button(按钮)+slider(滑块)控件熟悉及其示例demo运行

文章目录 一、前言二、常见控件示例demo模拟环境运行及接口熟悉&#xff08;重要&#xff09;如何修改示例main函数测试各种示例1、label示例1.1、label示例1&#xff08;标签基础示例&#xff09;1.2、label示例2&#xff08;标签带阴影效果&#xff09;1.3、label示例3&#…

ComfyUI简单介绍

&#x1f353;什么是ComfyUI ComfyUI是一个为Stable Diffusion专门设计的基于节点的图形用户界面&#xff0c;可以通过各种不同的节点快速搭建自己的绘图工作流程。 软件打开之后是长这个样子&#xff1a; 同时软件本身是github上的一个开源项目&#xff0c;开源地址为&#…

编译原理 期末复习笔记整理(上)

资料借鉴&#xff1a; 【编译原理】期末复习 零基础自学_哔哩哔哩_bilibili 编译原理笔记 第一章 引论 1.编译原理逻辑过程&#xff1a; 词法分析 语法分析 语义分析 中间代码生成 编译代码生成 2.词法分析 任务: 输入源程序&#xff0c;对…

通用代码生成器应用场景三,遗留项目反向工程

通用代码生成器应用场景三&#xff0c;遗留项目反向工程 如果您有一个遗留项目&#xff0c;要重新开发&#xff0c;或者源代码遗失&#xff0c;或者需要重新开发&#xff0c;但是希望复用原来的数据&#xff0c;并加快开发。 如果您的项目是通用代码生成器生成的&#xff0c;…

Java应用中文件上传安全性分析与安全实践

✨✨谢谢大家捧场&#xff0c;祝屏幕前的小伙伴们每天都有好运相伴左右&#xff0c;一定要天天开心哦&#xff01;✨✨ &#x1f388;&#x1f388;作者主页&#xff1a; 喔的嘛呀&#x1f388;&#x1f388; 目录 引言 一. 文件上传的风险 二. 使用合适的框架和库 1. Spr…

NLP(17)--大模型发展(1)

前言 仅记录学习过程&#xff0c;有问题欢迎讨论 大模型的演化&#xff1a; ElMO : 类似双向lstm 结果和词向量拼接 预训练鼻祖 GPT :使用了Transformer 模型 开始使用Token &#xff08;发现预训练的作用&#xff09; Bert&#xff1a;认为双向比单向好 MLM(双向) 优于 LT…

App Inventor 2 Encrypt.Security 安全性扩展:MD5哈希,SHA/AES/RSA/BASE64

这是关于App Inventor和Thunkable安全性的扩展&#xff0c;它提供MD5哈希&#xff0c;SHA1和SHA256哈希&#xff0c;AES加密/解密&#xff0c;RSA加密/解密&#xff0c;BASE64编码/解码方法。 权限 此扩展程序不需要任何权限。 事件 OnErrorOccured 抛出任何异常时将触发此事件…

四川景源畅信:抖音小店新手如何做?

随着短视频平台的兴起&#xff0c;抖音小店成为了许多创业者的新选择。但是&#xff0c;对于新手来说&#xff0c;如何在抖音上开设并经营好自己的小店呢?本文将围绕这一问题展开讨论。 一、明确目标和定位作为抖音小店的新手&#xff0c;首先要明确自己的经营目标和定位。是想…

二叉树尾部分

1.二叉树的销毁 2.二叉树的层序遍历 3.判断二叉树是否为完全二叉树 4.二叉树的性质 1.二叉树的销毁 以后序的方式遍历销毁左右子数&#xff0c;因为前序和中序销毁的话根会被销毁而找不到左右子树的位置&#xff0c;后序的根访问在最后&#xff0c;可以找到左右的子树位置。…

YOLOv10介绍与推理--图片和视频演示(附源码)

导 读 本文主要对YOLOv10做简单介绍并给出推理图片和视频的步骤演示。 YOLOv10简介 YOLOv10是清华大学的研究人员在Ultralytics Python包的基础上&#xff0c;引入了一种新的实时目标检测方法&#xff0c;解决了YOLO 以前版本在后处理和模型架构方面的不足。通过消除非最大抑…