‫嗯, 我们在这方面进展不错｡
‫存在价格回归问题｡
‫在上一个视频中, 我们尝试构建一个机器学习模型｡
‫我们了解到有些数据不是数字格式｡
‫看这里, 我们有一些字符串, 如果我们过牌｡
‫DF哦, 实际上我们正在和DF临时工合作｡
‫我的错, C, 这些是你将要忘记的, 你将要经历的, 你将要混淆的｡
‫所以DF Temp还是一样的问题, 对吗？
‫因为这里有一些值, 一些列是数字的, 还有一大堆不是｡
‫我们能做些什么呢？
‫好吧, 甚至不是｡
‫丹尼尔, 你在干什么？
‫您甚至没有使用临时数据框｡
‫好吧, 这是游戏的一部分, 对吧？
‫犯了错误, 然后回去修正它们｡
‫这是数据科学家的一部分｡
‫大量的实验｡
‫因此, 我们将所有字符串数据或非数字数据转换为数字的一种方法是将它们转换为PANDAS类别｡
‫那是什么意思？
‫因此, 将字符串转换为类别｡
‫现在我把它放在这里｡
‫我们将所有数据转换成数字的一种方法是将它们转换成PANDAS类别｡
‫因此, 就像我们在导入销售日期时看到的日期时间对象一样, PANDAS有另一种数据类型, 称为类别｡
‫让我们来看看Pandas类型API｡
‫好了, 我们走吧｡
‫这个可能更好一点｡
‫我们可以在这里看到这个｡
‫所以熊猫点API类型｡
‫我们在哪里可以看到这个？
‫实用程序函数､ 数据类型､ 相关功能｡
‫我们开始吧｡
‫让我们复制这个, 但让我们先读出来｡
‫这是怎么回事？
‫D型自检｡
‫所以D型是球型是直言型｡
‫好的, 熊猫d类型将输入转换为numpy数据类型对象上的一个只有熊猫的d类型对象｡
‫好吧, 我会的
‫所以我们有很多选择｡
‫来看看熊猫的不同数据类型｡
‫但是, 既然我们关注的是将字符串转换为类别, 那么就让我们来看看我们是如何做到这一点的｡
‫让我们在这里放一个小链接｡
‫我们可以在这里检查与熊猫兼容的不同数据类型｡
‫请记住, 很多机器学习基本上是获取一些数据, 我们在这里得到的数据,
‫然后准备它与现有的机器学习模型一起运行, 我们从机器学习地图中选择的模型不在这里｡
‫所以这是关于获得一些投入｡
‫好吧, 我会的
‫我们这里有一大堆数据｡
‫所有这些东西在这里, 然后按摩它或本质上, 是的, 这是一个很好的词｡
‫把它改造成一种机器学习模型｡
‫这样机器学习模型就能找到模式｡
‫其他人为我们建立了这个模型, 我们要非常感谢他们｡
‫然后它会找到模式并给予一些输出｡
‫好吧, 一些预测, 一些模式, 一些标签, 诸如此类｡
‫然后我们就可以评估我们在这里做的工作有多好｡
‫我们正在操纵我们的输入来与我们的机器学习模型一起工作｡
‫让我们来看看｡
‫让我们来提醒自己的临时头｡
‫我们在做什么｡
‫好吧, 我会的
‫是啊, 我们已经见过很多次了｡
‫这只是另一种看待它的方式｡
‫查看您的数据总是一个好主意｡
‫所以我们可以尝试使用这些API类型中的一种｡
‫那么我们能用什么呢？
‫这里有一根绳子吗？
‫我们走吧｡
‫IP类型是字符串D类型｡
‫我们怎么用这个是字符串D型字符串｡
‫好吧, 我会的
‫我们来试试这个｡
‫因此付费API类型｡
‫它是字符串d类型def temp｡
‫用法有禁止使用的警告吗？
‫为什么有使用警告？
‫难道还有不使用警告警报器的吗？
‫我不知道我不知道
‫谁知道呢？
‫我会继续犯这个错误, 但我们过牌｡
‫好吧, 我会的
‫所以它是一个字符串｡
‫使用范围列是一个字符串｡
‫现在, 我们几乎可以对其他每一列都做同样的事情, 但是为什么要编写这么多代码呢？
‫让我们构建一个for循环｡
‫这对我们来说很重要｡
‫很好｡
‫包含字符串的列｡
‫因为如果我们知道哪些列包含字符串, 那么我们就可以把它们转换成某种数字, 我们的机器学习模型就会很高兴｡
‫因此, Def Temp中有四个标签列｡
‫现在, 我将回顾这1/1,
‫然后我们将回顾它, 因为你可能会看到这一点, 我不知道DF临时项目是什么, 但也许你想尝试一下｡
‫也许你想暂停一个视频, 尝试一下, 你解释给我听, 而不是打字｡
‫如果没有, 也没关系｡
‫我们现在要过一遍｡
‫我们要做的就是复制这样的东西因为我们要找到所有带字符串的列, 然后传递这个.
‫或者实际上这是更多的内容｡
‫文件上是这么说的｡
‫我们要在这里传递内容｡
‫所以这是有道理的｡
‫你不知道DF项的作用, 除非你已经检查过了, 但是我们要检查标签内容,
‫然后我们要检查内容是否是字符串数据类型｡
‫是的, 我知道
‫然后我们要打印标签｡
‫现在, 你也许能猜到它的作用, 但如果猜不到, 也没关系｡
‫我们还是要看看到底是什么｡
‫如果有疑问, 运行代码, 我们就到了｡
‫所以这些列都是字符串数据类型｡
‫这有道理吗？
‫如果你想知道DF临时物品的作用是什么？
‫它把我们的数据帧当作字典, 这就是它的本质, 对吗？
‫它是一个键和值的字典｡
‫好吧, 我会的
‫数据行名称的索引键和值就是您在数据行的中所看到的｡
‫让我们给予一个小例子｡
‫如果你想知道什么默认项目｡
‫的确如此｡
‫这里有一个例子｡
‫所以我们要创建一个随机字典, 让我们创造性地, 一个等于你好, 一个等于二｡
‫好吧, 也许你可以比我更有创意一点, 但我们要去的关键价值在随机鸡巴项目｡
‫看看我们是怎么拿到我们的物品的｡
‫这里也一样｡
‫点项目｡
‫我们要走了｡
‫如果这是一把钥匙, 我们需要指纹, 然后我们会传递它｡
‫然后我们也去｡
‫如果这是一个值｡
‫物有所值｡
‫好极了｡
‫所以如果你以前用过Python字典, 你也许能知道这里会发生什么｡
‫这是什么？
‫哦, 我明白了｡
‫打印了两次｡
‫没关系的｡
‫我们可以知道那里发生了什么｡
‫因此, 对于带标签得内容, 实际上就是为列名加上标签, 而内容就是列得内容.
‫这就是它的作用｡
‫这个很棒的for循环告诉我们所有包含字符串数据类型的列｡
‫好极了｡
‫现在我们知道了, 我们能做什么？
‫嗯嗯嗯
‫好吧, 如果我们通读一下熊猫数据类型的相关功能｡
‫好吧, 我们不会那么做的｡
‫但它就在这里或那里的某处｡
‫或者, 您也可以搜索如何更改熊猫列的数据类型｡
‫你可能会遇到的一件事是把字符串转换成类别, 而不是谈论它｡
‫丹尼尔, 来吧｡
‫咱们就｡
‫我们就编个代码吧｡
‫让我们拭目以待吧｡
‫好吧, 好吧, 好吧, 我们开始吧｡
‫所以这会将所有的字符串值转换为类别值｡
‫你想知道我们为什么要这么做？
‫好吧, 马上就说得通了｡
‫所以对于label, 我们只需要在DF临时项之前使用我们编写的for循环.
‫我们要讲的是, 如果是API上的peed, 这是一个相当长的类型, 是字符串, D类型, 这是一个很长的类型,
‫基本上是字符串的内容｡
‫如果为true, 则要定义临时值｡
‫我们想换个专栏｡
‫所以请看这里的列名｡
‫所以我们要访问该列名｡
‫我们想把它设为等于内容｡
‫因此, 请保留列名, 但将内容更改为as type category｡
‫我得把这个拼对｡
‫点猫｡
‫遵命｡
‫哦, 我的天啊｡
‫这是怎么回事？
‫好吧, 让我们来看看｡
‫会发生什么事呢？
‫嗯嗯嗯
‫这可能需要一点时间, 因为我们要通过很多列, 但我们要预加载我们的下一个木星细胞,
‫对不对？
‫因为我们正在浏览这个漂亮的DF临时点信息｡
‫看看这里
‫这到底是怎么回事？
‫我们改变了什么？
‫我给予你点提示｡
‫好吧, 就是这个｡
‫这些过去都是物体, 好吗
‫它们曾经是线｡
‫现在, 我们将它们分成了几个类别｡
‫嗯嗯嗯
‫嗯, 这很有趣｡
‫这是什么意思呢？
‫好吧, 我知道了
‫-你好
‫我们可以在这里看看｡
‫请记住, 我们试图确保所有的数据帧都是数值型的, 这样我们就不能将字符串传递给机器学习模型｡
‫所以这就是我们的目标, 一个DF临时工｡
‫让我们看看我们之前检查了哪一个？
‫是国家吗？
‫真漂亮｡
‫让我们检查一下｡
‫所以def临时点状态不是cat类别｡
‫好极了｡
‫怀俄明州的老忠实泉｡
‫向怀俄明州和其他每个州大喊, 不管你来自哪里, 还有其他每个国家, 说实话,
‫因为这是在互联网上｡
‫好吧, 我会的
‫所以我们这里有分类｡
‫它要做的是记住我们什么时候计算状态值｡
‫还记得我们做这个的时候吗
‫如果我们要回顾所有这些内容, 因为还记得我们刚才是怎么做的, 我们刚才已经讨论了很多内容｡
‫那你就来吧, 把它们解释成有序的手段｡
‫这些都是现在订购的｡
‫看字母顺序如何｡
‫是啊是啊｡
‫是的是的是的
‫看到了吗？
‫没事的｡
‫没有“是”｡
‫这些是按值计数排序的, 而不是在这里排序的｡
‫但从本质上讲, 它把它从字符串变成了类别｡
‫当我们调用这个函数的时候, 这个函数会赋值.
‫它会给每个类别分配一个数值｡
‫所以现在看这个, 这真的没有意义, 对吗？
‫因为这些看起来还是像弦｡
‫然而, 在兜帽之下, 熊猫却把这些当作数字｡
‫所以亚拉巴马可能是一个, 阿拉斯加州可能是两个, 亚利桑那州可能是三个｡
‫我们可以通过def temp, dot state, dot cat四个类别来检查｡
‫所以我们要进入那只猫｡
‫还记得我们如何使用date访问日期时间吗？
‫好吧, 现在我们进入分类条形码｡
‫好了, 现在我们有了一种访问数据帧的方法｡
‫至少所有的字符串值都正确｡
‫已经被转换成了类别, 因为这里我们遍历了数据帧, 并判断出它们是否是字符串｡
‫我们将它们的数据类型更改为类别, 并给它们排序｡
‫现在我们有了所有这些类别, 我们有了一种方法来访问它们的数值｡
‫谁啊？
‫不是那个｡
‫嘿, 我在搓我的手｡
‫你可能听不到因为我真的很兴奋｡
‫但是, 即使我们有一种方法来访问我们的数据作为数字, 我们仍然有一大堆的缺失值｡
‫我们把这个记下来｡
‫让我们感谢一下｡
‫所以, 多亏了熊猫｡
‫类别｡
‫我们现在有了一种以数字形式访问所有数据的方法｡
‫真漂亮｡
‫但我们仍然有一堆缺失的数据｡
‫让我们看看支票｡
‫缺少数据｡
‫所以我们现在有了DF临时点｡
‫有一些｡
‫现在我们来看看比率｡
‫好吧, 我知道了
‫所以, 让我们将其除以数据帧的长度｡
‫所以我们在这些列中得到了9个惊人的值因为这些都是零, 然后我们有｡
‫好的, 这里没有太多遗漏, 但是使用率范围有80%的遗漏数据｡
‫85%缺失数据, 81%缺失数据, 52%｡
‫所以93天啊, 也许有什么事情发生了｡
‫我们可能不得不这么做｡
‫如果这是一个野外的数据集, 我们正在与客户合作, 也许我们会问他们｡
‫但由于它来自Kaggle, 访问主题专家可能很难在这个数据集上｡
‫这些我们可能会进一步探索, 但我们的使命是建立一个机器学习模型｡
‫所以我们接下来要做的就是填补这些缺失的值｡
‫但在此之前, 由于我们已经对DF temp进行了一些更改, 因此我们将其保存到一个新的CSV中｡
‫如果我们只是从Fresh开始这个笔记本, 我们可以导入我们处理过的数据帧, 然后从我们现在的位置开始｡
‫因此保存预处理数据｡
‫然后导出当前的临时数据帧, 将临时数据帧与CSV进行比较, 并将其放回数据文件夹中｡
‫所以蓝皮书｡
‫推土机战术手册｡
‫我们就简单地称它为列车临时工, 而不是CSB｡
‫真漂亮｡
‫我想指数等于假｡
‫否则, 当我们重新导入它时, 会出现一些有趣的事情｡
‫然后我们要导入｡
‫预处理数据｡
‫现在你可以在任何阶段这样做, 对吗？
‫如果您对临时数据框进行了一些更改｡
‫我决定现在就做是因为我想到了｡
‫你可以做到这一点, 无论你在什么阶段｡
‫如果您更新了一些列, 如果您完成了一些功能工程, 您可以将其导出并以这种方式重新导入｡
‫如果您要在稍后的会话中返回, 则不必再次进行这些更改｡
‫您不必从头开始运行笔记本电脑｡
‫你可以从这里开始｡
‫哦, 不, 我们刚写进文件｡
‫丹尼尔, 来吧, 我们现在就想读｡
‫第八页｡
‫我得说是非常｡
‫这应该可以｡
‫他们应该重新进口｡
‫然后, 如果我们需要def temp head, 我们应该拥有与现在使用的数据帧完全相同的数据帧｡
‫好极了｡
‫所以, 再一次, 我们要提醒自己, 我们有很多缺失的值要处理｡
‫真漂亮｡
‫仅仅因为我们导出并重新导入它, DataFrame并不意味着我们丢失的值已经得到处理｡
‫所以这可能就是我们要做的｡
‫这就是我们在下一个视频中要做的, 因为我们正在为机器学习模型准备数据,
‫让我们开始填补一些缺失的值｡