【数学建模】——【A题 信用风险识别问题】全面解析

news2024/11/15 8:47:19

目录

1.题目

2.解答分析

问题1:指标筛选

1.1 问题背景

1.2 数据预处理

1.3 特征选择方法

1.4 多重共线性检测

1.5 实现步骤

问题2:信用评分模型

2.1 问题背景

2.2 数据分割

2.3 处理不平衡数据

2.4 模型选择与理由

问题3:模型对比

3.1 问题背景

3.2 模型训练与验证

问题4:信用等级划分

4.1 问题背景

4.2 构建非线性规划模型

4.3 模型选择与理由

大体框架

一、问题重述

二、数据预处理

2.1 数据读取与初步处理

三、特征选择

3.1 过滤法

3.2 包装法

3.3 嵌入法

四、信用评分模型

4.1 数据分割

4.2 处理不平衡数据

4.3 模型选择与训练

五、模型对比

5.1 模型训练与验证

六、信用等级划分

6.1 构建非线性规划模型

七、模型评价与展望

7.1 模型的优点

7.2 模型的缺点

7.3 展望

总结概括各个步骤

一、问题重述

二、数据预处理

三、特征选择

四、信用评分模型

五、模型对比

六、信用等级划分

七、模型评价与展望


731bd47804784fa2897220a90a387b28.gif

专栏:数学建模学习笔记

1.题目

A题 信用风险识别问题

信用风险识别在金融行业和个体借贷过程中扮演着至关重要的角色。其核心任务是通过分析借款方的个人和财务信息等信息,评估其偿还贷款的能力和意愿,从而降低贷款机构的风险暴露。信用风险评价的准确性直接关系到贷款机构的资产质量和经济健康。因此,建立准确可靠的信用风险评价模型对于金融机构和借款方都具有重要意义。

在大数据背景下,信用风险评价研究中“信用风险评价指标筛选→信用风险得分测算→信用风险等级划分”各步骤均有诸多难题亟待解决。首先,在指标筛选过程中,如何建立恰当的指标筛选模型在大量可能的指标中筛选与信用风险相关性最高的指标,在确保数据全面性和准确性的同时,克服多重共线性、过度拟合等问题是难点之一;其次,实践中个体信用评价往往存在违约样本少、非违约样本多等现实情况,因而在信用得分测算过程中,如何选择适合的信用评分模型,解决模型对违约样本识别不足,并进一步平衡模型预测准确性与可解释性是又一难点;最后,在信用等级划分中,如何在确保等级划分的鲁棒性、普适性的条件下,选择恰当的阈值、聚类模型、非线性规划模型等将信用得分映射到信用等级,求解满足“信用等级越高、信用风险越低”的信用等级划分结果是又一难点。

附件1给出了UCI公开的德国信用数据集,其中编号X1-X24表示个体的个人及财务等信息指标。附件2给出了UCI公开的澳大利亚信用数据集,其中编号X1-X14表示个体的个人及财务等信息指标。请根据附件1、附件2和实际情况建立数学模型解决以下问题:

问题1  高维数据往往会为信用风险评价带来评价指标反应信息冗余等问题,请选择合适的模型对德国信用数据集进行指标筛选,以达到提升信用风险评价准确性及可解释性的目标,并给出理由。

问题2  传统线性加权方法无法准确刻画评价指标与违约风险之间的非线性关系,加之个体信用评价数据存在非违约样本多、违约样本少的不均衡分布特征,容易造成评价模型对非违约样本识别过度、违约样本识别不足的问题。请选择合适的信用评分模型揭示评价指标与个体违约风险之间的联系,求解德国信用数据集中个体信用得分,并给出理由。

问题3  随着Chat GPT等智能AI算法的发展,为信用风险准确识别带来了新的机遇。为对信用评分模型的合理性、准确性进行判别,请分别利用附件1中的德国信用数据集与附件2中的澳大利亚信用数据集,自建信用评分模型。可将所建模型与决策树(Decision Tree, DT)、K最近邻(K-Nearest Neighbor, KNN)、随机森林(Random Forest, RF)、支持向量机(Support Vector Machine, SVM)等多种现有分类模型进行对比,分析模型的判别性能。对比上述多种分类方法对不同数据集的分类效果,并将结果填入表1、表2(至少选择3类模型,3个评价准则进行对比分析)。

表1  德国信用数据集分类方法对比结果

模型

评价准则

Accuracy

AUC

Type1-error

Type2-error

你们的模型

DT

KNN

RF

SVM

表2  澳大利亚信用数据集分类方法对比结果

模型

评价准则

Accuracy

AUC

Type1-error

Type2-error

你们的模型

DT

KNN

RF

SVM

问题4  请以“信用等级越高、信用风险越低”为信用等级划分标准,构建非线性规划模型,在德国信用数据集上划分个体信用等级,并说明模型选择理由。

附件1 德国信用数据集

附件2 澳大利亚信用数据集

2.解答分析

问题1:指标筛选

1.1 问题背景

在信用风险评价中,高维数据带来的信息冗余、模型复杂度和多重共线性等问题会影响模型的准确性和解释性。因此,需要对数据进行有效的指标筛选,保留对信用风险评价最有影响力的特征,从而提升模型的性能和可解释性。

1.2 数据预处理

在进行指标筛选前,首先需要对数据进行预处理:

  • 缺失值处理:检查数据集中是否存在缺失值,并选择适当的方法进行处理(如删除缺失值、均值填补、插值等)。
  • 数据标准化/归一化:由于不同特征的量纲不同,需要对数据进行标准化或归一化处理,使其具有相同的尺度。

1.3 特征选择方法

  1. 过滤法(Filter Method)

    • 方差阈值法:删除方差较小的特征,因为这些特征对模型贡献较小。
    • 卡方检验:计算特征与目标变量之间的独立性,通过卡方统计量筛选特征。
    • 互信息法:通过计算特征与目标变量之间的信息增益选择特征。
  2. 包装法(Wrapper Method)

    • 递归特征消除(Recursive Feature Elimination, RFE):利用基模型(如逻辑回归、SVM)反复训练模型,每次去掉重要性最低的特征,直至剩下的特征数量满足要求。
  3. 嵌入法(Embedded Method)

    • LASSO回归:通过L1正则化,自动选择特征并压缩不重要的特征系数为零。
    • 决策树和随机森林:内置特征选择机制,通过计算特征的重要性得分筛选特征。

1.4 多重共线性检测

为了避免多重共线性问题,可以使用以下方法:

  • 相关性矩阵:计算特征之间的相关系数,剔除相关性高的特征。
  • 主成分分析(PCA):通过线性变换将原始特征映射到新的特征空间,提取主要成分进行建模。

1.5 实现步骤

1.数据预处理

import pandas as pd
from sklearn.preprocessing import StandardScaler

# 读取数据
data = pd.read_csv('附件1.csv')

# 处理缺失值
data = data.dropna()

# 数据标准化
scaler = StandardScaler()
data_scaled = scaler.fit_transform(data)

2.特征选择(以LASSO回归为例)

from sklearn.linear_model import LassoCV

# 定义LASSO模型
lasso = LassoCV(cv=5)

# 拟合模型
lasso.fit(data_scaled, target)

# 筛选特征
selected_features = data.columns[lasso.coef_ != 0]

问题2:信用评分模型

2.1 问题背景

传统线性加权方法无法准确刻画评价指标与违约风险之间的非线性关系,且数据存在非违约样本多、违约样本少的不均衡分布,容易导致模型对违约样本识别不足。

2.2 数据分割

将数据集分为训练集和测试集,以便于模型训练和性能评估。

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(data_scaled, target, test_size=0.3, random_state=42)
2.3 处理不平衡数据

欠采样和过采样

from imblearn.over_sampling import SMOTE
from imblearn.under_sampling import RandomUnderSampler

# 过采样
smote = SMOTE(random_state=42)
X_train_resampled, y_train_resampled = smote.fit_resample(X_train, y_train)

# 欠采样
rus = RandomUnderSampler(random_state=42)
X_train_resampled, y_train_resampled = rus.fit_resample(X_train, y_train)

模型选择与训练(以随机森林为例)

from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score, roc_auc_score, confusion_matrix

# 定义模型
rf_model = RandomForestClassifier(random_state=42)

# 训练模型
rf_model.fit(X_train_resampled, y_train_resampled)

# 预测
y_pred = rf_model.predict(X_test)

# 模型评估
accuracy = accuracy_score(y_test, y_pred)
auc = roc_auc_score(y_test, y_pred)
cm = confusion_matrix(y_test, y_pred)

print('Accuracy:', accuracy)
print('AUC:', auc)
print('Confusion Matrix:\n', cm)
2.4 模型选择与理由
  • 随机森林(Random Forest):处理非线性关系和不平衡数据效果较好,且具有较高的解释性。
  • 逻辑回归(Logistic Regression):作为基准模型进行对比。
  • SVM:在高维数据中表现良好。

问题3:模型对比

3.1 问题背景

为了评估所建信用评分模型的合理性和准确性,需要与决策树、K最近邻、随机森林、支持向量机等模型进行对比。

3.2 模型训练与验证

定义多种模型

from sklearn.tree import DecisionTreeClassifier
from sklearn.neighbors import KNeighborsClassifier
from sklearn.svm import SVC

models = {
    'Decision Tree': DecisionTreeClassifier(random_state=42),
    'KNN': KNeighborsClassifier(),
    'Random Forest': RandomForestClassifier(random_state=42),
    'SVM': SVC(probability=True, random_state=42)
}

模型训练与评估

results = []

for name, model in models.items():
    model.fit(X_train_resampled, y_train_resampled)
    y_pred = model.predict(X_test)
    accuracy = accuracy_score(y_test, y_pred)
    auc = roc_auc_score(y_test, y_pred)
    cm = confusion_matrix(y_test, y_pred)
    type1_error = cm[0][1] / (cm[0][0] + cm[0][1])
    type2_error = cm[1][0] / (cm[1][0] + cm[1][1])
    results.append((name, accuracy, auc, type1_error, type2_error))

results_df = pd.DataFrame(results, columns=['Model', 'Accuracy', 'AUC', 'Type1-error', 'Type2-error'])
print(results_df)

表格填充

根据模型评估结果,填写表1和表2,分析不同模型在两个数据集上的分类效果。

问题4:信用等级划分

4.1 问题背景

根据信用得分划分个体的信用等级,以反映其信用风险。

4.2 构建非线性规划模型

信用评分结果

# 使用训练好的模型计算信用得分
credit_scores = rf_model.predict_proba(X)[:, 1]

设定非线性规划模型

from scipy.optimize import minimize

# 定义目标函数
def objective(x):
    return -np.sum(x * credit_scores)

# 定义约束条件
def constraint1(x):
    return np.sum(x) - len(credit_scores) / 3  # 保证信用等级数量约为总数的三分之一

constraints = [{'type': 'eq', 'fun': constraint1}]

# 初始猜测
x0 = np.ones(len(credit_scores)) / 3

# 求解非线性规划问题
solution = minimize(objective, x0, method='SLSQP', constraints=constraints)

# 结果
credit_grades = solution.x

4.3 模型选择与理由

  • 聚类模型(如K-means):简单易实现,但可能不适合处理复杂非线性关系。
  • 非线性规划模型:能更好地反映实际信用风险的分布和划分。

大体框架

一、问题重述

信用风险识别在金融行业和个体借贷过程中扮演着至关重要的角色,其核心任务是通过分析借款方的个人和财务信息等,评估其偿还贷款的能力和意愿,从而降低贷款机构的风险暴露。本文基于附件1(德国信用数据集)和附件2(澳大利亚信用数据集),通过数据预处理、特征选择、信用评分模型的构建及其比较、信用等级划分等步骤,提出一种系统的信用风险评价方法。

二、数据预处理

2.1 数据读取与初步处理

首先,读取并检查数据的完整性,处理缺失值。对于连续变量,采用均值填补或中位数填补;对于分类变量,采用众数填补。数据标准化或归一化处理,使得各特征的量纲一致。

import pandas as pd
from sklearn.preprocessing import StandardScaler

# 读取数据
german_credit_data = pd.read_csv('附件1.csv')
australian_credit_data = pd.read_csv('附件2.csv')

# 处理缺失值
german_credit_data.fillna(german_credit_data.mean(), inplace=True)
australian_credit_data.fillna(australian_credit_data.mean(), inplace=True)

# 数据标准化
scaler = StandardScaler()
german_credit_data_scaled = scaler.fit_transform(german_credit_data)
australian_credit_data_scaled = scaler.fit_transform(australian_credit_data)

三、特征选择

3.1 过滤法

通过统计方法如方差阈值法、卡方检验等筛选特征。选择方差较大的特征,去除信息量少的特征。

from sklearn.feature_selection import VarianceThreshold

# 方差阈值法
selector = VarianceThreshold(threshold=0.1)
selected_features = selector.fit_transform(german_credit_data_scaled)

3.2 包装法

利用递归特征消除(RFE)方法,通过基模型评估特征的重要性。

from sklearn.feature_selection import RFE
from sklearn.linear_model import LogisticRegression

# 递归特征消除
model = LogisticRegression()
rfe = RFE(model, 10)
fit = rfe.fit(german_credit_data_scaled, german_credit_data['target'])

3.3 嵌入法

通过LASSO回归进行特征选择,通过L1正则化压缩不重要的特征系数。

from sklearn.linear_model import Lasso

# LASSO回归
lasso = Lasso(alpha=0.01)
lasso.fit(german_credit_data_scaled, german_credit_data['target'])
selected_features = german_credit_data.columns[lasso.coef_ != 0]

四、信用评分模型

4.1 数据分割

将数据集分为训练集和测试集,以便于模型训练和性能评估。

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(german_credit_data_scaled, german_credit_data['target'], test_size=0.3, random_state=42)

4.2 处理不平衡数据

使用SMOTE和欠采样技术处理数据不平衡问题。

from imblearn.over_sampling import SMOTE
from imblearn.under_sampling import RandomUnderSampler

# 过采样
smote = SMOTE(random_state=42)
X_train_resampled, y_train_resampled = smote.fit_resample(X_train, y_train)

# 欠采样
rus = RandomUnderSampler(random_state=42)
X_train_resampled, y_train_resampled = rus.fit_resample(X_train, y_train)

4.3 模型选择与训练

选择多种模型如逻辑回归、决策树、随机森林、SVM等进行训练和评估。

from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score, roc_auc_score, confusion_matrix

# 定义模型
rf_model = RandomForestClassifier(random_state=42)
rf_model.fit(X_train_resampled, y_train_resampled)

# 预测
y_pred = rf_model.predict(X_test)

# 模型评估
accuracy = accuracy_score(y_test, y_pred)
auc = roc_auc_score(y_test, y_pred)
cm = confusion_matrix(y_test, y_pred)

print('Accuracy:', accuracy)
print('AUC:', auc)
print('Confusion Matrix:\n', cm)

五、模型对比

5.1 模型训练与验证

定义多种模型进行训练和评估。

from sklearn.tree import DecisionTreeClassifier
from sklearn.neighbors import KNeighborsClassifier
from sklearn.svm import SVC

models = {
    'Decision Tree': DecisionTreeClassifier(random_state=42),
    'KNN': KNeighborsClassifier(),
    'Random Forest': RandomForestClassifier(random_state=42),
    'SVM': SVC(probability=True, random_state=42)
}

results = []

for name, model in models.items():
    model.fit(X_train_resampled, y_train_resampled)
    y_pred = model.predict(X_test)
    accuracy = accuracy_score(y_test, y_pred)
    auc = roc_auc_score(y_test, y_pred)
    cm = confusion_matrix(y_test, y_pred)
    type1_error = cm[0][1] / (cm[0][0] + cm[0][1])
    type2_error = cm[1][0] / (cm[1][0] + cm[1][1])
    results.append((name, accuracy, auc, type1_error, type2_error))

results_df = pd.DataFrame(results, columns=['Model', 'Accuracy', 'AUC', 'Type1-error', 'Type2-error'])
print(results_df)

六、信用等级划分

6.1 构建非线性规划模型

利用优化方法进行信用等级划分,设定目标函数和约束条件。

from scipy.optimize import minimize

# 定义目标函数
def objective(x):
    return -np.sum(x * credit_scores)

# 定义约束条件
def constraint1(x):
    return np.sum(x) - len(credit_scores) / 3

constraints = [{'type': 'eq', 'fun': constraint1}]
x0 = np.ones(len(credit_scores)) / 3

# 求解非线性规划问题
solution = minimize(objective, x0, method='SLSQP', constraints=constraints)
credit_grades = solution.x

七、模型评价与展望

7.1 模型的优点

  • 结合多种特征选择方法,提升了模型的准确性和解释性。
  • 处理了数据不平衡问题,增强了模型的鲁棒性。
  • 多模型对比验证,确保了模型的可靠性。

7.2 模型的缺点

  • 部分模型在处理高维数据时可能存在过拟合风险。
  • 需要更多的数据和计算资源进行进一步优化。

7.3 展望

  • 未来可以考虑引入更多的特征选择方法和模型优化技术。
  • 进一步优化模型参数,提高模型的预测性能。
  • 探索新的算法和技术,如深度学习,进一步提升信用风险评价的准确性。

总结概括各个步骤

一、问题重述

本文的目标是通过数学建模解决信用风险评价问题,基于德国信用数据集和澳大利亚信用数据集,进行特征选择、信用评分模型的构建与比较,以及信用等级划分。以下是各个问题的详细分析和解答步骤。

二、数据预处理

  1. 数据读取与初步处理
    • 读取德国信用数据集和澳大利亚信用数据集。
    • 检查数据的完整性,处理缺失值。对于连续变量,可以采用均值填补或中位数填补;对于分类变量,采用众数填补。
    • 对数据进行标准化或归一化处理,以确保各特征具有相同的尺度。

三、特征选择

  1. 过滤法

    • 通过方差阈值法、卡方检验等统计方法筛选特征,去除信息量少的特征,保留方差较大的特征。
  2. 包装法

    • 利用递归特征消除(RFE)方法,通过基模型评估特征的重要性,逐步去除不重要的特征。
  3. 嵌入法

    • 通过LASSO回归进行特征选择,使用L1正则化压缩不重要的特征系数,将其系数压缩为零。

四、信用评分模型

  1. 数据分割

    • 将数据集分为训练集和测试集,以便于模型训练和性能评估。
  2. 处理不平衡数据

    • 使用SMOTE(合成少数类过采样技术)和欠采样技术处理数据的不平衡问题,增强模型对少数类样本的识别能力。
  3. 模型选择与训练

    • 选择多种模型如逻辑回归、决策树、随机森林、SVM等进行训练和评估,选择表现最佳的模型。
  4. 模型评估

    • 通过计算Accuracy、AUC、混淆矩阵、Type1-error和Type2-error等指标,评估各模型的性能。

五、模型对比

  1. 模型训练与验证

    • 定义多种模型(如决策树、K最近邻、随机森林、支持向量机)进行训练和评估,比较其在测试集上的表现。
  2. 结果对比分析

    • 根据模型的评估结果,对比不同模型的分类效果,分析各模型在德国信用数据集和澳大利亚信用数据集上的表现,填写结果表格,进行对比分析。

六、信用等级划分

  1. 构建非线性规划模型

    • 利用优化方法进行信用等级划分,设定目标函数和约束条件,求解最优解。
  2. 模型实现与评估

    • 使用求解器(如Gurobi、CPLEX)进行优化,将信用得分映射到信用等级,确保等级划分结果的合理性和鲁棒性。

七、模型评价与展望

  1. 模型的优点

    • 结合多种特征选择方法,提升了模型的准确性和解释性。
    • 处理了数据不平衡问题,增强了模型的鲁棒性。
    • 多模型对比验证,确保了模型的可靠性。
  2. 模型的缺点

    • 部分模型在处理高维数据时可能存在过拟合风险。
    • 需要更多的数据和计算资源进行进一步优化。
  3. 展望

    • 未来可以考虑引入更多的特征选择方法和模型优化技术。
    • 进一步优化模型参数,提高模型的预测性能。
    • 探索新的算法和技术,如深度学习,进一步提升信用风险评价的准确性。

通过上述步骤,信用风险评价方法,包括数据预处理、特征选择、信用评分模型的构建及其比较、信用等级划分等多个方面,旨在提升信用风险评价的准确性和可靠性。

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

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

相关文章

『 Linux 』线程池与 POSIX 线程的封装编码实现

文章目录 线程池概念线程池的编码实现线程池的测试参考代码 线程的封装使用测试封装后的线程参考代码 线程池概念 池化技术是一种资源管理方法,通过预先创建和管理一组资源以便在需要使用时快速分配这些资源; 线程池是池化技术的一种典型应用; 资源分配 在线程池中预先创建一定…

【python015】常见成熟AI-图像识别场景算法清单(已更新)

1.欢迎点赞、关注、批评、指正,互三走起来,小手动起来! 【python015】常见成熟AI-图像识别场景算法清单及代码【python015】常见成熟AI-图像识别场景算法清单及代码【python015】常见成熟AI-图像识别场景算法清单及代码文章目录 1.背景介绍2.`Python`版数据爬取、解析代码2.…

鸿蒙应用框架开发【画中画效果实现】 UI框架

画中画效果实现 介绍 本示例通过kit.ArkUI、kit.MediaKit等接口,实现了视频播放、手动和自动拉起画中画、画中画窗口控制视频播放和暂停等功能。 效果预览 使用说明 在主界面,可以点击对应视频按钮进入视频播放页面;视频播放页面点击开启…

三星One UI 7.0引入苹果的几大特色功能,iOS用户都羡慕哭了

在智能手机操作系统的创新之路上,苹果iOS系统的Dynamic Island和Live Activities功能无疑为用户带来了全新的交互体验。 现在,三星One UI 7.0系列的即将发布,似乎预示着安卓阵营也将迎头赶上,甚至可能在某些方面超越苹果。以下是…

AcWing-AcWing 837. 连通块中点的数量

在原来并查集的基础上增加一个Size数组,Size的初始化是必须先每个元素初始化为1 Size只对根节点有效,比如Size[find(1)]就是找1的祖先节点,然后访问祖先节点的个数。当我们联通a点和b点时,如果已经是联通状态了,那么无…

深度解读:等保测评标准与实践指南

在信息时代,数据安全与隐私保护成为企业和组织不可忽视的关键议题。等保测评,即信息安全等级保护测评,作为我国信息安全管理体系的重要组成部分,为各行业提供了标准化的安全评估与改进路径。本文旨在深度解读等保测评标准的核心要…

探索Python日期时间的宝藏:`dateutil`库的神秘面纱

文章目录 探索Python日期时间的宝藏:dateutil库的神秘面纱背景:为何选择dateutil?dateutil是什么?如何安装dateutil?简单函数介绍与使用parse函数:智能日期时间解析relativedelta:计算相对日期t…

一个超强的Python机器学习超参优化库

在机器学习模型的训练过程中,选择合适的超参数对模型性能的提升至关重要。超参数优化是指在给定的超参数空间内,找到一组能够使模型表现最佳的超参数组合。虽然有许多方法可以用来进行超参数优化,但在本文中,我们将重点介绍一个强大且易用的库——Optuna。 什么是Optuna?…

顺序表、单链表、顺序栈,链栈的基本运算

目录 顺序表的基本运算 单链表的基本运算 顺序栈的基本运算 链栈的基本运算 线性表的9个基本运算&#xff1a; 栈的6个基本运算&#xff1a; 顺序表的基本运算 //顺序表的基本运算************************************************************** #include<stdio…

通过yfinance获取股票历史数据

以比亚迪为例&#xff0c;要获取A股比亚迪的十年的历史数据并保存为CSV文件&#xff0c;我们可以使用Python中的第三方库如pandas和yfinance。yfinance库是一个用于下载雅虎财经数据的工具&#xff0c;它支持股票、期权等金融工具的数据获取。 1.安装yfinance和pandas 首先&a…

云服务器带宽什么意思?如何正确选择

云服务器带宽什么意思?云服务器带宽指的是云服务器在互联网上的数据传输能力。就像水流通过水管一样&#xff0c;数据通过所谓的“带宽”在网络中流动。这个带宽越大&#xff0c;每秒能够传输的数据就越多&#xff0c;对大量访问处理的能力也就越强。云服务器带宽是云服务器可…

【开源项目】基于RTP协议的H264码流发送器和接收器

RTP协议 1. 概述1.1 RTP协议1.2 RTP和UDP的关系 2. RTP打包H264码流2.1 RTP单一传输2.2 RTP分片传输2.3 RTP多片合入传输 3.工程3.1 头文件3.1.1 rtp.h3.1.2 utils.h 3.2 cpp文件3.2.1 rtp.cpp3.2.2 utils.cpp 4.测试5.小结 参考&#xff1a; 视音频数据处理入门&#xff1a;UD…

Arco Design 之Table表格

此篇文章为table表格示例&#xff0c;包含列、data数据、展开、选中、自定义等相关属性 基础表格 <a-table :columns"columns1" :data"tableData1" />const columns1 [{ title: "编号", dataIndex: "no"},{ title: "名称…

Linux线程2

线程相关函数 线程分离--pthread_detach&#xff08;后面会详细讲&#xff09; 函数原型&#xff1a;int pthread_datach(pthread_t thread); 调用该函数之后不需要 pthread_join 子线程会自动回收自己的PCB 杀死&#xff08;取消&#xff09;线程--pthread_cancel 取…

自动驾驶将驶向何方?大模型(World Models)自动驾驶综述

前言 自动驾驶系统的开发是一个技术与哲学的双重挑战&#xff0c;核心在于模拟人类的直觉推理和常识。尽管机器学习在模式识别上取得了进展&#xff0c;但在复杂情境下仍存在局限。人类决策基于感官感知&#xff0c;但能预见行动结果和预判变化&#xff0c;这是机器难以复制的…

欧科云链受邀参与EDCON 大会,听听OKLink为开发者带来哪些惊喜?

一年一度的 EDCON 大会于 7 月底在位于东京的联合国大学盛大举行。OKLink 与 Polygon 联手为来自全球各地的数千名开发者打造开放空间&#xff0c;带来多场精彩的主题分享&#xff0c;让开发者得以在上手体验的同时获取到关于最新开发工具的全面信息。 在论坛环节中&#xff0…

[Docker][Docker Container]详细讲解

目录 1.什么是容器&#xff1f;2.容器命令1.docker creatre2.docker run3.docker ps4.docker logs5.docker attach6.docker exec7.docker start8.docker stop9.docker restart10.docker kill11.docker top12.docker stats13.docker container inspect14.docker port15.docker c…

0730评价项目 实现数据库行转列查询

0730评价项目包-CSDN博客 数据库字段&#xff1a; 实现业务&#xff1a; 1&#xff09;查询对应部门&#xff0c;年份的员工季度评价信息&#xff1a; 对应sql语句&#xff1a; 使用 group by 和 GROUP_CONCAT 关键字进行行转列&#xff0c; case when 后接关联条件&#xf…

【Py/Java/C++三种语言详解】LeetCode 1334、LeetCode1334. 阈值距离内邻居最少的城市【全源最短路问题Floyd算法】

可上 欧弟OJ系统 练习华子OD、大厂真题 绿色聊天软件戳 od1441了解算法冲刺训练&#xff08;备注【CSDN】否则不通过&#xff09; 文章目录 相关推荐阅读**一、题目描述****二、题目解析****三、参考代码**PythonJavaC **四、时空复杂度**华为OD算法/大厂面试高频题算法练习冲刺…

webstorm配置项目Typescript编译环境

使用npm命令安装typeScript编译器 npm install typescript -g 安装好&#xff0c;在命令行可以查看编译器的版本 tsc --version 用Webstorm打开一个Typescript的项目。为TypeScript文件更改编译设置&#xff0c;File->Settings->toosl -> File Watchers->TypeScri…