栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

AI训练营数据挖掘 Task 2.数据分析 学习笔记

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

AI训练营数据挖掘 Task 2.数据分析 学习笔记

本学习笔记为阿里云天池龙珠计划AI训练营的学习内容,学习链接为:

https://tianchi.aliyun.com/notebook-ai/detail?spm=5176.20850271.J_3678908510.4.32d13daadT6Zol&postId=170925

一、学习知识要点概括 1. 载入各种数据科学和可视化库
  • 数据科学库,如numpy,pandas,scipy等
  • 可视化的库:matplotlib,seabon
  • 其他
2. 载入数据
  • 载入数据集和测试集
  • 简单的观察
3.数据总览
  • 用describe函数来熟悉数据的相关统计量‘
  • 用info函数来熟悉数据的类型
4.判断数据的缺失以及异常 【目前还没看完,目录后面补充】
  • 查看每一列存在的nan情况
  • 异常值检测 【没看完】
二、学习内容: 1.关于载入各种数据科学以及可视化库
  1. 认识到了missingno库,用于处理数据确实,后面用来可视化的查看哪里缺省了。
  2. 认识到了matplotlib.pyplot的可视化,比如bar函数用来查看柱状图
  3. 【未完待续】
2.载入数据
  1. 通过pandas的函数挂载数据
  2. 通过head函数显示前五条数据,通过tail函数显示后面五条,即用下面这行代码Train_data.head().append(Train_data.tail())
  3. 通过shape函数查看范围

前期查看数据是很重要的,能初步对数据集里面相关信息有一些了解

3.数据总览
  1. 通过describe函数,显示出了个数count 、平均值mean 、方差std 、最小值min 、中位数25% 50% 75% 、以及最大值等信息。通常可以用来掌握数据的范围以及异常值的判断,比如有的时候会发现999 9999 -1 等值这些其实都是nan的另外一种表达方式,有的时候需要注意下
    输出图片如下:

  2. 通过info函数来了解每一列的信息,如non-null的个数和类型,以及各个类型的数量,体现了总览。
    输出图片如下:

4. 判断数据缺失和异常

我一共学习使用了几种函数

  1. isnull()函数:isnull函数能够显示出哪些是null,哪些不是(False表示无缺失值)。
    一般来说,isnull()可以和其他函数一起使用,比如Train_data.isnull().sum()和Train_data.isnull().any()前者能直接显示出来一列的null的数量,后者能直观的写出每列是否有缺失
    与sum()函数结合的输出图片如下:

  2. 还有sort_values():

missing=Train_data.isnull().sum()
missing=missing[missing >0]    #找出null的数量大于零的
missing.sort_values(inplace=True)  
#这是一个排序的,默认是升序,然后inpalce就是看是否要改变原始数据,
#如果为True就是直接在原始数据上进行改变返回值为None。但是如果为False的话就是会返回修改后的数据,但是原始数据不会变化
missing.plot.bar()  #画出柱状图形

输出图片如下:

为什么要去关注nan的值?

  • 当nan的值很小的时候,我们一般可以选择填充它,如果使用lgb树还能直接让它空缺,然后用树自己去优化
  • 当nan的值很大的时候我们要考虑是否要删掉它
  1. msno.matrix(Train_data.sample(250)):这里是可视化一下从数据集里面抽取250条数据。白线就代表着该部分有缺失。
    输出图片如下:

同理msno.bar(Train_data.sample(1000))也是可视化从数据集里面抽取1000条数据。和前者的区别就是这次是bar也就是柱状图
输出图片如下:

  1. 然后就是异常处理,这里是通过前面info函数的输出发现有一项的数据类型是object,但是通过对比赛题目的阅读,发现这一列的数据应该是数字,于是使用了values_count()函数对这列数据出现的数值进行统计,然后发现了其中包含了‘-’这一个值的数据,我们将其通过Train_data['notRepairedDamage'].replace('-',np.nan,inplace=True)将其替换为nan(因为很多模型都能对nan进行处理)
  2. 在这一步,通过对每一项数据进行了values_count(),我们找出了类别特征特别倾斜的(比如1500项数据,其中1499都是同样的值),并将其删去,因为它一般对于数据分析没什么意义。
5.了解预测值的分布情况
  1. 【还没看完,好难】
三、学习问答与解答:
  1. 这个task2目录里“判断数据缺失和异常”里面是怎么看出来有四条缺省,并且notRepairedDamage缺省得最多。我只能看出来三条,不知道为什么notRepairedDamage缺省最多。
  2. 请问各位大佬,缺省 , 缺省值 ,nan ,null 的区别和含义,我实在是分不清楚也不知道准确含义,希望各位能为小弟我解答疑惑。
  3. 了解预测值的分布情况好难,什么核密度估计看不懂
  4. 【未完待续】
四、学习思考与总结:
  1. 这一次的task内容我不会的很多,估计要两天才能够看完。希望自己加把劲
  2. 好难啊,好多看不懂(2021.10.3)

—————————————————————————————————
2021年10月2日 21:00开始至23:07 对Task 2进行第一天学习
2021年10月3日 09:51开始至10:33 对Task 2进行第一天补充学习

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/294830.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号