相关文章推荐
空虚的荒野  ·  split_on_silence()何时/为 ...·  2 年前    · 
听话的小摩托  ·  Power Query 源 - SQL ...·  2 年前    · 
可爱的南瓜  ·  linux ...·  2 年前    · 

前一篇介绍了清洗数据集中的异常值,之后便可以开始处理空值、字符型等数据类型。写在最前面,测试集和训练集最好concat一起,然后再进行数据处理。
声明:关于编程语法相关问题不会展开论述,本文只针对方法路线。

空值处理——准备

首先要知道训练集中哪些列有空值,下面代码中的full是将训练集和测试集concat到一起后的:

  1. 空值填充:
    Id列对算法没有实际意义,drop掉:
    在这里插入图片描述 统计每列的空值:
    在这里插入图片描述 打印出的结果如下(截图为部分结果):
    在这里插入图片描述
    记录这些有空值的列的字段名,后面针对不的数据类型进行不同的空值处理。

空值处理——字符型空值

怎样判断各样本属性的数据类型?
在这里插入图片描述
使用info()打印出各列属性,结果如下(截图为部分结果):
在这里插入图片描述
所以,针对不同类型的空值,也需要用不同的填充方法。针对字符型(上面info()结果中的object),在调用LabelEncoder.fit_transform之前必须将空值转成字符型,否则会报错。
在这里插入图片描述 上面使用“None”来填充空值,也可以使用其他方法填充字符型空值,如众数:
在这里插入图片描述

空值处理——数值型空值

上一篇文章中已经介绍了有关数值型填充方法,包括0值,平均值、最值、概率估计等。
这里使用了0值平均值填充:
在这里插入图片描述

空值处理——变换

上面已经把空值处理完毕,但是字符型数据不能参与算法计算,所以需要使用sklearn中LabelEncoder()把所有字符型转成数值型(实现细节和原理自行百度):
在这里插入图片描述
对比如下:
在这里插入图片描述
上图为字符型转换之前数据,下图为使用过LabelEncoder()后的相应字段。
在这里插入图片描述
到此为止,所有样本都已经转成数值型,为了使其更符合正态分布,需要使用偏度再对数据进行处理。取出数据集中那些分布偏度大于指定阈值列,将其取对数,这样就可以更符合正太分布。
在这里插入图片描述 到这里,数据处理已经基本完成,接下来就需要在原特征上进行特征选择,将在下一篇中介绍。

传统机器学习——特征工程之空值处理前言空值处理——准备空值处理——字符型空值空值处理——数值型空值空值处理——变换前言前一篇介绍了清洗数据集中的异常值,之后便可以开始处理空值、字符型等数据类型。写在最前面,测试集和训练集最好concat一起,然后再进行数据处理。声明:关于编程语法相关问题不会展开论述,本文只针对方法路线。空值处理——准备首先要知道训练集中哪些列有空值,下面代码中的full...
“无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。” 1、怎么理解决策树、xgboost能 处理 缺失值?而有的模型(svm)对缺失值比较敏感呢? 首先从两个角度解释你的困惑: 工具包自动 处理 数据缺失不代表具体的算法可以 处理 缺失项 对于有缺失的数据:以决策树为原型的模型优于依...
数据科学就是关于数据的。它是任何数据科学或 机器学习 项目的关键。在大多数情况下,当我们从不同的资源收集数据或从某处下载数据时,几乎有95%的可能性我们的数据中包含缺失的值。我们不能对包含缺失值的数据进行分析或训练 机器学习 模型。这就是为什么我们90%的时间都花在数据预 处理 上的主要原因。我们可以使用许多技术来 处理 丢失的数据。在这个文章中,我将分享 处理 数据缺失的9种方法,但首先让我们看看为什么会出现数据缺失以及有多少类型的数据缺失。 不同类型的缺失值 缺失的值主要有三种类型。 完全随机缺失(MCAR):当数据为.
机器学习 中缺失值 处理 当我们拿到一批数据的时候,往往都是“不干净”的,而缺失值是最常见也是最容易发现的。不同的缺失值 处理 方式对接下来的特征提取,建模等都有巨大影响。那么缺失值的 处理 是有一套流程的,我在这里总结总结: 发现缺失值 统计每个特征在所有个体中缺失的个数 / 缺失率 这一点是查找缺失的特征
公众号:尤而小屋作者:Peter编辑:Peter本文记录的是Pandas中缺失值填充的5大技巧:填充具体数值,通常是0填充某个统计值,比如均值、中位数、众数等填充前后项的值基于SimpleImputer类的填充基于KNN算法的填充数据importpandasaspd importnumpyasnpdf=pd.DataFrame({ "A":list...
圣人曾说过:数据和特征决定了 机器学习 的上限,而模型和算法只是逼近这个上限而已。 再好的模型,如果没有好的数据和特征质量,那训练出来的效果也不会有所提高。数据质量对于数据分析而言是至关重要的,有时候它的意义会在某种程度上会胜过模型算法。 本篇开始分享如何使用Python进行数据分析,主要侧重介绍一些分析的方法和技巧,而对于pandas和numpy等Py...
在FreeMarker中,有几种 处理 空值 的方法。首先,可以使用判断标签来判断变量是否存在,并根据情况输出或不输出相应的内容。例如,可以使用`${user.name?if_exists}`来判断`user.name`是否存在,如果存在则输出,反之则不输出。另外,可以使用`${user.name!default("默认值")}`或`${name!"默认值"}`来判断存在与否,并根据情况输出相应的值或默认值。此外,还可以使用`${datename?string('yyyy-MM-dd')}`来格式化日期。\[1\] 另一种 处理 空值 的方法是使用`escape`和`noescape`标签。通过这两个标签,可以对所有的变量进行 空值 处理 。可以设置默认值,将 空值 替换为默认值,或者不进行 处理 。例如,使用`<#escape x as x!"默认值"><span>账号</span>${user.id}<span>姓名</span>${user.name}</#escape>`来设置默认值,或者使用`<#noescape><span>账号</span>${user.id}<span>姓名</span>${user.name}</#noescape>`来对 空值 不进行 处理 。\[2\] 此外,还可以通过属性配置的方法来 处理 空值 。可以在类路径下添加`freemarker.properties`文件,并在其中配置`classic_compatible=true`。或者通过`freemarker.template.Configuration`的`config.setClassicCompatible(true)`方法来设置。另外,在ftl文件内引入`<!--#setting classic_compatible=true-->`也可以实现相同的效果。\[3\] 综上所述,FreeMarker中 处理 空值 的方法有多种,可以根据具体情况选择适合的方法来 处理 空值 。 #### 引用[.reference_title] - *1* *2* [freemarker之 空值 处理 解决方案](https://blog.csdn.net/wdehxiang/article/details/77772356)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [四种 处理 freemarker 空值 的方法](https://blog.csdn.net/weixin_33790053/article/details/92931783)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
pycharm使用ssh连接服务器(ubuntu)跑代码报错:“sudo+ssh: ……bash: line 0: cd: xxx/code: No such file or directory” Batch Normalization详解(原理+实验分析) BatchNorm怎样解决训练和推理时batch size 不同的问题?