查看“验证程序”的源代码
←
验证程序
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
验证程序是一种特殊的微处理程序,用于披露数据某些维度的信息,以供买方参考。通常,验证程序不会披露额外的信息,这是由隐私计算技术保证的。 本文说明了典枢中各种验证程序的细节信息。 ''未来,典枢还将支持用户自定义验证程序。'' === CSV统计程序 === [https://github.com/YeeZTech/verification-programs/tree/main/src/dianshu2.0/csv 开源地址] 输入csv格式的文件,本算法将对文件的数据进行质量评估的统计,并在算法结束后将统计结果输出。统计结果包括csv的行数,列数,总缺失值数,列缺失值数量统计、行缺失值数量统计。算法将以列数最多的行为起点统计缺失值情况。 CSV统计程序运行后输出结果的结构如下所示:<syntaxhighlight lang="json" line="1"> { "rows": 58, "cols": 6, "totalNulls": 48, "NullProportion": 13.79, "col_nulls": [ { "null_num": 6, "count": 1 }, { "null_num": 7, "count": 1 }, { "null_num": 8, "count": 2 }, { "null_num": 9, "count": 1 }, { "null_num": 10, "count": 1 } ], "row_nulls": [ { "null_num": 0, "count": 34 }, { "null_num": 1, "count": 16 }, { "null_num": 2, "count": 2 }, { "null_num": 3, "count": 1 }, { "null_num": 4, "count": 1 }, { "null_num": 5, "count": 3 }, { "null_num": 6, "count": 1 } ] } </syntaxhighlight>输出的内容有 * '''<code>rows</code>''':csv中的总行数 * '''<code>cols</code>''':csv中的总列数 * '''<code>totalNulls</code>''':总缺失值的数量 * '''<code>NullProportion</code>''':缺失值百分比,该缺失值精确到小数点后两位。 * '''<code>col_nulls</code>''':每列中有多少个缺失行的数量统计 ** '''<code>null_num</code>''':表示缺失x行 ** '''<code>count</code>''':缺失x行的数据共有多少列 '''注''':若缺失x行的数量为0时'''<code>(count=0)</code>,将不会输出''';<code>null_num > 1000</code> 时的统计将统一存储在<code>null_num=1001</code>的条目中。这两个条件对缺失列的数据统计同样适用。 * '''<code>row_nulls</code>''':每行中有多少个缺失列的数量统计 ** '''<code>null_num</code>''':表示缺失x列 ** '''<code>count</code>''':缺失x列的数据共有多少行 === 文本抽样程序 === 输入txt格式的文本文件,本算法将对txt文件进行质量评估,将txt文件的前中后位置上的部分内容打包输出到一个json文件中。目前的算法中,当输入txt文件后,将返回该txt内容的前150字,尾部150字以及中间300字。当txt中内容太段(目前该限制为小于1500字)时,将改为取txt的前15%,后15%以及中间30%的内容。 注:在分析中,一个“字”表示一个 英文字母/汉字/符号/操作符 等内容。 文本抽样运行后输出结果的结构如下所示:<syntaxhighlight lang="json"> { "head": "#include \"user_type.h\"\n#include \"string_process.h\"\n#include \"ypc/core_t/analyzer/data_source.h\"\n#include \"ypc/stbox/ebyte.h\"\n#include \"ypc/stbox/stx_c", "mid": "一个batch的所需长度\n int start_pos = total_size / 2 - 50; // 中间的100字节的起始位置\n int mid_batch_no = start_pos / batch_max_size; // 中间的100字节所在的batch的编号\n \n start_pos = start_pos % batch_max_size; // 中间的100字节的起始位置在batch中的位置\n\n LOG(INFO) << \"Batch Num: \" << batch_num;\n LOG(INFO) << \"Start Position:", "tail": " process_string(middle_100) + \"\\\"}\";\n return result;\n }\n\nprotected:\n std::vector<std::shared_ptr<ypc::data_source_with_dhash>> m_datasources;\n};\n", "total": "3474" } </syntaxhighlight>输出的内容有: * '''<code>head</code>''':txt文件头部150字内容 * '''<code>mid</code>''':txt文件中部300字内容 * '''<code>tail</code>''':txt文件尾部150字内容 * '''<code>total</code>''':文本文件中的总字数统计 以上例子中展示的是一个包含代码内容的txt文件,除了普通文字内容,代码中包含了更多的换行符以及引号,换行符将在结果中以''''<code>'\n'</code>'''的形式被输出内容中的引号为了防止json解析失败也会以'''<code>'\"'</code>'''的格式输出。 === 视频抽样程序 === 输入mp4格式的文件,本算法将读取mp4的内容并截取其中的数帧的画面编码成base64格式的json数据输出,输出图片不固定,在每次运行时都将随机选取图片输出,目前规定输出的内容视频总时间、三张视频截图(以Base64编码表示)以及其三张截图的截取时间, ==== 输出形式 ==== <syntaxhighlight lang="json"> { totalDuration: // 总时长 positions: [ { duration: // 时间点 picture: // 截取图片 }, { duration: picture: }, { duration: picture: } ] } </syntaxhighlight> * '''<code>totalDuration</code>''':该字段中包含了所有视频截图的编码数据,每一条数据都代表一张视频截图的base64编码,可通过解码获取原图。 * '''<code>positions</code>''': ** '''<code>duration</code>''':截取图片对应时间(以秒为单位表示)。 ** '''<code>picture</code>''':该字段中包含了所有视频截图的编码数据,每一条数据都代表一张视频截图的base64编码,可通过解码获取原图。
返回至“
验证程序
”。
导航菜单
个人工具
创建账户
登录
命名空间
页面
讨论
变体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
导航
首页
数据集市
技术原理
历史版本
术语列表
隐私计算基础介绍
其他
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息