当前位置: 首页 > news >正文

python打卡训练营打卡记录day22

复习日

仔细回顾一下之前21天的内容,没跟上进度的同学补一下进度。

作业:

自行学习参考如何使用kaggle平台,写下使用注意点,并对下述比赛提交代码

kaggle泰坦尼克号人员生还预测

导入数据

# 导入所需库
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
from sklearn.model_selection import train_test_split, GridSearchCV
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import accuracy_score, classification_report, confusion_matrix
from sklearn.impute import SimpleImputer
from lightgbm import LGBMClassifier
import shap# 忽略警告
warnings.filterwarnings("ignore")# 设置中文字体
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False# 加载数据
train_data = pd.read_csv('train.csv')
test_data = pd.read_csv('test.csv')

数据预处理

# 删除无关列
drop_columns = ['PassengerId', 'Name', 'Ticket', 'Cabin']
train_data = train_data.drop(drop_columns, axis=1)
test_data = test_data.drop(drop_columns, axis=1)# 性别0-1编码
train_data['Sex'] = train_data['Sex'].map({'female': 0, 'male': 1})
test_data['Sex'] = test_data['Sex'].map({'female': 0, 'male': 1})# Embarked独热编码
train_data = pd.get_dummies(train_data, columns=['Embarked'], drop_first=True)
test_data = pd.get_dummies(test_data, columns=['Embarked'], drop_first=True)# 填充缺失值(年龄和票价用中位数)
imputer_age = SimpleImputer(strategy='median')
train_data['Age'] = imputer_age.fit_transform(train_data[['Age']])
test_data['Age'] = imputer_age.transform(test_data[['Age']])imputer_fare = SimpleImputer(strategy='median')
train_data['Fare'] = imputer_fare.fit_transform(train_data[['Fare']])
test_data['Fare'] = imputer_fare.transform(test_data[['Fare']])

特征工程

# 添加家庭规模和独自旅行特征
train_data['FamilySize'] = train_data['SibSp'] + train_data['Parch'] + 1  # 家庭规模(包括自己)
train_data['IsAlone'] = (train_data['FamilySize'] == 1).astype(int)  # 1表示独自旅行test_data['FamilySize'] = test_data['SibSp'] + test_data['Parch'] + 1
test_data['IsAlone'] = (test_data['FamilySize'] == 1).astype(int)

调参与模型训练

X_train = train_data.drop('Survived', axis=1)
y_train = train_data['Survived']
X_test = test_data  # 测试集暂不使用,如需预测可后续添加# 划分训练集和验证集(8:2)
X_train_split, X_val, y_train_split, y_val = train_test_split(X_train, y_train, test_size=0.2, random_state=42# 定义参数网格
param_grid = {'n_estimators': [50, 100, 200],  'learning_rate': [0.05, 0.1, 0.2],  # 平衡速度与精度的常用值'max_depth': [5, 10],  'min_child_samples': [10, 20],  'subsample': [0.8, 1.0],  # 行抽样常用值'colsample_bytree': [0.8, 1.0]  # 列抽样常用值
}# 初始化模型和网格搜索
model = LGBMClassifier(random_state=42, verbose=-1)
grid_search = GridSearchCV(estimator=model,param_grid=param_grid,cv=3,  # 3折交叉验证(比5折快40%)n_jobs=-1,scoring='f1_macro',verbose=1
)# 执行网格搜索
grid_search.fit(X_train_split, y_train_split)# 获取最优模型和参数
best_lgbm = grid_search.best_estimator_
print(f"最优参数:{grid_search.best_params_}")
print(f"最佳交叉验证F1值:{grid_search.best_score_:.4f}")
Fitting 3 folds for each of 144 candidates, totalling 432 fits
最优参数:{'colsample_bytree': 1.0, 'learning_rate': 0.1, 'max_depth': 10, 'min_child_samples': 20, 'n_estimators': 50, 'subsample': 0.8}
最佳交叉验证F1值:0.8099

模型评估

y_pred = best_lgbm.predict(X_val)print("\n调优后LightGBM模型评估结果:")
print(f"准确率:{accuracy_score(y_val, y_pred):.4f}")
print("分类报告:")
print(classification_report(y_val, y_pred))
print("混淆矩阵:")
print(confusion_matrix(y_val, y_pred))
调优后LightGBM模型评估结果:
准确率:0.8324
分类报告:precision    recall  f1-score   support0       0.85      0.87      0.86       1051       0.81      0.78      0.79        74accuracy                           0.83       179macro avg       0.83      0.83      0.83       179
weighted avg       0.83      0.83      0.83       179混淆矩阵:
[[91 14][16 58]]

shap可视化

# 初始化SHAP解释器
explainer = shap.TreeExplainer(best_lgbm)
shap_values = explainer.shap_values(X_val)  # 二分类返回长度为2的列表,shap_values[1]对应类别1(生存)# 提取类别1的SHAP值(形状:(n_samples, n_features))
shap_values_class1 = shap_values[1]# 1. 特征重要性汇总(柱状图)
plt.figure(figsize=(10, 6))  
shap.summary_plot(shap_values_class1, X_val, feature_names=X_train.columns, plot_type="bar",show=False  
)
plt.title("SHAP特征重要性排名", fontsize=14)  
plt.tight_layout()  # 自动调整子图参数,避免重叠
plt.savefig("shap_feature_importance.png", dpi=300, bbox_inches='tight')  
plt.show()# 2. 特征影响汇总(蜂群图)
plt.figure(figsize=(12, 8))  # 增大画布尺寸,适应更多元素
shap.summary_plot(shap_values_class1, X_val, feature_names=X_train.columns,show=False
)
plt.title("SHAP特征影响方向与强度", fontsize=14)
plt.tight_layout() 
plt.savefig("shap_summary_plot.png", dpi=300, bbox_inches='tight')
plt.show()# 3. 单个特征依赖图(前6个特征)
plt.figure(figsize=(16, 12))  for i, feature in enumerate(X_train.columns[:6]): plt.subplot(2, 3, i + 1)  shap.dependence_plot(feature, shap_values_class1, X_val, feature_names=X_train.columns, show=False,  ax=plt.gca()  )plt.title(f"{feature} 对生存概率的影响", fontsize=12)  # 添加子图标题plt.xlabel(feature)  # 显式设置x轴标签plt.tight_layout(pad=4)  # 增加子图间距,防止标题重叠
plt.savefig("shap_dependence_plots.png", dpi=300, bbox_inches='tight')
plt.show()

shap图分析

1. SHAP 特征重要性排名(柱状图)

  • 横轴mean(|SHAP value|),表示特征对模型输出影响的平均绝对值,值越大说明特征越重要。
  • 关键结论
    • Sex:重要性最高,说明性别对生存概率影响最大。
    • Pclass:次之,客舱等级影响显著。
    • FareAge:也有较高影响,票价和年龄对模型决策有重要作用。
    • 其他特征(如 FamilySizeSibSp 等)影响较小。

2. SHAP 特征影响方向与强度(蜂群图)

  • 横轴:SHAP 值,正表示促进生存,负表示抑制生存。
  • 点颜色:红色代表特征值高,蓝色代表特征值低。
  • 关键结论
    • Sex:红色点(特征值高)多在正 SHAP 值区域,说明该特征值高(如女性)时,显著促进生存;蓝色点(特征值低)在负区域,抑制生存。
    • Pclass:部分红色点在负 SHAP 值区域,表明客舱等级高(特征值高)可能抑制生存;蓝色点分布较分散,需结合具体值分析。
    • Fare:高值(红色)点多在正 SHAP 值区域,说明票价高促进生存。
    • Age:特征值与 SHAP 值无明显单调关系,但整体分布显示其对生存有复杂影响。

3. 单个特征依赖图(前 6 个特征)

  • 横轴:特征值;纵轴:SHAP 值;点颜色:通常表示特征值高低(红色高,蓝色低)。
  • 关键结论
    • Pclass:低 Pclass 值(如 1 级舱位)对应正 SHAP 值,促进生存;高值(如 3 级)可能抑制生存。
    • Sex:特征值高(如女性)对应高正 SHAP 值,强烈促进生存。
    • Age:年轻乘客(低年龄值)SHAP 值多为正,促进生存;年长者 SHAP 值分散,影响复杂。
    • Fare:票价越高,SHAP 值越正,对生存促进作用越明显。
    • SibSpParch:值较低时,SHAP 值多为负,可能抑制生存;值较高时影响不明显。

综合总结

  • 核心影响特征Sex(性别)是决定生存概率的最关键因素,女性更易生存;Fare(票价)高、Age(年龄)小也显著促进生存。
  • 客舱等级矛盾Pclass 高(舱位等级低,如 3 级舱)反而可能抑制生存,与常识中 “高舱位更易生存” 看似矛盾,需结合数据具体分布进一步验证(如高舱位是否有更多特殊情况)。
  • 家庭关系影响弱SibSp(兄弟姐妹 / 配偶数)、Parch(父母 / 子女数)对生存影响较小,仅在特定值时表现出一定规律。

@浙大疏锦行

相关文章:

python打卡训练营打卡记录day22

复习日 仔细回顾一下之前21天的内容,没跟上进度的同学补一下进度。 作业: 自行学习参考如何使用kaggle平台,写下使用注意点,并对下述比赛提交代码 kaggle泰坦尼克号人员生还预测 导入数据 # 导入所需库 import pandas as pd impor…...

网络编程(一)网络编程入门

本节课学习TCP客户端和服务器端编程架构,其分为分为C/S(客户端/服务器模式)和B/S(浏览器/服务器架构模式)两种模式。接下来我们分别了解这两种模式 C/S模式 C/S模式:服务器首先先启动,并根据客…...

华为IP(6)

VLAN聚合 VLAN聚合产生的技术背景 在一般是三层交换机中,通常采用一个VLAN接口的方式实现广播域之间的互通,这在某些情况下导致了IP地址的浪费 因为一个VLAN对应的子网中,子网号、子网广播地址、子网网关地址不能用作VLAN内的主机IP地址&a…...

初探机器学习与深度学习

本文以水果摊销量预测为例,揭示机器学习通过数据训练模型的核心逻辑,对比传统编程规则驱动模式。解析分类(疾病诊断)与回归(房价预测)两大任务的技术本质,类比前端开发中的类型定义与图表拟合。…...

3. 仓颉 CEF 库封装

文章目录 1. capi 使用说明2. Cangjie CEF2. 1实现目标 3. 实现示例 1. capi 使用说明 根据上一节 https://blog.csdn.net/qq_51355375/article/details/147880718?spm1011.2415.3001.5331 所述, cefcapi 是libcef 共享库导出一个 C API, 而以源代码形式分发的 li…...

Linux-TCP套接字编程简易实践:实现EchoServer与远程命令执行及自定义协议(反)序列化

一.TCP Socket常用API 1.1socket() NAMEsocket - create an endpoint for communicationSYNOPSIS#include <sys/types.h> /* See NOTES */#include <sys/socket.h>int socket(int domain, int type, int protocol); socket()打开一个网络通讯端口,如果…...

缓存(3):本地缓存作用 及 数据一致性 实现策略

概述 CAP 什么是CAP CAP理论&#xff0c;指的是在一个分布式系统中&#xff0c; Consistency&#xff08;一致性&#xff09;、 Availability&#xff08;可用性&#xff09;、Partition tolerance&#xff08;分区容错性&#xff09;&#xff0c;三者不可得兼。 三者关系如…...

【leetcode】《BFS扫荡术:如何用广度优搜索征服岛屿问题》

前言 &#x1f31f;&#x1f31f;本期讲解关于力扣的几篇题解的详细介绍~~~ &#x1f308;感兴趣的小伙伴看一看小编主页&#xff1a;GGBondlctrl-CSDN博客 &#x1f525; 你的点赞就是小编不断更新的最大动力 &#x1f386;那么废话不…...

vue中理解MVVM

理解 在 Vue 中&#xff0c;MVVM&#xff08;Model-View-ViewModel&#xff09; 是其核心设计思想之一&#xff0c;它帮助实现了数据驱动的视图更新和良好的代码结构分离。我们来具体解析 Vue 是如何实现 MVVM 模式的。 &#x1f310; MVVM 是什么&#xff1f; 角色含义Vue…...

[工具]B站缓存工具箱 (By 郭逍遥)

&#x1f4cc; 项目简介 B站缓存工具箱是一个多功能的B站缓存工具&#xff0c;包含视频下载、缓存重载、文件合并及系统设置四大核心功能。基于yutto开发&#xff0c;采用图形化界面操作&#xff0c;极大简化B站资源获取与管理流程。 工具可以直接将原本缓存的视频读取&#…...

Docker Compose 完全指南:从入门到生产实践

Docker Compose 完全指南&#xff1a;从入门到生产实践 1. Docker Compose 简介与核心价值 Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。通过一个 YAML 文件来配置应用的服务&#xff0c;只需简单命令就能创建和启动所有服务。 核心优势&#xff1a;…...

《Redis应用实例》学习笔记,第二章:缓存二进制数据

前言 最近在学习《Redis应用实例》&#xff0c;这本书并没有讲任何底层&#xff0c;而是聚焦实战用法&#xff0c;梳理了 32 种 Redis 的常见用法。我的笔记在 Github 上&#xff0c;用 Jupyter 记录&#xff0c;会有更好的阅读体验&#xff0c;作者的源码在这里&#xff1a;h…...

ARM GIC(七)亲和路由:GICD_IROUTER寄存器具体如何与MPIDR配合使用?

ARM GIC&#xff08;一&#xff09; GIC V3架构基础学习笔记 完善亲和路由章节。 一、MPIDR MPIDR&#xff08;Multiprocessor Affinity Register&#xff09;寄存器在ARM架构中用于标识处理器的亲和性信息&#xff0c;这对于中断处理非常重要&#xff0c;特别是在多处理器系…...

stm32之SPI

目录 1.SPI通信协议1.1 简介1.2 硬件电路1.3 移位示意图1.4 SPI时序基本单元1.5 SPI时序 2.W25Q642.1 简介2.2 硬件电路2.3 框图2.3.1 结构介绍2.3.2 混淆 2.4 Flash操作注意事项2.4.1 写操作2.4.2 读取操作 2.5 芯片手册补充2.5.1 状态寄存器2.5.2 指令集 3.软件操作W25Q644.S…...

数据库事务以及JDBC实现事务

一、数据库事务 数据库事务&#xff08;Database Transaction&#xff09;是数据库管理系统中的一个核心概念&#xff0c;它代表一组操作的集合&#xff0c;这些操作要么全部执行成功&#xff0c;要么全部不执行&#xff0c;即操作数据的最小执行单元&#xff0c;保证数据库的…...

C语言_函数调用栈的汇编分析

在 C 语言的底层实现中&#xff0c;函数调用栈是程序运行时内存管理的核心机制。它不仅负责函数间的控制转移&#xff0c;还管理局部变量、参数传递和返回值。本文将结合 C 语言代码和 x86-64 汇编指令&#xff0c;深入解析函数调用栈的工作原理。 一、函数调用栈的基本概念 …...

单片机调用printf概率性跑飞解决方法

最近移植软件到不同平台的单片机上时&#xff0c;遇到了软件概率性跑飞的问题&#xff0c;分析后原因均指向和printf相关的库函数&#xff08;包括sprintf, vsnsprinft&#xff09;&#xff0c;在任务里调用这些函数就有概率在ucos切换任务时跑飞&#xff08;中断&#xff09;。…...

无人机空中物流优化:用 Python 打造高效配送模型

友友们好! 我是Echo_Wish,我的的新专栏《Python进阶》以及《Python!实战!》正式启动啦!这是专为那些渴望提升Python技能的朋友们量身打造的专栏,无论你是已经有一定基础的开发者,还是希望深入挖掘Python潜力的爱好者,这里都将是你不可错过的宝藏。 在这个专栏中,你将会…...

【RP2350】香瓜树莓派RP2350之低功耗

本文最后修改时间&#xff1a;2025年05月10日 01:57 一、本节简介 本节以树莓派pico2开发板为例&#xff0c;举例如何写一个低功耗驱动。 二、实验平台 1、硬件平台 1&#xff09;树莓派pico2开发板 ①树莓派pico2开发板&#xff08;作为仿真器&#xff09; ②micro usb数…...

招行数字金融挑战赛数据赛道赛题一

赛题描述&#xff1a;根据提供的用户行为数据&#xff0c;选手需要分析用户行为特征与广告内容的匹配关系&#xff0c;准确预测用户对测试集广告的点击情况&#xff0c;通过AUC计算得分。 得分0.6120&#xff0c;排名60。 尝试了很多模型都没有能够提升效果&#xff0c;好奇大…...

仿真生成激光干涉包裹相位数据-用于深度学习训练!

该MATLAB/Octave代码实现了论文[1]中提出的相位提取算法,用于从灰度条纹图案中提取包裹相位图(相位值在-π到+π之间)。代码首先生成模拟的条纹图案,包含背景光、调制光和相位分布,并加入高斯噪声。随后,通过N步相移算法估计背景光和调制光,并计算包裹相位。结果显示包括…...

命令行解释器中shell、bash和zsh的区别

命令行解释器&#xff08;Command Line Interpreter&#xff09;是一个程序&#xff0c;它的主要作用是接收用户输入的命令&#xff0c;并执行相应的操作。它充当了用户与操作系统内核之间的桥梁。 一、什么是 Shell&#xff1f; Shell 是一个通用术语&#xff0c;指的是 命令…...

SQL 数据库监控:SQL语句监控工具与实践案例

SQL 数据库监控&#xff1a;SQL语句监控工具与实践案例 SQL语句监控的主要方法 SQL监控主要通过以下几种方式实现&#xff1a; 数据库内置监控功能&#xff1a;大多数数据库系统提供内置的SQL监控工具数据库性能视图/系统表&#xff1a;通过查询特定的系统视图获取SQL执行信…...

招行数字金融挑战赛数据分析赛带赛题二

赛题描述&#xff1a;根据提供的脱敏资讯新闻数据&#xff0c;选手需要对提供的训练集进行特征工程&#xff0c;构建资讯分类模型&#xff0c;对与测试集进行准确的新闻分类。 最终得分&#xff1a;0.8120。十二点关榜没看到排名&#xff0c;估算100&#xff1f; 训练集很小&am…...

llama.cpp初识

Llama.cpp&#xff1a;赋能本地大语言模型推理的核心引擎及其应用场景 引言&#xff1a;Llama.cpp 是什么&#xff1f; 大型语言模型 (LLM) 的兴起正在深刻改变人机交互和信息处理的方式。然而&#xff0c;这些强大的模型通常需要巨大的计算资源&#xff0c;使得它们在云端之…...

【EBNF】EBNF:扩展巴克斯-诺尔范式文件格式与实用写法详解

EBNF&#xff1a;扩展巴克斯-诺尔范式文件格式与实用写法详解 一、什么是 EBNF&#xff1f; Extended Backus-Naur Form (EBNF)是一种形式化的语法&#xff0c;用于指定编程语言或其他形式化语言的结构。它是Backus-Naur形式&#xff08;BNF&#xff09;的扩展&#xff0c;最初…...

Go语言运算符详解

文章目录 1. 算术运算符2. 关系运算符3. 逻辑运算符4. 位运算符5. 赋值运算符6. 其他运算符运算符优先级注意事项 Go语言提供了与其他语言类似的运算符&#xff0c;包括算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符等。这些运算符即可满足基本的运算需求。 1. 算…...

MySQL用户管理

目录 一、用户用户信息创建用户删除用户从远端登录修改用户密码 二、数据库的权限给用户授权回收权限 与Linux操作系统类似&#xff0c;MySQL中也有超级用户和普通用户之分。&#xff0c;如果一个用户只需要访问MySQL中的某一个数据库&#xff0c;甚至数据库中的某一个表&#…...

视频编解码学习三之显示器续

一、现在主流的显示器是LCD显示器吗&#xff1f; 是的&#xff0c;现在主流的显示器仍然是 LCD&#xff08;液晶显示器&#xff0c;Liquid Crystal Display&#xff09;&#xff0c;但它已经细分为多种技术类型&#xff0c;并和其他显示技术&#xff08;如OLED&#xff09;形成…...

VSCode1.101.0便携版|中英文|编辑器|安装教程

软件介绍 Visual Studio Code是微软推出的一个强大的代码编辑器&#xff0c;功能强大&#xff0c;操作简单便捷&#xff0c;还有着良好的用户界面&#xff0c;设计得很人性化&#xff0c;旨在为所有开发者提供一款专注于代码本身的免费的编辑器。 软件安装 1、 下载安装包…...

Scala 中累加器的创建与使用格式详解

1. 内置累加器的创建与使用格式 1.1 创建内置累加器 // 通过 SparkContext 创建 val acc sc.longAccumulator("累加器名称") // Long 类型&#xff08;默认初始值 0&#xff09; val accDouble sc.doubleAccumulator("累加器名称") // Double 类型&a…...

【DNDC模型】双碳目标下DNDC模型建模方法及在土壤碳储量、温室气体排放、农田减排、土地变化、气候变化中的应用

由于全球变暖、大气中温室气体浓度逐年增加等问题的出现&#xff0c;“双碳”行动特别是碳中和已经在世界范围形成广泛影响。国家领导人在多次重要会议上讲到&#xff0c;要把“双碳”纳入经济社会发展和生态文明建设整体布局。同时&#xff0c;提到要把减污降碳协同增效作为促…...

深入剖析缓存与数据库一致性:Java技术视角下的解决方案与实践

一、缓存与数据库一致性问题根源 读写分离的架构矛盾 缓存作为数据库的“副本”&#xff0c;天然存在数据同步延迟。 高频读写场景下&#xff0c;缓存与数据库的更新顺序、失败重试等操作易引发不一致。 经典问题场景 场景1&#xff1a;先更新数据库&#xff0c;再删除缓存。…...

Anaconda环境中conda与pip命令的区别

文章目录 conda与pip的基本区别在Anaconda环境中的实际差异安装包环境管理依赖解决示例最佳实践建议 常见问题解答 conda与pip的基本区别 包来源与生态系统 conda&#xff1a;从Anaconda默认仓库或conda-forge等渠道获取包 不仅管理Python包&#xff0c;还能管理非Python依赖&…...

使用FastAPI和React以及MongoDB构建全栈Web应用05 FastAPI快速入门

一、FastAPI概述 1.1 什么是FastAPI FastAPI is a modern, high-performance Python web framework designed for building APIs. It’s rapidly gaining popularity due to its ease of use, speed, and powerful features. Built on top of Starlette, FastAPI leverages a…...

每日c/c++题 备战蓝桥杯(P1002 [NOIP 2002 普及组] 过河卒)

洛谷P1002 [NOIP 2002 普及组] 过河卒 题解 题目描述 过河卒是一道经典的动态规划题目。题目大意是&#xff1a;一个卒子从棋盘左上角(0,0)出发&#xff0c;要走到右下角(n,m)&#xff0c;棋盘上有一个马在(x,y)位置&#xff0c;卒子不能经过马所在位置及其周围8个位置。求卒…...

kubectl系列(十二):查询pod的resource 配置

在 Kubernetes 中&#xff0c;可以通过 kubectl 命令快速查询 Pod 的资源请求&#xff08;requests&#xff09;和限制&#xff08;limits&#xff09;配置。以下是多种方法实现这一目标&#xff1a; 1. 查看 Pod 的资源请求和限制&#xff08;基础版&#xff09; 使用 kubec…...

前端面试2

1. 面试准备 1. 建立自己的知识体系 思维导图ProcessOn框架Vue elementUI自查 https://zh.javascript.info/ 借鉴 https://juejin.cn/post/6844904103504527374http://conardli.top/blog/article/https://github.com/mqyqingfeng/Bloghttp://47.98.159.95/my_blog/#html 2.技能…...

使用 Java 反射动态加载和操作类

Java 的反射机制(Reflection)是 Java 语言的一大特色,它允许程序在运行时检查、加载和操作类、方法、字段等元信息。通过 java.lang.Class 和 java.lang.reflect 包,开发者可以动态加载类、创建实例、调用方法,甚至在运行时构造新类。反射是 Java 灵活性的核心,广泛应用于…...

基于Dockers的Bitwarden的私有本地部署

基于Dockers的Bitwarden的私有本地部署 文章目录 基于Dockers的Bitwarden的私有本地部署 本文首发地址 https://h89.cn/archives/355.html bitwarden 默认连接的是国外服务器 https://bitwarden.com/ &#xff0c;连接不是很稳定&#xff0c;也没有安全感&#xff0c;所以我选择…...

spark-Schema 定义字段强类型和弱类型

在数据处理和存储中&#xff0c;Schema&#xff08;模式&#xff09;定义了数据的结构和字段属性&#xff0c;其中字段的强类型和弱类型是重要的概念&#xff0c;直接影响数据的验证、存储和处理方式。以下是详细解释&#xff1a; 1. 强类型&#xff08;Strongly Typed&#x…...

【第35节 数据库设计】

本章目录: 一、节概述二、知识详解1. 数据库设计的基本步骤2. 用户需求分析3. 概念结构设计&#xff08;E-R建模&#xff09;4. 逻辑结构设计5. 物理结构设计6. 数据库实施7. 数据库运行维护8. 商业智能&#xff08;BI&#xff09;与数据仓库数据仓库的特点&#xff1a; 9. OLT…...

C++基本知识 —— 缺省参数·函数重载·引用

C基本知识 —— 缺省参数函数重载引用 1. 缺省参数2. 函数重载3. 引用3.1 引用的基础知识3.2 引用的作用3.3 const 引用3.4 指针与引用的关系 1. 缺省参数 什么是缺省参数&#xff1f;缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数的时候&#xff0c;如…...

大数据基础——Ubuntu 安装

文章目录 Ubuntu 安装一、配置电脑二、安装系统 Ubuntu 安装 一、配置电脑 1、进入VMware 2、选择配置类型 3、选择硬件兼容性版本 4、当前虚拟机的操作系统 选择“稍后安装操作系统”&#xff08;修改&#xff09; 5、选择虚拟机将来需要安装的系统 选中“Linux”和选择…...

英伟达微调qwen2.5-32B模型,开源推理模型:OpenCodeReasoning-Nemotron-32B

一、模型概述 OpenCodeReasoning-Nemotron-32B 是一个大型语言模型&#xff0c;基于 Qwen2.5-32B-Instruct 开发&#xff0c;专为代码生成推理任务进行了后续训练&#xff0c;支持 32,768 个标记的上下文长度&#xff0c;适用于商业和非商业用途。 二、性能表现 在 LiveCode…...

苍穹外卖-创建阿里云oss工具包

添加配置信息&#xff1a; sky:alioss:endpoint: ***access-key-id: ***access-key-secret: ***bucket-name: *** 把配置的内容转换成对象&#xff1a; Component ConfigurationProperties(prefix "sky.alioss") Data public class AliOssProperties {private St…...

代码随想录训练营第二十一天 |589.N叉数的前序遍历 590.N叉树的后序遍历

589.N叉数的前序遍历&#xff1a; 状态&#xff1a;已做出 思路&#xff1a; N叉树的前序遍历和二叉树很像&#xff0c;我这里使用栈来实现。首先把根结点入栈&#xff0c;然后删除栈顶节点后把栈顶节点的所有子树都插入到栈&#xff0c;这里需要注意的是插入的方式是从最后一…...

鸿蒙跨平台开发教程之Uniapp布局基础

前两天的文章内容对uniapp开发鸿蒙应用做了一些详细的介绍&#xff0c;包括配置开发环境和项目结构目录解读&#xff0c;今天我们正式开始写代码。 入门新的开发语言往往从Hello World开始&#xff0c;Uniapp的初始化项目中已经写好了一个简单的demo&#xff0c;这里就不再赘述…...

面试中常问的设计模式及其简洁定义

&#x1f3af; 一、面试中常问的设计模式及其简洁定义 模式名常被问到解释&#xff08;简洁&#xff09;单例模式✅ 高频保证一个类只有一个实例&#xff0c;并提供全局访问点。工厂模式✅ 高频创建对象的接口由子类决定&#xff0c;屏蔽了对象创建逻辑。抽象工厂模式✅提供多…...

关于 js:6. 网络与加密模块

一、AJAX AJAX&#xff08;Asynchronous JavaScript And XML&#xff09; 异步 JavaScript 与 XML&#xff08;现在多为 JSON&#xff09; 它允许网页在不重新加载整个页面的情况下&#xff0c;从服务器请求数据并更新页面内容。 主要用途&#xff1a; 提交表单时无需刷新页…...