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

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项目&#xff08;1&#xff09;-数据校验&#xff08;1&#xff09; 数据基本情况查看&#xff08;2&#xff09; 数据校验&#xff08;3&#xff09; 数据探究 小结 kaggle学习 eloData项目&#xff08;1&#xff09;-数据校验 不能懈怠&#xff0…...

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 实现版本更新检查(检测到版本更新时提醒用户刷新页面)

背景 当一个页面很久没刷新&#xff0c;又突然点到页面。由于一些文件是因为动态加载的&#xff0c;当重编后&#xff08;如前后端发版后&#xff09;&#xff0c;这些文件会发生变化&#xff0c;就会出现加载不到的情况。进而导致正在使用的用户&#xff0c;点击页面发现加载…...

【CSP】爆零的独特姿势

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

Git仓库

Git初始 概念 一个免费开源&#xff0c;分布式的代码版本控制系统&#xff0c;帮助开发团队维护代码 作用 记录代码内容&#xff0c;&#xff0c;切换代码版本&#xff0c;多人开发时高效合并代码内容 如何学&#xff1a; 个人本机使用&#xff1a;Git基础命令和概念 多…...

【科研日常】论文投稿的几大状态

Manuscript Submitted&#xff08;Submitted to Journal&#xff09;&#xff1a;表示论文已经投稿成功&#xff0c;等待期刊工作人员检查论文格式排版、重复率是否符合要求&#xff0c;符合要求的文章会分配给期刊编辑进行处理。 Awaiting Admin Processing&#xff1a;意为等…...

SSLHandshakeException错误解决方案

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

python数据结构基础(7)

本节学习最后一种数据结构---图,在很多问题中应用图可以帮助构建思维空间,快速理清思路,解决复杂问题. 图就是一些顶点的集合,这些顶点通过一系列边链接起来.根据边的有向和无向,图分为有向图和无向图.有时图的边上带有权重,本节暂时不将权重作为重点. 计算机通过邻接表或者邻…...

【系统集成项目管理工程师】英语词汇对照表-项目管理类

英语单词&#xff08;项目管理类&#xff09;中文解释Activity活动Accept验收Acceptable Quality Level可接受的质量水平Acceptance Standard验收标准Acquisition Plan Review采购计划评审Action处理Active On the Arrow双代号网络图Activity Based Costing (ABC)基于活动的成本…...

购物车-多元素组合动画css

学习 渡一课程 多元素组合动画 练习。 在我们开发购物车功能时&#xff0c;经常会有点击添加按钮&#xff0c;就会有一个小圆点掉进购物车的动画&#xff0c;如下图所示&#xff0c;今天我们通过css来实现。 首先实现多元素组合动画 直接上代码&#xff0c;可以复制到本地使用…...

【计网不挂科】计算机网络期末考试——【选择题&填空题&判断题&简述题】题库(3)

前言 大家好吖&#xff0c;欢迎来到 YY 滴计算机网络 系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C的老铁 本博客主要内容&#xff0c;收纳了一部门基本的计算机网络题目&#xff0c;供yy应对期中考试复习。大家可以参考 欢迎订阅 YY滴其他专栏&#xff01;…...

[ vulnhub靶机通关篇 ] 渗透测试综合靶场 DarkHole:1 通关详解 (附靶机搭建教程)

&#x1f36c; 博主介绍 &#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 _PowerShell &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 &#x1f389;点赞➕评论➕收藏 养成习…...

【LeetCode】移除链表中等于设定值的元素、反转链表

主页&#xff1a;HABUO&#x1f341;主页&#xff1a;HABUO &#x1f31c;有时候世界虽然是假的&#xff0c;但并不缺少真心对待我们的人&#x1f31b; 1. 移除链表中设定值的元素 题目&#xff1a;给你一个链表的头节点 head 和一个整数 val &#xff0c;请你删除链表中所…...

Redis - 主从复制

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

UE5 HLSL 学习笔记

half的取值范围是整形的-60000 到 60000&#xff0c;考虑带宽的情况下使用half vector默认为float4 访问可以.xyzw&#xff0c;也可以.rgba&#xff0c;也可以[index]&#xff0c;且顺序可以变&#xff0c;比如说.yzwx 矩阵的获取值的方式 第一个行代表获取第1行第0号元素 第…...

一个简单ASP.NET购物车设计

思路&#xff1a; 创建一个多选列表 在cs文件里初始化购物车会话变量,同&#xff0c;创建一个新的 List<string> 并将其赋值给会话状态中的 "Cart" 键–&#xff08;利用Session&#xff09; Session 是一种用于存储用户特定信息的对象&#xff0c;这些信息可…...

双向循环列表

双向循环列表的实现。 根据定义实现。不解释&#xff0c;具体细节看代码。 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要怎么解决?

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

更改Ubuntu22.04锁屏壁纸

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

ROS2humble版本使用colcon构建包

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

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

Docker 离线安装指南

参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性&#xff0c;不同版本的Docker对内核版本有不同要求。例如&#xff0c;Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本&#xff0c;Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

大数据学习栈记——Neo4j的安装与使用

本文介绍图数据库Neofj的安装与使用&#xff0c;操作系统&#xff1a;Ubuntu24.04&#xff0c;Neofj版本&#xff1a;2025.04.0。 Apt安装 Neofj可以进行官网安装&#xff1a;Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

SciencePlots——绘制论文中的图片

文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了&#xff1a;一行…...

Docker 运行 Kafka 带 SASL 认证教程

Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明&#xff1a;server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器

第一章 引言&#xff1a;语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域&#xff0c;文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量&#xff0c;支撑着搜索引擎、推荐系统、…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南

&#x1f680; C extern 关键字深度解析&#xff1a;跨文件编程的终极指南 &#x1f4c5; 更新时间&#xff1a;2025年6月5日 &#x1f3f7;️ 标签&#xff1a;C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言&#x1f525;一、extern 是什么&#xff1f;&…...

MySQL用户和授权

开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务&#xff1a; test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)

Aspose.PDF 限制绕过方案&#xff1a;Java 字节码技术实战分享&#xff08;仅供学习&#xff09; 一、Aspose.PDF 简介二、说明&#xff08;⚠️仅供学习与研究使用&#xff09;三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...

苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会

在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...