提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
本文主要使用python对帕尔默企鹅数据集进行了EDA,欢迎交流讨论,共同进步。
前段时间老师布置了一份对帕尔默企鹅数据进行EDA的作业,结果网上一查基本全是什么“23个优秀的机器学习训练公共数据集”之类的文章,点进去也千篇一律让我无语,经过一段时间的摸鱼后也算是成功完成了作业,现写下来予以保存,因为我自己是个记忆力很差的人,所以重新捋一遍思路还是很有必要的。
本文主要分为数据预处理和数据可视化分析两节。
一、数据预处理
本次实验主要对阿德利企鹅属的三种企鹅进行探索性分析,由于三种企鹅同出一属,所以具有较高的相关性,本次实验将对相关数据集进行数据分析,以期能挖掘出数据背后隐藏的信息。
本次数据探索性分析将从数据预处理开始,并通过数据填充以消除数据集中ratio type data 的数据空值,而对于nominal type data——sex来说,则先后尝试了SVM算法和Knn算法对缺失值预测,最终选定Knn算法预测结果作为填充内容。 在获取到完整的,清洁的数据集后,开始对数据进行探索性分析。
首先我们导入本次实验过程中所需要的库
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
from google.colab import auth
from oauth2client.client import GoogleCredentials
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings("ignore")
import missingno as msno
from scipy import stats
from sklearn.svm import SVC
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import KFold
from sklearn.model_selection import cross_val_score
%matplotlib inline
import seaborn as sns
1.读取数据集(Gdrive)
然后我们读取prnguins_size.csv文件,该步骤我所使用的方式需要先将数据文件上传至Gdrive中,在通过获取sharelink获取fileID,并将数据文件存入Colab memory。由于老师要求交ipynb的文件,所以这样做,其实pycharm读取本地文件会更简单一些,不用这个ID。
auth.authenticate_user()
gauth = GoogleAuth()
gauth.credentials = GoogleCredentials.get_application_default()
drive = GoogleDrive(gauth)
# Download a file based on its file ID.
file_id1 = '1GPQb6nHNkzJqyglvNikBy7L4Eys62YF1' # Check your own ID in GDrive
downloaded = drive.CreateFile({
'id': file_id1})
# Save file in Colab memory
downloaded.GetContentFile('penguins_size.csv')
通过head函数我们可以看见已经成功读取到了数据文件,并且不难发现数据中有NaN,即空值。所以我们首先检查缺失值的数量以及分布情况。
df = pd.read_csv('penguins_size.csv')
df.head(5)
不难看到第四行都是NaN,所以接下来开始统计各个数据字段的缺失值有多少。
2.四个ratio数据的预处理
print(df.isnull().sum