和鲸社区数据分析每周挑战【第九十二期:学生成绩影响因素分析】

和鲸社区数据分析每周挑战【第九十二期:学生成绩影响因素分析】

文章目录

  • 和鲸社区数据分析每周挑战【第九十二期:学生成绩影响因素分析】
    • 一、前言
    • 二、数据读取和初步探索
    • 三、数据预处理
      • 1、处理缺失值
      • 2、类别变量转换
    • 四、学业表现可视化
      • 1、绘制数学成绩分布图
      • 2、绘制相关性矩阵
    • 五、学生成绩影响因素分析
    • 六、学生成绩预测分析
    • 七、确定最重要的影响因素

一、前言

本周的挑战内容为:学生成绩影响因素分析

大家可以去我的工作台运行这个项目。

在这里插入图片描述

下面是和鲸社区活动报名地址:https://www.heywhale.com/home/activity/detail/60ffe026e9eceb001727cfac/content/1

数据集来源本次活动提供:

在这里插入图片描述

在这里插入图片描述

二、数据读取和初步探索

import pandas as pd
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error# 加载数据集
data = pd.read_csv('D:\和鲸社区数据分析每周挑战\第九十二期:学生成绩影响因素分析\Students_Exam_Scores.csv', encoding='gbk')
data.head()  # 查看前几行数据

在这里插入图片描述

data.info()  # 查看数据的基本信息
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 30641 entries, 0 to 30640
Data columns (total 15 columns):#   Column    Non-Null Count  Dtype  
---  ------    --------------  -----  0   序号        30641 non-null  int64  1   性别        30641 non-null  object 2   分组        28801 non-null  object 3   父母教育背景    28796 non-null  object 4   午餐类型      30641 non-null  object 5   完成备考课程    28811 non-null  object 6   父母婚恋状态    29451 non-null  object 7   参与运动的频率   30010 non-null  object 8   是否是第一个孩子  29737 non-null  object 9   兄弟姐妹数量    29069 non-null  float6410  上学交通工具    27507 non-null  object 11  每周自习时间    29686 non-null  object 12  数学成绩      30641 non-null  int64  13  阅读成绩      30641 non-null  int64  14  写作成绩      30641 non-null  int64  
dtypes: float64(1), int64(4), object(10)
memory usage: 3.5+ MB

三、数据预处理

1、处理缺失值

data.fillna({'分组': 'Unknown', '每周自习时间': 'Unknown'}, inplace=True)

2、类别变量转换

data = pd.get_dummies(data, columns=['性别', '分组', '父母教育背景', '午餐类型', '完成备考课程', '父母婚恋状态', '参与运动的频率', '是否是第一个孩子', '上学交通工具', '每周自习时间'])
data.head()

在这里插入图片描述

四、学业表现可视化

1、绘制数学成绩分布图

#隐藏警告
import warnings
warnings.filterwarnings("ignore")               #忽略警告信息
plt.rcParams['font.sans-serif']  = ['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False      # 用来正常显示负号
plt.rcParams['figure.dpi']  = 100        #分辨率data[['数学成绩', '阅读成绩', '写作成绩']].plot(kind='hist', bins=10, alpha=0.5)
plt.xlabel('成绩')
plt.ylabel('频数')
plt.title('学业表现分布')
plt.show()

在这里插入图片描述

2、绘制相关性矩阵

correlation_matrix = data[['数学成绩', '阅读成绩', '写作成绩']].corr()
plt.imshow(correlation_matrix, cmap='coolwarm', interpolation='nearest')
plt.colorbar()
plt.xticks(range(len(correlation_matrix.columns)), correlation_matrix.columns, rotation=45)
plt.yticks(range(len(correlation_matrix.columns)), correlation_matrix.columns)
plt.title('相关矩阵')
plt.show()

在这里插入图片描述

五、学生成绩影响因素分析

# 相关性分析
correlation = data[['数学成绩', '阅读成绩', '写作成绩']].corr()
correlation

在这里插入图片描述

六、学生成绩预测分析

from sklearn.impute import SimpleImputerfeatures = data.drop(columns=['数学成绩', '阅读成绩', '写作成绩'])
target = data[['数学成绩', '阅读成绩', '写作成绩']]# 处理缺失值
imputer = SimpleImputer(strategy='mean')
features = imputer.fit_transform(features)# 数据拆分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(features, target, test_size=0.2, random_state=42)# 构建线性回归模型
model = LinearRegression()
model.fit(X_train, y_train)# 在测试集上进行预测
y_pred = model.predict(X_test)# 评估模型性能
mse = mean_squared_error(y_test, y_pred)
print('均方误差:', mse)# 绘制预测值与真实值的散点图
plt.scatter(y_test['数学成绩'], y_pred[:, 0], alpha=0.5)
plt.xlabel('真实值')
plt.ylabel('预测值')
plt.title('数学成绩预测')
plt.show()
均方误差: 162.8193907568781

在这里插入图片描述

七、确定最重要的影响因素

# 获取特征重要性(系数)
# 获取特征列名
feature_names = data.columns[:-3]
feature_importance = pd.DataFrame({'特征': feature_names, '重要性': model.coef_[0]})
feature_importance.sort_values(by='重要性', ascending=False, inplace=True)
feature_importance

在这里插入图片描述

# 绘制特征重要性条形图
plt.barh(feature_importance['特征'], feature_importance['重要性'])
plt.xlabel('重要性')
plt.ylabel('特征')
plt.title('特征-重要性')
plt.show()

在这里插入图片描述

top_features = feature_importance.nlargest(3, '重要性')  # 获取最重要的3个特征
top_features

在这里插入图片描述

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

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

相关文章

IP-GUARD如何将触发策略的报警信息按照一定周期发送到指定邮箱?

如何将触发策略的报警信息按照一定周期发送到指定邮箱&#xff1f; 1、设置邮件服务器 控制台菜单【工具】-【选项】-【邮件报告服务器设置】中&#xff0c;设置好邮件服务器&#xff1b; 2、邮件报告设置 控制台菜单【工具】-【邮件报告设置】中&#xff0c;新建邮件配置&am…

【计算机网络】根据IP地址计算网络地址

最近笔试遇到这种题型比较多&#xff0c;网工人落泪。。 题目1 已知IP地址为&#xff1a;10.145.129.20&#xff0c;子网掩码为&#xff1a;255.255.248.0&#xff0c;求广播地址 # 计算步骤&#xff0c;将子网掩码转化成二进制 255.255.248.0 11111111.11111111.11111000.0…

ip地址的分类与划分

1.IP地址介绍 IP地址由网络号与主机号两部分共32位组成&#xff0c;总共4段&#xff0c;每段用“.”隔开&#xff0c;被称为“点分十进制表示法”&#xff0c;如&#xff1a;192.168.1.1 2、IP地址分类 注&#xff1a;A类地址子网号:0-127&#xff0c;其中0代表任何地址&…

VMware vSphere 8.0 Update 1a 正式版发布 - 企业级工作负载平台

VMware vSphere 8.0 Update 1a 正式版发布 - 企业级工作负载平台 ESXi 8.0 U1 & vCenter Server 8.0 U1 请访问原文链接&#xff1a;https://sysin.org/blog/vmware-vsphere-8-u1/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;sy…

秒杀助手 - 秒杀神器 2018 双11 特别版

欢迎使用Markdown编辑器写博客 下载用的早早省秒杀神器&#xff0c;可以自动秒杀淘宝、天猫聚划算上的商品&#xff08;秒杀助手&#xff09;是一款 浏览器插件。 能够最大程度的减少秒杀失误概率 支持网站&#xff1a;miaosha.taobao.cm、聚划算&#xff08;ju.taobao.com&…

【python教程】揭秘京东|淘宝秒杀抢购背后的黑幕,为什么你总抢不到商品?

前言 我们的目标是秒杀淘宝或京东等的订单&#xff0c;这里面有几个关键点&#xff0c;首先需要登录淘宝或京东&#xff0c;其次你需要准备好订单&#xff0c;最后要在指定时间快速提交订单。 这里就要用到一个爬虫利器Selenium&#xff0c;Selenium是一个用于Web应用程序测试…

秒杀(小米网抢购系统开发实践--“米粉节”背后的故事)

摘要&#xff1a;今年4月的“米粉节”对小米网来说意义非凡&#xff0c;是其彻底重构后迎来的一次全面压力测试&#xff0c;涉及网站前端、后台系统、仓储物流、售后等各环节。高并发的负载能力、稳定性、准确性等已不是问题&#xff0c;灵活性与可运营性成为关键。 2014年的米…

商城限时秒杀抢购系统

1 秒杀业务分析 正常电子商务流程 &#xff08;1&#xff09;查询商品&#xff1b;&#xff08;2&#xff09;创建订单&#xff1b;&#xff08;3&#xff09;扣减库存&#xff1b;&#xff08;4&#xff09;更新订单&#xff1b;&#xff08;5&#xff09;付款&#xff1b;&…

抢购软件使用方法(如何开发抢购软件)

如果做抢购软件的话需要好的协议以及算法&#xff0c;我用的这份协议目前非常稳定&#xff0c;所以今天给大家讲解下抢购软件的流程以及使用方法 01软件设置选项详解 一、无障碍服务 二、使用网路时间 软件第一行一般都是当前设备比XX慢了&#xff08;快了&#xff09;XXms&…

【超详细Python秒杀代码】京东淘宝抢购通用

由于之前手动抢购枪神7超竞连续失败两次后怒学脚本抢购&#xff0c;今天给大家分享一期超简单直观好用的Python脚本。 &#xff01;&#xff01;此代码目前仅适用于可以加入购物车的商品 直接上代码&#xff01; import datetime import time from selenium import webdriver #…

淘宝抢购

淘宝购物代码 一、前言二、Pythonpycharm的安装1. python安装包下载地址&#xff1a;2. pycharm安装 三、火狐浏览器安装环境变量设置1. 火狐浏览器安装2. 环境变量设置 四、geckodriver配置五、第三方库的下载&#xff08;selenium&#xff09;1. setting下载2. 操作台下载 六…

1个月1000家店,库迪起飞

5月30日最新消息&#xff0c;库迪咖啡第3000家门店在北京开业。 从2022年10月到4月&#xff0c;半年开了2000家。4月到5月更夸张&#xff0c;1个月开了一千家店。 这就是库迪速度&#xff0c;线下疯狂扩张&#xff0c;线上也没闲着。 今天在抖音本地生活热销榜&#xff0c;大…

火爆全网,最全性能测试从0到1进阶总结,高阶内卷学习路线...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 例如&#xff1a;…

仙境传说RO:添加地图传送门教程

仙境传说RO&#xff1a;添加地图传送门教程 大家好我是艾西&#xff0c;上一篇文章中我跟大家分享了仙境传说RO怎么添加NPC&#xff0c;NPC可以加入自己想要售卖的装备物品等。那么对于玩家跑地图需要手动跑肯定是不方便的毕竟大家玩游戏就是为了娱乐以及放松&#xff0c;那么…

navicat导入大文件sql报错

一、 CMD打开控制台 mysql -hlocalhost -uroot -p 输入密码进入mysql 二、输入命令查看 show VARIABLES like %max_allowed_packet% 三、找到my.ini 在windows url哪里输入&#xff1a; %ProgramData% 四、修改max_allowed_packet1G 五、再次打开控制台 mysql -hlocalhost…

GDT陶瓷气体放电管串电容的5点作用

串电容&#xff0c;是指串联衔接于线路中&#xff0c;其主要目的是用来补偿电力线路感抗的电容器&#xff0c;电容器也是目前电力设备中必不可少的一环&#xff0c;其种类很多。下面优恩将为大家介绍一下GDT陶瓷气体放电管串电容的作用。 据小编了解&#xff0c;GDT陶瓷气体放电…

注册表管理右键菜单

tips&#xff1a;快速定位文件位置 随便选中一个文件&#xff0c;中文输入相应的文件名&#xff0c;可快速定位文件位置 目标&#xff1a;右键空白处打开对应软件 步骤 win R 打开运行&#xff0c;输入 regedit&#xff0c;快速启动注册表 目标&#xff1a;实现右键以**软…

战斗机上的无线电设备都有哪些?

无线电在我们的生活中无处不在&#xff0c;而无线电设备也有着广泛的应用。那么有没有老铁知道&#xff0c;战斗机上都有哪些无线电设备呢&#xff1f;下面河南宝蓝小编带大家一起来了解下&#xff1a; 战斗机上的无线电设备都有哪些 1、通信系统 通信系统是战斗机比较基本的…

注册表如何管理右键菜单

注册表如何管理右键菜单 windows&#xff1a;如何通过注册表删除右键菜单 删除右键菜单 首先要进入注册表&#xff08;win-R&#xff0c;regedit&#xff09; 然后进入HKEY_CLASSES_ROOT目录 这里存储着不同文件的右击菜单&#xff1a; 不同的目录 1.删除空白处右键菜单 …

企企通×天能股份SRM一期项目成功上线,持续深化企业采购数字化

近期&#xff0c;企企通凭借在赋能客户数字化转型方面的优秀实践与丰富的解决方案&#xff0c;荣获天能电池集团股份有限公司&#xff08;以下简称“天能股份”&#xff09;颁发的“2022年度数字化优秀供应商奖”&#xff0c;同时&#xff0c;企企通SRM项目还获得天能股份采购管…