标签: data-quality

应在输出中过滤的Unicode字符列表?

最近我因浏览器支持的数据质量而遇到了一个错误,我正在寻找一个安全的规则来应用没有双倍大小的字符串转义,除非需要.

UTF-8字节序列"E2-80-A8"(U + 2028,LINE SEPARATOR),Unicode数据库中完全有效的字符.但是,该序列表示行分隔符(是,否则为"0A").

很糟糕的是,许多浏览器(包括Chrome,Firefox和Safari;我没有测试其他浏览器)无法处理JSONP回调,该回调具有包含该Unicode字符的字符串.JSONP包含在非Unicode HTML中,我没有任何控制权.

浏览器只是在这样的JavaScript上报告了INVALID CODE /语法错误,这些错误从调试工具和所有文本编辑器看起来都是有效的.我猜测它可能会尝试将"E2-80-A8"转换为BIG-5并打破JS语法.

以上只是Unicode如何破坏系统意外情况的一个示例.据我所知,一些黑客可以使用RTL和其他控制字符.Unicode规范中有许多"引号","空格","符号"和"控件".

题:

是否有一个Unicode字符列表供每个程序员了解我们可能不希望它们在我们的应用程序中有效的隐藏功能(和错误).(例如Windows禁用文件名中的RTL).

编辑:

我不是要求JSON也不是JavaScript.我要求所有程序的Unicode处理的一般最佳实践.

unicode jsonp escaping data-quality

20
推荐指数
2
解决办法
8429
查看次数

用于匹配名称/地址数据的工具

这是一个有趣的问题.

我有一个带有名称和地址信息的oracle数据库,需要保持最新状态.

我们从许多不同的gov't源获取数据,并且需要找出匹配项,以及是否使用数据更新db,或者是否需要创建新记录.

没有任何类型的唯一标识符可用于将记录绑定在一起,并且数据质量并不总是那么好 - 总会有拼写错误,人们使用不同的名称(即Joe vs. Joseph)等.

我有兴趣听到那些曾经解决过这类问题的人,以及他们如何解决这个问题,或至少是自动化部分问题.

duplicates data-quality record-linkage

14
推荐指数
2
解决办法
2万
查看次数

如何使用 pandas 查找特定列具有小数的行?

我正在使用 pandas 编写一个数据质量脚本,该脚本将检查每列的某些条件

目前我需要找出特定列中没有小数或实际数字的行。如果数字是整数,我可以找到它,但是到目前为止我所看到的方法(ieisdigit() , isnumeric(), isdecimal()等)无法正确识别该数字何时是十进制数。例如:2.5、0.1245 等。

以下是一些示例代码和数据:

>>> df = pd.DataFrame([
    [np.nan, 'foo', 0],
    [1, '', 1],
    [-1.387326, np.nan, 2],
    [0.814772, ' baz', ' '],     
    ["a", '      ', 4],
    ["  ",  'foo qux ', '  '],         
], columns='A B C'.split(),dtype=str)

>>> df
    A   B   C
0   NaN foo 0
1   1       1
2   -1.387326   NaN 2
3   0.814772    baz 
4   a       4
5       foo qux 

>>> df['A']
0          NaN
1            1
2    -1.387326
3     0.814772
4 …
Run Code Online (Sandbox Code Playgroud)

python data-quality pandas

5
推荐指数
1
解决办法
4266
查看次数

R - 估计缺失值

我们假设我有一个表格如下:

Date        Sales
09/01/2017  9000
09/02/2017  12000
09/03/2017  0
09/04/2017  11000
09/05/2017  14400
09/06/2017  0
09/07/2017  0
09/08/2017  21000
09/09/2017  15000
09/10/2017  23100
09/11/2017  0
09/12/2017  32000
09/13/2017  8000
Run Code Online (Sandbox Code Playgroud)

这是表格中的数据

表中的值是由我无法访问的R程序估计的(现在是黑盒子).现在有几天有0值,由于我们的摄取/ ETL过程中的问题,这些值往往会蔓延.我需要用0数据估计日期的值.

我们的方法是:

  • 从缺失数据之前的日期到缺失数据之后的日期画一条线
  • 估算该行中缺失日期的值

现在,如果只有一天在两个好日子之间缺少数据,那么直截了当的意思就行了.如果连续两天或多天缺少数据,那么平均值就不起作用,所以我试图制定一种方法来估算多个数据点的值.

绿线和红线的交点将给出所需的值

这种方法在R中有效吗?我在R总共n00b,所以我不确定这是否可行.

r data-quality

4
推荐指数
1
解决办法
116
查看次数

使用Soundex,Jaro Winkler和编辑距离(UTL_MATCH)匹配Oracle重复列值

我试图找到一种可靠的方法来匹配数据库中的重复人员记录.数据有一些严重的数据质量问题,我也试图修复,但在我批准之前,我仍然坚持使用我得到的数据.

我可以使用的表格列是:

SURNAME       VARCHAR2(43)
FORENAME      VARCHAR2(38)
BIRTH_DATE    DATE
ADDRESS_LINE1 VARCHAR2(60)
ADDRESS_LINE2 VARCHAR2(60)
ADDRESS_LINE3 VARCHAR2(60)
ADDRESS_LINE4 VARCHAR2(60)
ADDRESS_LINE5 VARCHAR2(60)
POSTCODE      VARCHAR2(15)
Run Code Online (Sandbox Code Playgroud)

SOUNDEX功能对于此用途相对有限,但该UTL_MATCH软件包似乎使用Jaro Winker算法提供更好的匹配级别.

有没有人实施一种可靠的方法来匹配这种类型的数据,而不是重新发明轮子?

数据质量问题需要应对:

  1. 邮政编码虽然是强制性的,但并不总是完全输入.
  2. 地址数据质量相对较差,地址没有固定格式输入(即一些可能将line1作为"Flat 1",而一些可能将line1作为"Flat1,22 Acacia Ave").
  3. forename列可以包含初始名称,完整名称或有时多个名称.

例如我在考虑:

连接所有地址字段并将Jaro Winkler算法应用于完整地址,并结合对连接在一起的全名的类似测试.

出生日期可以直接比较匹配,但由于大量的数据只是匹配这是不够的.

Oracle 10g R2企业版.

任何有用的建议欢迎.

oracle plsql data-quality oracle10g

3
推荐指数
1
解决办法
8065
查看次数

"数据完整性"和"数据质量"这两个术语之间是否存在差异?

我今天在接受采访时被问到这个问题,并且不知道如何回答.

任何人都可以提供有关差异的见解吗?

database data-integrity data-quality

2
推荐指数
1
解决办法
3691
查看次数

使用不准确(不正确)的数据集

这是我的问题描述:

"根据家庭收入和财富调查,我们需要找出收入和支出最多的前10%家庭.但是,我们知道这些收集的数据由于许多错误陈述而不可靠.尽管有这些错误陈述,我们有数据集中的一些特征肯定是可靠的.但这些特征只是每个家庭财富信息的一小部分."

不可靠的数据意味着家庭对政府撒谎.这些家庭错误地收入和财富,以不公平地获得更多的政府服务.因此,原始数据中的这些欺诈性陈述将导致不正确的结果和模式.

现在,我有以下问题:

  • 我们应该如何处理数据科学中不可靠的数据?
  • 有没有办法找出这些错误陈述,然后使用机器学习算法报告前10%的富人更准确? - 我们如何评估本研究中的错误?由于我们有未标记的数据集,我应该寻找标签技术吗?或者,我应该使用无监督的方法吗?或者,我应该使用半监督学习方法吗?
  • 机器学习中有任何想法或应用试图提高收集数据的质量吗?

请介绍一下可以帮助我解决这个问题的任何想法或参考资料.

提前致谢.

machine-learning data-quality

1
推荐指数
1
解决办法
914
查看次数