数据科学中对Null的当前定义受到严格限制。有点努力?我们将大大改善以前在Null中发现的数据的处理。
老问题是“空”问题。它是Codd在一篇有关数据库语义的文章中提出的。
程序员必须努力处理空值。也许这就是为什么他们不喜欢Null甚至提倡没有Null的想法的原因。流行的说法是在SQL中包含Null是错误的。
以下空定义可用:
最后一个定义是数据库中最常用的定义。
数据科学将Null定义为缺失值。
在这里 Jake VanderPlas讨论了python,Pandas,numpy中Null,NaN,NA,None值的使用和解释。
下面,我将说明现有方法仅部分反映了现实,并且在许多情况下可以专门针对数据科学进行扩展。
这是丢失数据的当前状态的很好概述(感谢阿尔坎斯特 !)
考虑样本示例中缺少一些样本值的典型情况,这是一组值。
没有数据
示例:带有值的传感器没有给出值。传感器可能已损坏。否则数据读取通道可能会因为丢失一些数据而变得不稳定。
不确定
- 竞争值:算法以相同的概率将值分为A和B。根据现有规则,我们不会同时记录两个值,而是将其写为Null。
- 低概率:该算法将值分类为A,但是概率很小。根据现有规则,我们不能接受A的值。
- : . , , . , .
- outlier: " " 1000 . 1000 Null.
, .
Null . , Null " ", . Null " ", , . " " ( ).
ML , Null , .
Null
. — . . :
- , , . .
- , . .
- . , . , , . , . .
- , , : , , .. .
- . .
Null. , ^ , : " ", " ", " ", "", " ". Null . , . , , .
- .
用几个更详细的类替换Null还有一个缺点。Null是数据类型级别,语言级别的抽象,它为我们提供了许多内置的数据处理功能和方法。
实际上,我们在分类系统中添加了新的类,这不会使处理复杂得多。
而且,至少我们需要清楚地了解数据中Null值的含义。更好地理解数据总会带来更好的结果,不是吗?