‫好吧, 我会的
‫现在, 我们已经对笔记本电脑进行了一些布局, 我们知道了要采取的步骤,
‫我们知道了要解决的问题, 我们知道了数据的来源｡
‫我们知道我们的估值指标和功能｡
‫让我们导入数据并开始｡
‫在我的例子中, 我们将它导入到一个名为Data的文件夹中｡
‫您可能已经创建了一个相同的文件夹｡
‫所以当我写文件路径时, 你的文件路径可能和我的不同, 但是我的文件路径将被称为data｡
‫我们开始导入训练集和验证集开始如果您想知道为什么要同时导入它们, 在接下来的视频中, 这一点会很清楚｡
‫因此, 您现在必须相信我,
‫我们将在一个集中导入这两个集｡ 如果我们使用蓝皮书, 我们可能可以使用tab自动完成｡
‫当然了｡
‫我们走吧｡
‫所以我们想训练和验证csv｡
‫好极了｡
‫我们按下shift然后进入｡
‫这可能需要一段时间, 因为我们马上就会看到, 这是一个相当大的数据集｡
‫我们收到了警告｡
‫这是什么？
‫D型警示栏｡
‫1339和4041具有混合类型｡
‫在导入或设置低内存时指定的类型选项等于false｡
‫如果我们转到这里, 我们可以通过设置low memory等于false来消除这个警告｡
‫所以这实际上就是说, 当熊猫读取CSV时,
‫当这个函数被实例化时, 取决于数据集的大小, 因为数据帧存在于RAM中, 熊猫试图最小化它们占用的空间｡
‫所以我们要做的就是把low memory设为false, 我们知道你在尽量减少空间,
‫但别太担心.
‫我们有足够的内存空间｡
‫所以这应该可以｡
‫我们应该可以摆脱那个警告｡
‫好极了｡
‫所以这只是说说而已｡
‫以您想要的方式储存, 然后尝试汇入｡
‫不要试图最小化你正在使用的空间｡
‫好极了｡
‫我们可能要做的第一件事就是查看信息, 以获取一些正在发生的事情的信息｡
‫好了, 我们走吧｡
‫我们可以看看｡
‫这是我们迄今为止使用过的最大的数据集｡
‫我们有412, 698行｡
‫这是很多行和53列｡
‫记住了｡
‫如果我们看一下我们的列, 这些是我们的变量和描述｡
‫所以我们应该有销售ID｡
‫是的, 这是一个非空整数机器ID, 它是特定机器的标识符｡
‫机器可能有多次销售, 因此这意味着一台机器可能在其时间范围内被销售多次｡
‫然后是我们最想关注的一个, 因为它是一个时间序列, 除了销售｡
‫这就是我们机器在销售日期的售价｡
‫这就是机器售出的时间｡
‫所以我们看看这个销售日期｡
‫销售时间｡
‫真漂亮｡
‫好吧, 那我们现在能做什么？
‫由于销售日期是一个日期, 因此我们可能希望将其作为日期传递｡
‫但我们现在还不想这么做, 因为我想演示一些东西｡
‫所以我们要建立一个图, 因为这是我们通常在第一次开始时做的｡
‫任何一种项目都是试图进行一些可视化｡
‫看看这个, 这里发生了很多事情, 对吧？
‫就像你可以看看这个｡
‫如果你像我一样, 只是看着一系列的单词和数字, 你就会想, 哦, 我需要把事情形象化,
‫这很难推断｡
‫我需要看看东西｡
‫但是我们可以看到我们能从中看到什么呢？
‫所以我们有412,698个条目｡
‫这些都不是null｡
‫我们发现有些值缺失, 尤其是使用范围, 不管是什么｡
‫因此, 如果我们达到数据字典使用率范围, 即计算值低､ 中､
‫高, 将此特定机器销售小时数与收费基础模型的平均使用率进行比较｡
‫因此, 基于费用的一个是真正的另一个功能｡
‫我们走吧｡
‫这种聚合费模式的描述, 远远超出｡
‫我们这里有一些关于我们推土机的信息｡
‫好吧, 我知道了
‫这是一个非常好的数据集｡
‫但是我们可以说, 对于使用波段, 有相当少的缺失值, 因为只有73, 670个非空对象｡
‫这意味着有412,698减去缺失值｡
‫我们可以在绘图之前先弄清楚, 让我们先弄清楚｡
‫DF是A, 我们要这么过牌｡
‫如果没有价值观｡
‫我们走吧｡
‫因此, 使用范围有339, 028个缺失值｡
‫了解了我们对机器学习模型的了解, 这是我们在构建模型之前必须考虑的问题｡
‫但让我们继续前进｡
‫让我们来绘制图表, 因为我们试图预测销售, 我们知道我们的数据是一个时间序列｡
‫我们可能想看看类似于比较销售日期和销售价格的东西｡
‫因为这里有这么多行, 如果我们要这么做,
‫如果我们要尝试一个图, 所有这些数据点在一个图上, 因为你想象试图在一个图上画412,000个点, 你的计算机会很难｡
‫所以我们来做1000个左右｡
‫为什么不呢？
‫我们走吧｡
‫销售日期｡
‫我们从这里开始, 先做一千个｡
‫怎么样？
‫这是一个相当大的数字｡
‫我们想做销售｡
‫如果你想找出不同列的名称并记住, 你总是可以去列｡
‫所以我们在这里做的是, 我们取销售日期, 不管它是什么, 销售, 日期,
‫如果我们来到数据字典, 这是我们要引用的地方｡
‫销售时间, 销售日期和销售价格｡
‫现在我们的数据字典里有吗？
‫我认为销售价格是非常简单的｡
‫哦, 我们走吧｡
‫销售, 降价｡
‫销售成本（美元）｡
‫让我们来看看｡
‫让我们检查一下这些产品何时售出, 我们将销售日期放在x轴上, 因为要记住, 散点是x,
‫y, 销售价格在Y轴上｡
‫让我们来看看｡
‫这是什么？
‫哦, 我们有了等号｡
‫好吧, 我知道了
‫所以你看这里我们试着在底部放上销售日期的前一千个例子｡
‫所以这就是为什么我们的图看起来有点时髦, 它只是试图包装, 如果我们有一个看看我们的DataFrame
‫DF销售日期｡
‫这就是它试图在x轴上画出的, 如果我们看一下前一千个｡
‫它试图把所有这些值都画在这里, 这样你就可以看到它看起来像一大块条形码,
‫然后是一大块黑色文本｡
‫所以我们可以画一个直方图, 因为我们总是喜欢检查分布, 也就是尽可能多的变量的数据分布｡
‫但既然这样, 为什么不做销售呢？
‫因为这是我们的目标变量｡
‫所以销售｡
‫现在, 如果我在这里所做的看起来是非结构化的,
‫那是因为你可以通过很多不同的方式来探索一个数据集｡
‫我最喜欢的一个是DFM信息检查, 看看是否有任何空值｡
‫因此, 我们知道NULL在a中与在missing values中一样｡
‫所以我们知道有多少个缺失值｡
‫检查列｡
‫从现在开始绘制一个最重要的列｡
‫我选择销售日期是因为这是一个时间序列问题,
‫绘制一个最重要的列与销售价格或目标列的关系图, 然后对您选择的几列进行分布｡
‫这些都是我在第一次探索数据集时喜欢做的刻板的事情｡
‫但我们在这里可以看到, 我们的销售大多低于20, 000美元｡
‫所以这里最大的一列, 或者不是大多数, 而是很大的多数｡
‫很大一部分｡
‫我们还有一些低于3万的｡
‫我们假设有3万､ 4万美元, 然后它就一直走下去, 越来越少,
‫越来越少, 没有多少人的成本超过10万美元｡
‫这就是我们现在看到的｡
‫好吧, 现在｡
‫我们可能要做的是因为这些日期的格式并不是我们想要的格式｡
‫所以看看它们是如何在D型物体中出现的｡
‫当您处理时间序列时, 您希望在日期中编码尽可能多的信息｡
‫所以这就是我们要做的
‫一个我们可以做的小方法｡
‫这称为传递日期｡
‫让我们来看看传递日期是什么样子的｡
‫所以当我们处理时间序列数据的时候, 我想丰富一下｡
‫时间和日期部分, 你可能会想, 好吧, 我们怎么做呢？
‫好吧, 我们把它放在这里｡
‫我们可以告诉熊猫我们的哪一列｡
‫上面有日期｡
‫使用｡
‫过去的日期参数｡
‫好极了｡
‫它所要做的就是把我们传递给日期的列转换成一个日期时间对象｡
‫那么让我们先来看看是什么｡
‫约会时间｡
‫对象还有熊猫｡
‫我在这里打了两个日期时间戳这样你就可以找到一大堆不同的东西｡
‫什么日子？
‫这里的时间是日期时间｡
‫对象时间戳是熊猫的Python的日期时间的等价物, 并且在大多数情况下可以与之交换｡
‫好吧, 我会的
‫真漂亮｡
‫基本上, 当我们运行这个程序时, 让我们再做一次, 再导入一次数据, 但这次要传递日期｡
‫请记住, 如果有疑问, 请运行代码｡
‫PD读取CSV, 我们将进入推土机滴答声的数据循环手册, 我们将进入培训｡
‫尝试无效｡
‫见吾伏妙｡
‫但这次我们要通过｡
‫内存不足等于false, 因此我们没有该警告｡
‫然后我们传递它, 传递日期, 我们传递列名销售date.
‫为什么？
‫因为那是我们约会的地方｡
‫所以请注意这是什么｡
‫所以如果我们去航行日期, 它是一个D型对象｡
‫我们可以在这里加一点D型D型o型｡
‫所以当我们这样做的时候, 让我们看看有什么不同｡
‫这将覆盖我们的原始数据框, 这样我们就可以继续了｡
‫DFCS销售日期点D类型｡
‫啊, 这是一个有点时髦｡
‫如果我们做df saudade呢？
‫看起来像什么？
‫你不是已经先航行出去2000年了吗？
‫-你好
‫好吧, 我会的
‫所以如果我们到这里来｡
‫我们有蛇纹石｡
‫看看他们是怎么看起来像这样的｡
‫PANDAS所做的是因为我们传递了它来传递日期, 它检查了Saoudite列中的所有值, 并将它们转换为这种样式｡
‫我们有年､ 月､ 日, 我们可以看到数据类型是日期时间｡
‫64和如果你是谷歌｡
‫比较这两个, 因为你可能想知道为什么这里的值和这里的值不同？
‫你会发现在NumPy中这两个是等价的｡
‫所以你只能相信我的话了｡
‫你可以谷歌一下｡
‫我们可能真的会这么做, 这样我就能向你证明｡
‫所以我们走这里｡
‫那么C控件的数据类型是什么呢？
‫我们走吧｡
‫时间64是一般的d型, 而保持是特定的时间｡
‫我们走吧｡
‫这是堆栈溢出｡
‫所以这只是一个工作流程, 对吗？
‫当你没有得到什么的时候, 我们就走了｡
‫MP D型日期时间64等于空型配对｡
‫这就是我们要找的
‫但现在我们的日期已经过去了, 让我们做同样的情节, 我们以前做过｡
‫所以图x等于情节子情节｡
‫好极了｡
‫我们要做同样的事情｡
‫X不散开｡
‫事实上, 我们会在一秒钟内完成这个视频, 因为我们实际上正在赶时间｡
‫好吧, 我知道了
‫我们在学习｡
‫我们在探索｡
‫销售, 然后我们就去这里｡
‫我们做一千个看看有什么不同｡
‫好极了｡
‫所以看这里,
‫我现在在底部, 而不是当我们回到这里, 我们有一大堆黑色, 因为我们试图把所有这些放在那里, 因为我们的沙特列现在是以日期时间对象映射图的形式｡
‫Lib能够智能地查看数据类型, 然后相应地绘制它｡
‫所以我们在这里得到了价格, 所以我们可以看到有很多销售, 也许2005年,
‫发生了一些事情, 所以没有很多销售在2005年, 2008年, 我相信可能是金融危机或类似的东西｡
‫所以这里的销售量并不高｡
‫再说一次, 那是在2008到2009年间｡
‫我们可以看到最高的销售是在2007年｡
‫然后在2009年到2010年的中期有很多销售｡
‫但是, 这并没有告诉我们太多, 对吗？
‫我们才刚刚知道发生了什么｡
‫让我们再看一遍｡
‫你看
‫你有没有听说过？
‫这是我们合作的数据公司｡
‫我们有销售ID､ 销售价格, 还有一大堆不同的列｡
‫我们可以看到有一大堆的缺失值｡
‫如果我们想进一步了解底盘衬垫宽度的含义, 请记住, 我们有数据字典｡
‫我们可以在这里看看｡
‫我们走吧｡
‫机器配置, 履带宽度｡
‫好极了｡
‫现在我们已经做了一些探索｡
‫我们可能要做的是按销售日期对数据框进行排序, 然后从那里继续下去, 进行更多的更改｡
‫因此, 我们将在下一个视频中进行此操作,
‫但在其他方面, 我们将尝试探索数据帧, 导入数据帧, 尝试传递销售日期和不传递日期, 并检查传递和不传递日期时数据类型的差异｡