kaggle学习 eloData项目(1)-数据校验
文章目录
- kaggle学习 eloData项目(1)-数据校验
- (1) 数据基本情况查看
- (2) 数据校验
- (3) 数据探究
- 小结
kaggle学习 eloData项目(1)-数据校验
不能懈怠,加油,eloData项目在B站有讲解课,趁着热乎赶紧学一下。文章参考:kaggle比赛案例:Elo Merchant Category Recommendation(1)
- 库文件
import os
import numpy as np
import pandas as pd
import gc # 主动管理内存,清理内存需要
import seaborn as sns
import matplotlib.pyplot as plt
(1) 数据基本情况查看
- 1.1 读取表格数据
df = pd.read_excel('./eloData/Data_Dictionary.xlsx',header=2,sheet_name='train')print(df)
- 1.2 读取表格数据的前五个查看
df = pd.read_csv('./eloData/sample_submission.csv',header=0).head(5)print(df)
- 1.3 读取数据的基本信息
df = pd.read_csv('./eloData/sample_submission.csv', header=0).info()print(df)
- 1.4 读取训练集与测试集数据
train = pd.read_csv('./eloData/train.csv')test = pd.read_csv('./eloData/test.csv')print(train.shape,test.shape)
(2) 数据校验
- 2.1 训练集 id 是否有重复
if train['card_id'].nunique() == train.shape[0]:print("2.1.1True")# 测试集 id 是否有重复if test['card_id'].nunique() == test.shape[0]:print("2.1.2True")# 检验 训练集与测试集的id 是否唯一if ((train['card_id'].nunique()+test['card_id'].nunique())== len(set(train['card_id'].values.tolist()+test['card_id'].values.tolist()))) :print("2.1.3True")
- 2.2 检验数据确实情况
# 按列缺失值汇总查询# 训练集print(train.isnull().sum())# 测试集 缺失一条print(test.isnull().sum())
- 2.3 异常值检测
# 查看标签列是否有异常statistics = train['target'].describe();print("statistics",statistics)sns.set()sns.histplot(train['target'],kde=True)# plt.show()# 找出异常值 查看print("异常值个数:",(train['target']<-30).sum())# 异常值占比确认 一般采用 3δ 原则print("异常值范围:",statistics.loc['mean']-3*statistics.loc['std'])
- 补充:聊聊python dropna()和notnull()的用法区别
- 当未精确定位到某一列,但该列中存在空值时,dropna()会将空值所在行删除,而notnull()不会删除;在精确定位到某一列后,dropna()会输出series,而notnull()输出DataFrame。
(3) 数据探究
- 3.1 单因素分析
np.sort(train['first_active_month'].unique())print(len(np.sort(train['first_active_month'].unique())))# pandas的notnull函数,用于返回非空值的集合。np.sort(test[test.notnull()['first_active_month']]['first_active_month'].unique())print(len(np.sort(test[test.notnull()['first_active_month']]['first_active_month'].unique())))# 绘图查看异常值(train['feature_1'].value_counts().sort_index()/train.shape[0]).plot()(test['feature_1'].value_counts().sort_index()/train.shape[0]).plot()plt.legend(['train','test'])plt.xlabel('feature_1')plt.ylabel('ratio')plt.show()
- 3.2 多因素联合分布
features = train.columnsfeatures_ = features.drop(['card_id','target'])n = len(features_)for i in range(n-1):for j in range(i+1,n):f1 = features_[i]f2 = features_[j]train_com = train[[f1,f2]]test_com = test[[f1,f2]]com1 = train_com[f1].values.astype(str).tolist()com2 = train_com[f2].values.astype(str).tolist()com1_ = test_com[f1].values.astype(str).tolist()com2_ = test_com[f2].values.astype(str).tolist()data1 = pd.Series([com1[i]+'&'+com2[i] for i in range(train.shape[0])]).value_counts().sort_index()/train.shape[0]data2 = pd.Series([com1_[i] + '&' + com2_[i] for i in range(test.shape[0])]).value_counts().sort_index()/test.shape[0]data1.plot()data2.plot()plt.legend(['train', 'test'])plt.xlabel('&'.join([f1,f2]))plt.ylabel('ratio')plt.show()
- 放一张图展示一下;
小结
海到无边天作岸,山登绝顶我为峰。
总之,加油,共勉吧!
相关文章:

kaggle学习 eloData项目(1)-数据校验
文章目录 kaggle学习 eloData项目(1)-数据校验(1) 数据基本情况查看(2) 数据校验(3) 数据探究 小结 kaggle学习 eloData项目(1)-数据校验 不能懈怠࿰…...
ORACLE RAC用DNS服务器的配置
一、搭建本地YUM源 二、安装DNS全部组建 yum -y install bind* 三、规划您RAC集群所有IP #public 192.168.16.111 rac1.ntt.com rac1 192.168.16.112 rac2.ntt.com rac2 192.168.16.121 rac3.ntt.com rac3 192.168.16.122 rac4.ntt.com rac4 #private 10.10.10.111 rac1-pr…...
vue3 + vite 实现版本更新检查(检测到版本更新时提醒用户刷新页面)
背景 当一个页面很久没刷新,又突然点到页面。由于一些文件是因为动态加载的,当重编后(如前后端发版后),这些文件会发生变化,就会出现加载不到的情况。进而导致正在使用的用户,点击页面发现加载…...

【CSP】爆零的独特姿势
硝烟散,繁花尽,第一次CSP折戟沉沙。 代码拿回来,花几分钟订正下,就是300分。 然而,实战只有100分,还是偷懒得的幸运,觉得第一题题目太简单懒得用文件IO调试... ... 啥也不说了,上图。…...

Git仓库
Git初始 概念 一个免费开源,分布式的代码版本控制系统,帮助开发团队维护代码 作用 记录代码内容,,切换代码版本,多人开发时高效合并代码内容 如何学: 个人本机使用:Git基础命令和概念 多…...
【科研日常】论文投稿的几大状态
Manuscript Submitted(Submitted to Journal):表示论文已经投稿成功,等待期刊工作人员检查论文格式排版、重复率是否符合要求,符合要求的文章会分配给期刊编辑进行处理。 Awaiting Admin Processing:意为等…...

SSLHandshakeException错误解决方案
1、错误提示 调用Http工具报如下异常信息: cn.hutool.core.io.IORuntimeException: SSLHandshakeException: Received fatal alert: handshake_failure2、查询问题 一开始我以为是代码bug,网络bug甚至是配置环境未生效,找了一大圈…...

python数据结构基础(7)
本节学习最后一种数据结构---图,在很多问题中应用图可以帮助构建思维空间,快速理清思路,解决复杂问题. 图就是一些顶点的集合,这些顶点通过一系列边链接起来.根据边的有向和无向,图分为有向图和无向图.有时图的边上带有权重,本节暂时不将权重作为重点. 计算机通过邻接表或者邻…...
【系统集成项目管理工程师】英语词汇对照表-项目管理类
英语单词(项目管理类)中文解释Activity活动Accept验收Acceptable Quality Level可接受的质量水平Acceptance Standard验收标准Acquisition Plan Review采购计划评审Action处理Active On the Arrow双代号网络图Activity Based Costing (ABC)基于活动的成本…...

购物车-多元素组合动画css
学习 渡一课程 多元素组合动画 练习。 在我们开发购物车功能时,经常会有点击添加按钮,就会有一个小圆点掉进购物车的动画,如下图所示,今天我们通过css来实现。 首先实现多元素组合动画 直接上代码,可以复制到本地使用…...
【计网不挂科】计算机网络期末考试——【选择题&填空题&判断题&简述题】题库(3)
前言 大家好吖,欢迎来到 YY 滴计算机网络 系列 ,热烈欢迎! 本章主要内容面向接触过C的老铁 本博客主要内容,收纳了一部门基本的计算机网络题目,供yy应对期中考试复习。大家可以参考 欢迎订阅 YY滴其他专栏!…...

[ vulnhub靶机通关篇 ] 渗透测试综合靶场 DarkHole:1 通关详解 (附靶机搭建教程)
🍬 博主介绍 👨🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…...

【LeetCode】移除链表中等于设定值的元素、反转链表
主页:HABUO🍁主页:HABUO 🌜有时候世界虽然是假的,但并不缺少真心对待我们的人🌛 1. 移除链表中设定值的元素 题目:给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所…...

Redis - 主从复制
在分布式系统中为了解决单点问题,通常会把数据复制多个副本部署到其他服务器,满⾜故障恢 复和负载均衡等需求。Redis也是如此,它为我们提供了复制的功能,实现了相同数据的多个Redis副 本。复制功能是⾼可⽤Redis的基础,…...

UE5 HLSL 学习笔记
half的取值范围是整形的-60000 到 60000,考虑带宽的情况下使用half vector默认为float4 访问可以.xyzw,也可以.rgba,也可以[index],且顺序可以变,比如说.yzwx 矩阵的获取值的方式 第一个行代表获取第1行第0号元素 第…...
一个简单ASP.NET购物车设计
思路: 创建一个多选列表 在cs文件里初始化购物车会话变量,同,创建一个新的 List<string> 并将其赋值给会话状态中的 "Cart" 键–(利用Session) Session 是一种用于存储用户特定信息的对象,这些信息可…...
双向循环列表
双向循环列表的实现。 根据定义实现。不解释,具体细节看代码。 list.h #pragma once#pragma pack(1)typedef struct _MyListEntry {_MyListEntry* next;_MyListEntry* prev; }MyListEntry;#pragma pack()class MyListClass { public:MyListEntry* m_list0;int m_k…...

go项目出现了ambiguous import要怎么解决?
前言 最近小编在 构建一个项目时出现了问题,提示报错里ambiguous import;查询了解到是 依赖包存在多个不同版本的问题 这样的情况要怎么解决呢? 小编先是将问题抛给了 chatgpt,得到了如下的信息: # 清理缓存 go clea…...

更改Ubuntu22.04锁屏壁纸
更改Ubuntu22.04锁屏壁纸 sudo apt install gnome-shell-extensions gnome-shell-extension-manager安装Gnome Shell 扩展管理器后,打开“扩展管理器”并使用搜索栏找到“锁屏背景”扩展...

ROS2humble版本使用colcon构建包
colcon与与catkin相比,没有 devel 目录。 创建工作空间 首先,创建一个目录 ( ros2_example_ws ) 来包含我们的工作区: mkdir -p ~/ros2_example_ws/src cd ~/ros2_example_ws 此时,工作区包含一个空目录 src : . └── src1 directory, …...

国防科技大学计算机基础课程笔记02信息编码
1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...

(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
在Ubuntu24上采用Wine打开SourceInsight
1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...

GruntJS-前端自动化任务运行器从入门到实战
Grunt 完全指南:从入门到实战 一、Grunt 是什么? Grunt是一个基于 Node.js 的前端自动化任务运行器,主要用于自动化执行项目开发中重复性高的任务,例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...
虚拟电厂发展三大趋势:市场化、技术主导、车网互联
市场化:从政策驱动到多元盈利 政策全面赋能 2025年4月,国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》,首次明确虚拟电厂为“独立市场主体”,提出硬性目标:2027年全国调节能力≥2000万千瓦࿰…...
比较数据迁移后MySQL数据库和OceanBase数据仓库中的表
设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...