2023年第三届中国高校大数据挑战赛第二场赛题D题赛题:行业职业技术培训能力评价(成品论文 代码与思路 视频讲解)

news2024/11/16 3:42:26

赛题

中国是制造业大国,产业门类齐全,每年需要培养大量的技能娴熟的技术工人进入工厂。某行业在全国有多所不同类型(如国家级、省级等)的职业技术培训学校,进行 5 种技能培训。学员入校时需要进行统一的技能考核(称作“入校考核”),培训结束后再次进行统一考核(称作“离校考核”)并根据该考核成绩总分位次颁发级别不等的职业技术资格证和工作推荐 。与此同时,行业主管部门还需要根据考核成绩对培训学校的培训效果进行评价。

长期以来,该行业主管部门都是以学员离校考核成绩来评价培训学校的培训能力。这种评价制度显然有瑕疵,因为学员最终的考核成绩不仅仅是由于培训学校的培训能力导致的,还有学员的素质等其他因素,这使得部分培训学校不是把主要精力放在技能培训方法方式的改进上面,而是去抓生源质量。这样会最终加剧培训效果的不均衡, 并会挫伤大多数培训学校和培训教员的工作积极性,影响了学校改进培训教学管理的积极性,导致总体培训质量下降。因此,在对不同类型的培训学校进行公正合理的培训能力评价是一件很有意义的事情。附件数据给出了 6 个类型、160 个培训学校 32165 个学员的入学、离校的 5 种技能考核和总分成绩。为了便于比较和研究,所有数据已经进行数据标准化。

请你查阅相关文献,改造或独创性的运用大数据科学与技术方法,解决以下问题。

  1. 般而言,入学的各技能考核成绩与对应的离校考核成绩绩可能存在着或多或少或无的关联性。请你对此进行分析。

  2. 不同的培训学校有不同的生源质量、学校办学条件、学校师资水平等的差异,仅仅用离校考核成绩的高低无法真正有效的体现一个学校的真正的培训能力。请你运用附件数据,阐明什么类型的培训学校,具体哪些培训学校在培训能力上面有较高的水平?请给不同类型的培训学校培训能力进行排序,以及给出培训能力前 10 的学校编号。

  3. 每个培训学校有不同的特色,如有些培训学校技能 1 的培训能力很好,而有些学校可能是技能 2 的培训能力上有优势。请问, 哪些培训学校分别在哪种技能培训能力上有特色?每种技能列出前 5 名的学校编号。4.

4.假设行业主管部门计划给 10000 名学员颁发职业资格证书。请问,哪些因素对获取职业资格证书有着非常重要的影响?数据表中最后有 10 名学员的离校考核成绩被删除,请你判断他们能否获取职业资格证?如果职业资格证分为一级和二级(一、二级比例为 1:3),那这 10 名学员中谁能获取一级职业资格证书?

问题分析

问题 1 分析:使用相关性分析(如皮尔逊或斯皮尔曼相关系数)来建立入学和离校考核成绩之间的关系。
问题 2 分析:使用boost模型构建一个模型来衡量学校的培训效果,控制学员入学时的技能水平。
问题 3 分析:对于每个技能,使用问题 2 的方法分别评估学校的表现,识别每种技能培训能力最强的学校。
问题 4 分析:利用随机森林模型来预测学员是否能获得职业资格证书,以及其等级。

python代码

# 导入数据
file_path = '赛题数据.xlsx'

try:
    data_xlsx = pd.ExcelFile(file_path)
    
    sheet_names = data_xlsx.sheet_names
    
    data_preview = pd.read_excel(data_xlsx, sheet_name=sheet_names[0], nrows=5)
    
    (sheet_names, data_preview)
except Exception as e:
    str(e)
sheets_data = {}
for sheet_name in sheet_names:
    try:
        sheets_data[sheet_name] = pd.read_excel(data_xlsx, sheet_name=sheet_name, nrows=5)
    except Exception as e:
        sheets_data[sheet_name] = str(e)

sheets_data.keys(), {sheet_name: sheets_data[sheet_name].head() for sheet_name in sheets_data.keys()}

在这里插入图片描述

#皮尔逊相关性计算
data = pd.read_excel(data_xlsx, sheet_name='Sheet1')


correlations = data[['入学技能1考核成绩', '入学技能2考核成绩', '入学技能3考核成绩', '入学技能4考核成绩', '入学技能5考核成绩', '入学考核总分成绩',
                     '离校技能1考核成绩', '离校技能2考核成绩', '离校技能3考核成绩', '离校技能4考核成绩', '离校技能5考核成绩', '离校考核总分成绩']].corr()


correlations_select = correlations.loc[['入学技能1考核成绩', '入学技能2考核成绩', '入学技能3考核成绩', '入学技能4考核成绩', '入学技能5考核成绩', '入学考核总分成绩'],
                                       ['离校技能1考核成绩', '离校技能2考核成绩', '离校技能3考核成绩', '离校技能4考核成绩', '离校技能5考核成绩', '离校考核总分成绩']]


correlations_select

在这里插入图片描述

from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler

# 选择特征和标签
X = data[['入学技能1考核成绩', '入学技能2考核成绩', '入学技能3考核成绩', '入学技能4考核成绩', '入学技能5考核成绩']]
y = data['离校考核总分成绩']

# 标准化特征数据
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

# 分割数据集为训练集和测试集,测试集大小设置为20%
X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.2, random_state=42)

X_train.shape, X_test.shape, y_train.shape, y_test.shape

在这里插入图片描述

from sklearn.ensemble import GradientBoostingRegressor
from sklearn.metrics import mean_squared_error
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号
# 填充目标变量中的缺失值
y_filled = data['离校考核总分成绩'].fillna(data['离校考核总分成绩'].median())

# 选择特征和已填充缺失值的目标变量
X = data[['入学技能1考核成绩', '入学技能2考核成绩', '入学技能3考核成绩', '入学技能4考核成绩', '入学技能5考核成绩']]
y = y_filled

# 标准化特征数据
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

# 分割数据集为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.2, random_state=42)

# 训练梯度提升回归模型
gbrt = GradientBoostingRegressor(n_estimators=200, learning_rate=0.01, max_depth=6, random_state=42)
gbrt.fit(X_train, y_train)

# 进行预测
y_pred_train = gbrt.predict(X_train)
y_pred_test = gbrt.predict(X_test)

# 计算训练集和测试集的均方误差
mse_train = mean_squared_error(y_train, y_pred_train)
mse_test = mean_squared_error(y_test, y_pred_test)

print(f"Training MSE: {mse_train}")
print(f"Test MSE: {mse_test}")

# 绘制实际值与预测值的比较图
plt.figure(figsize=(10, 6))
plt.scatter(y_test, y_pred_test, alpha=0.6)
plt.plot([y_test.min(), y_test.max()], [y_test.min(), y_test.max()], 'k--', lw=4)
plt.title('实际值 vs. 预测值')
plt.xlabel('实际值')
plt.ylabel('预测值')
plt.show()

在这里插入图片描述

import matplotlib.pyplot as plt

feature_importances = rfc.feature_importances_
features = X.columns

# 排序特征重要性
sorted_idx = np.argsort(feature_importances)[::-1]

plt.figure(figsize=(10, 6))
plt.title("特征重要性")
plt.bar(range(X.shape[1]), feature_importances[sorted_idx], align="center")
plt.xticks(range(X.shape[1]), features[sorted_idx], rotation=45)
plt.xlim([-1, X.shape[1]])
plt.show()

from sklearn.metrics import confusion_matrix
import seaborn as sns

# 计算混淆矩阵
cm = confusion_matrix(y_test, y_pred)

plt.figure(figsize=(8, 6))
sns.heatmap(cm, annot=True, fmt="d", cmap="Blues", xticklabels=['不获得', '二级证书', '一级证书'], yticklabels=['不获得', '二级证书', '一级证书'])
plt.ylabel('实际类别')
plt.xlabel('预测类别')
plt.title('混淆矩阵')
plt.show()

在这里插入图片描述
在这里插入图片描述

from sklearn.metrics import classification_report

report = classification_report(y_test, y_pred, target_names=['不获得', '二级证书', '一级证书'])
print(report)

在这里插入图片描述

B站附上详细视频讲解

在这里插入图片描述

在这里插入图片描述

完整论文限量销售(限量销售,足够一二等奖)

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

Python之禅——跟老吕学Python编程

Python之禅——跟老吕学Python编程 Python之禅1.**Beautiful is better than ugly.**2.**Explicit is better than implicit.**3.**Simple is better than complex.**4.**Complex is better than complicated.**5.**Flat is better than nested.**6.**Spare is better than den…

每日学习笔记:C++ STL 的List

定义 特点 操作函数 关于c.merge(c2)的分析,详见: 。。。。 C list merge()用法及代码示例 - 纯净天空 (vimsky.com) 异常安全性 运用实例

WPF Button去除按钮边框,添加下划线

<Button Width"45" Height"25" FontSize"20" Background"Transparent" BorderBrush"Transparent" Foreground"#FFC9A322" Click"Btn_Retry_Click" ><TextBlock><Underline>重试</…

Redis常见数据类型下

目录 Hash 哈希 常用指令 HSET HGET HEXISTS HDEL HKEYS HVALS HGETALL HMGET 内部编码 Hash类型和关系型数据库 缓存方式对比 List 列表 特点 常用命令 LPUSH LPUSHX RPUSH RPUSHX LRANGE LPOP / RPOP LINDEX LINSERT 阻塞(BLOCK)版…

STM32存储左右互搏 SPI总线读写SD/MicroSD/TF卡

STM32存储左右互搏 SPI总线读写SD/MicroSD/TF卡 SD/MicroSD/TF卡是基于FLASH的一种常见非易失存储单元&#xff0c;由接口协议电路和FLASH构成。市面上由不同尺寸和不同容量的卡&#xff0c;手机领域用的TF卡实际就是MicroSD卡&#xff0c;尺寸比SD卡小&#xff0c;而电路和协…

中兴服务器R6900 G5实力领先,有效助力大模型训练

日前&#xff0c;中兴通讯推出专为大规模模型训练而设计的旗舰GPU服务器—R6900 G5。据悉&#xff0c;该中兴服务器具备卓越的计算性能、高速网络通信能力以及创新的能效表现&#xff0c;有望为人工智能和深度学习等领域带来全新的突破。 R6900 G5搭载了中兴通讯最新一代的英特…

开源的java视频处理库介绍

本文将为您详细讲解 Java 开源的视频处理库&#xff0c;以及它们的特点、区别和应用场景。Java 社区提供了多种视频处理库&#xff0c;这些库可以帮助您在 Java 应用程序中实现视频的录制、编辑、转换和播放等功能。 1. JCodec 特点 - 基于 Java 的视频编解码库。 - 支…

嵌入式C语言(八)

继续来看看新的属性&#xff1a;weak 这个符号知道是弱&#xff0c;但是这个是干嘛的呢&#xff1f;我们先来学习一下强符号和弱符号 强符号和弱符号 GNU C通过weak属性声明&#xff0c;**可以将一个强符号转换为弱符号。**使用方法如下。 void __attribute__((weak)) func(…

【OpenGL手册15】 多光源

目录 一、说明二、定向光三、点光源四、合并结果练习 一、说明 我们在前面的教程中已经学习了许多关于OpenGL中光照的知识&#xff0c;其中包括冯氏着色(Phong Shading)、材质(Material)、光照贴图(Lighting Map)以及不同种类的投光物(Light Caster)。在这一节中&#xff0c;我…

回收站删除的文件怎么恢复?这3个方法可行!

“求助&#xff01;回收站删除的文件还有没有机会恢复呀&#xff1f;我不小心将回收站清空了&#xff0c;但是有一些很重要的文件还在里面&#xff0c;应该怎么恢复它们啊&#xff01;” 在使用电脑的过程中&#xff0c;我们难免会遇到误删文件的情况。而当文件被删除并清空回收…

c++: 引用能否替代指针? 详解引用与指针的区别.

文章目录 前言1. 引用和指针的最大区别:引用不能改变指向2. 引用和指针在底层上面是一样的3. 引用和指针在sizeof面前大小不同4. 有多级指针,没有多级引用5.引用是引用的实体,指针会向后偏移同一个类型的大小 总结 前言 新来的小伙伴如果不知道引用是什么?可以看我的上一篇文…

Kubernetes | 起源 | 组件详解

起源 起源&#xff1a; Kubernetes&#xff08;常简称为K8s&#xff09;起源于Google内部的Borg项目&#xff0c;是一个开源的容器编排引擎&#xff0c;于2014年首次对外发布。 Google Borg Google Borg 是 Google 内部开发和使用的大规模集群管理系统&#xff0c;用于管理和运…

锐捷 EWEB auth 远程命令执行漏洞复现

一、漏洞信息 漏洞名称:锐捷 EWEB auth 远程命令执行漏洞 漏洞类别:远程代码执行 风险等级:高危 二、漏洞描述 锐捷睿易是锐捷网络针对商业市场的子品牌。拥有易网络、交换机、路由器、无线、安全、云服务六大产品线,解决方案涵盖商贸零售、酒店、KTV、网吧、监控安防…

GPT出现Too many requests in 1 hour. Try again later.

换节点 这个就不用多说了&#xff0c;你都可以上GPT帐号了&#xff0c;哈…… 清除cooki 然后退出账号&#xff0c;重新登录即可

KBL610-ASEMI开关电源专用KBL610

编辑&#xff1a;ll KBL610-ASEMI开关电源专用KBL610 型号&#xff1a;KBL610 品牌&#xff1a;ASEMI 封装&#xff1a;KBL-4 最大重复峰值反向电压&#xff1a;1000V 最大正向平均整流电流(Vdss)&#xff1a;6A 功率(Pd)&#xff1a;中小功率 芯片个数&#xff1a;4 …

encoding和embedding的区别

本文作者&#xff1a; slience_me 文章目录 encoding和embedding的区别EmbeddingEncoding总结 encoding和embedding的区别 “Embedding” 和 “Encoding” 是两个在计算机科学和机器学习领域中常用的术语&#xff0c;它们虽然有些相似&#xff0c;但指代的概念和用途有所不同。…

国创证券|lpr下调25个基点是多少?lpr下调对股市债市有什么影响?

lpr是借款市场报价利率&#xff0c;其间lpr下调25个基点是指lpr利率下降0.25%&#xff0c;比方&#xff0c;下调之前五年期以上的lpr为4.2%&#xff0c;下调25个基点之后&#xff0c;变为3.95%。 lpr下调对股市债市存在以下影响&#xff1a; 1、券商股 借款利率下降&#xf…

发现创作灵感的聚集地:乐歌M9G与M9S升降办公台对比解析

在现代工作环境中&#xff0c;全天待在桌前的时间已经超过了其他的项目&#xff0c;尤其是以编程开发、动画设计为主的互联网从业者&#xff0c;工作量的增加&#xff0c;会导致颈椎和腰椎僵硬&#xff0c;根据人工工程学提出的人与环境之间的协调关系&#xff0c;对于上班一族…

ssm蛋糕甜品商城系统(程序+文档+数据库)

** &#x1f345;点赞收藏关注 → 私信领取本源代码、数据库&#x1f345; 本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目&#xff0c;希望你能有所收获&#xff0c;少走一些弯路。&#x1f345;关注我不迷路&#x1f345;** 一、研究背景…

场的概念---数量场(标量场)和矢量场介绍理解

目录 一、场的概念 二、场的分类 三、数量场&#xff08;标量场&#xff09;的等值面 四、矢量场中的矢量线 矢量线方程推导&#xff1a; 一、场的概念 场在数学上是指一个向量到另一个向量或数的映射。场指物体在空间中的分布情况。场是用空间位置函数来表征的。在物理学…