从1到100一共写了多少个9,从1到100的数字跟读

首页 > 教育 > 作者:YD1662023-04-15 06:09:24

从1到100一共写了多少个9,从1到100的数字跟读(1)

原文:https://towardsdatascience.com/exploratory-data-analysis-eda-a-practical-guide-and-template-for-structured-data-abfbf3ee3bd9

“很多时候,最困难的不是画画,而是在一张白纸上画什么,这让人很困惑。”

同样地,对于数据科学,人们通常想知道在收到数据集后如何开始。这就是探索性数据分析(EDA)的用武之地。

根据维基百科,EDA“是一种通常采用可视化的方法分析数据集以总结其主要特征的方法”。用自己的话来说,就是在你开始从数据中提取洞察力之前,先了解你的数据,对数据有一定程度的熟悉。

由于EDA对于所有数据科学项目来说都是至关重要的初始步骤,懒惰的我决定编写一个代码模板(code template),用于在结构化数据集上执行EDA。中心思想是减少编码时间,更多地关注数据本身的分析。

EDA 在数据科学过程中的位置

在我们深入研究EDA之前,首先必须了解EDA在整个数据科学过程中的位置。

从1到100一共写了多少个9,从1到100的数字跟读(2)

维基百科的数据科学流程图

参考维基百科的流程图,数据收集完成后,在清理前进行一些处理,然后执行EDA。注意,在EDA之后,我们可能会回到处理和清理数据的阶段,也就是说,这可能是一个迭代过程。随后,我们可以使用清理过的数据集和来自EDA的知识来执行建模和报告。

因此,我们可以这样理解EDA的目标:

为了理解数据并从数据中找到线索,

  1. 为我们的模型制定假设和假说;
  2. 检查数据的质量,以便在必要时进一步处理和清洗。

为了更好地理解和说明 EDA 的概念,以下我们将使用SmartNoteBook来探索Kaggle上的数据集商店销售“train.csv”。由于该数据集的问题描述是为了预测商店销售额,因此,我们本次的EDA目标是:

  1. 检查有助于预测销售额的特征;
  2. 检查可能影响我们预测模型的异常或异常值。
EDA的大纲

我们的代码模板(code template)须执行下列步骤:

  1. 预览数据
  2. 检查条目和列类型的总数
  3. 检查任何空值
  4. 检查重复条目
  5. 数值数据的图形分布图(单变量和成对联合分布)
  6. 分类数据的计数分布图
  7. 按日、月、年频率分析数值型数据的时间序列

导入必要的依赖如下:

importpandasaspd importnumpyasnp importmatplotlib importmatplotlib.pyplotasplt importseabornassns importmissingno %matplotlibinline 初步数据处理

首先,我们读入数据集并生成数据的简单预览和统计信息。

df=pd.read_csv('train.csv') df.info() df.head()

从1到100一共写了多少个9,从1到100的数字跟读(3)

来自SmartNoteBook的单元格输出

输出显示,我们有大约100万个条目,总共9列。没有空值,但某些列的数据类型需要更改。正如我们将在后面看到的,正确设置数据类型可以帮助我们进行数据科学处理。简而言之,有三种常见的数据类型(分类型、数值型和日期时间类型),我们对每种类型都有不同的EDA过程。

在我们的初步处理中,我们按以下方式更改了数据类型:

  1. 将标识符 Store 设置为 String。
  2. 对于分类(categorical)列,也就是那些可能的值数量有限且通常是固定的列,我们将它们的类型设置为“分类”。例如,性别、血型和国家都是分类数据。
  3. 对于数值型(numeric)列,我们可以将其类型设置为int64(整数)或 float64(浮点数)。例如,销售额、体温和人数都是数值型类型数据。
  4. 将Date设置为 datetime64数据类型。

#setidentifier"Store"asstring df['Store']=df['Store'].astype('str') #setcategoricaldata df['DayOfWeek']=df['DayOfWeek'].astype('category') df['Open']=df['Open'].astype('category') df['Promo']=df['Promo'].astype('category') df['StateHoliday']=df['StateHoliday'].astype(str).str.strip().astype('category') df['SchoolHoliday']=df['SchoolHoliday'].astype('category') #setdatetimedata df['Date']=pd.to_datetime(df['Date']) 开始EDA

在设置了数据类型之后,我们就可以开始玩了(EDA)。

为了建立party,我们只需要复制、粘贴并运行包含各种函数的代码模板(code template),然后运行接受Pandas DataFrame作为输入的函数eda。

eda(df)

就是这样!简单吧!

现在让我们浏览一下输出的显著部分,以了解如何利用EDA结果。

缺失值和重复项

在我们的示例中,没有缺失值的条目。

但是,如果有缺失值,代码将生成一个类似于下面的图表。注意CustomerID和Description下面的空白; 这些是缺少的值。因此,只需一瞥,我们就能够知道缺失值问题的程度。

从1到100一共写了多少个9,从1到100的数字跟读(4)

首页 1234下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.