本学习笔记为阿里云天池龙珠计划AI训练营的学习内容,学习链接为:
一、学习知识要点概括 1. 载入各种数据科学和可视化库https://tianchi.aliyun.com/notebook-ai/detail?spm=5176.20850271.J_3678908510.4.32d13daadT6Zol&postId=170925
- 数据科学库,如numpy,pandas,scipy等
- 可视化的库:matplotlib,seabon
- 其他
- 载入数据集和测试集
- 简单的观察
- 用describe函数来熟悉数据的相关统计量‘
- 用info函数来熟悉数据的类型
- 查看每一列存在的nan情况
- 异常值检测 【没看完】
- 认识到了missingno库,用于处理数据确实,后面用来可视化的查看哪里缺省了。
- 认识到了matplotlib.pyplot的可视化,比如bar函数用来查看柱状图
- 【未完待续】
- 通过pandas的函数挂载数据
- 通过head函数显示前五条数据,通过tail函数显示后面五条,即用下面这行代码Train_data.head().append(Train_data.tail())
- 通过shape函数查看范围
前期查看数据是很重要的,能初步对数据集里面相关信息有一些了解
3.数据总览-
通过describe函数,显示出了个数count 、平均值mean 、方差std 、最小值min 、中位数25% 50% 75% 、以及最大值等信息。通常可以用来掌握数据的范围以及异常值的判断,比如有的时候会发现999 9999 -1 等值这些其实都是nan的另外一种表达方式,有的时候需要注意下
输出图片如下:
-
通过info函数来了解每一列的信息,如non-null的个数和类型,以及各个类型的数量,体现了总览。
输出图片如下:
我一共学习使用了几种函数
-
isnull()函数:isnull函数能够显示出哪些是null,哪些不是(False表示无缺失值)。
一般来说,isnull()可以和其他函数一起使用,比如Train_data.isnull().sum()和Train_data.isnull().any()前者能直接显示出来一列的null的数量,后者能直观的写出每列是否有缺失
与sum()函数结合的输出图片如下:
-
还有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的值很大的时候我们要考虑是否要删掉它
- msno.matrix(Train_data.sample(250)):这里是可视化一下从数据集里面抽取250条数据。白线就代表着该部分有缺失。
输出图片如下:
同理msno.bar(Train_data.sample(1000))也是可视化从数据集里面抽取1000条数据。和前者的区别就是这次是bar也就是柱状图
输出图片如下:
- 然后就是异常处理,这里是通过前面info函数的输出发现有一项的数据类型是object,但是通过对比赛题目的阅读,发现这一列的数据应该是数字,于是使用了values_count()函数对这列数据出现的数值进行统计,然后发现了其中包含了‘-’这一个值的数据,我们将其通过Train_data['notRepairedDamage'].replace('-',np.nan,inplace=True)将其替换为nan(因为很多模型都能对nan进行处理)
- 在这一步,通过对每一项数据进行了values_count(),我们找出了类别特征特别倾斜的(比如1500项数据,其中1499都是同样的值),并将其删去,因为它一般对于数据分析没什么意义。
- 【还没看完,好难】
- 这个task2目录里“判断数据缺失和异常”里面是怎么看出来有四条缺省,并且notRepairedDamage缺省得最多。我只能看出来三条,不知道为什么notRepairedDamage缺省最多。
- 请问各位大佬,缺省 , 缺省值 ,nan ,null 的区别和含义,我实在是分不清楚也不知道准确含义,希望各位能为小弟我解答疑惑。
- 了解预测值的分布情况好难,什么核密度估计看不懂
- 【未完待续】
- 这一次的task内容我不会的很多,估计要两天才能够看完。希望自己加把劲
- 好难啊,好多看不懂(2021.10.3)
—————————————————————————————————
2021年10月2日 21:00开始至23:07 对Task 2进行第一天学习
2021年10月3日 09:51开始至10:33 对Task 2进行第一天补充学习



