版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2026年人工智能训练师重复值处理实操考试题库1.单选题(每题2分,共20分)1.1在pandas中,若DataFrame对象df的列“user_id”存在完全相同的行,下列哪条语句可一次性输出所有重复行的索引号?A.df[df.duplicated('user_id',keep=False)].indexB.df.duplicated('user_id')C.df.drop_duplicates('user_id')D.df.groupby('user_id').size()>11.2对高维稀疏特征进行重复值检测时,优先推荐的算法复杂度最低的方法是:A.暴力两两比对B.哈希签名+局部敏感哈希C.主成分分析后再比对D.密度聚类1.3在Spark3.4中,DataFramedf含十亿行,需找出全局重复行,最合理的操作是:A.df.distinct()B.df.dropDuplicates()C.df.groupBy(df.columns.map(col):_).count().filter("count>1")C.df.groupBy(df.columns.map(col):_).count().filter("count>1")D.df.rdd.zipWithIndex().groupByKey()1.4使用Flink1.17处理无界重复日志时,若仅需保留“同一分钟内首次出现”的事件,应选用的内置算子是:A.KeyedProcessFunction+ValueStateB.CEP.patternC.window(SlidingEventTimeWindows.of(Time.minutes(1),Time.seconds(30)))D.union1.5在SQLServer2025中,对表T(a,b,c)建立唯一索引IX_T(a,b)并设置IGNORE_DUP_KEY=ON,当插入两行(1,2,3)与(1,2,4)时,结果是:A.两行均插入成功B.第一行插入,第二行被静默忽略C.触发唯一冲突报错D.表被锁死1.6对图像数据集做重复检测,若采用感知哈希,其指纹长度通常取:A.8bitB.32bitC.64bitD.256bit1.7在Python中,使用numpy.unique处理float32数组时,为避免浮点误差导致漏检,推荐的前处理是:A.乘以1e6后转int32B.使用np.isclose配合自定义距离C.直接比较D.排序后差分1.8当训练数据中正样本仅200条且存在5%重复,以下哪种去重策略最可能提升模型泛化?A.随机删除重复直到剩100条B.保留首次出现并生成对抗样本补足数量C.全部保留并加权D.使用SMOTE过采样1.9在MongoDB7.0中,对集合col建立复合唯一索引后,使用insertMany插入含重复文档的列表,默认行为是:A.全部写入,重复覆盖B.遇到第一条重复时抛异常并终止C.自动跳过重复,继续写入剩余D.随机写入一条1.10在Linux命令行对10GBCSV去重,且内存仅4GB,最佳工具组合是:A.sort-uB.awk'!seen[$0]++'C.csvkit+pandasD.GNUparallel+sort--merge2.多选题(每题3分,共15分;多选少选均不得分)2.1下列哪些做法可在TensorFlow2.15中有效避免tf.data.Dataset因重复样本导致过拟合?A.dataset=dataset.apply(tf.data.experimental.unique())B.使用hash_func自定义key去重C.在map阶段加入random_crop增加扰动D.采用group_by_window+cardinality检查2.2使用LSH进行近似重复检测时,影响召回率的因素包括:A.签名长度B.桶宽(band)数量C.行排列次数D.汉明阈值2.3在ClickHouse23.12中,对MergeTree表去重,可依赖的机制有:A.ReplacingMergeTreeB.CollapsingMergeTreeC.AggregatingMergeTreeD.VersionedCollapsingMergeTree2.4以下哪些Python库支持流式去重且内存占用可控?A.pybloomfiltermmap3B.datasketchC.pandas2.2D.streamz2.5对文本数据采用SimHash去重时,为降低误杀率,可采取:A.提高汉明距离阈值B.对文本进行归一化(大小写、统一编码)C.采用TF-IDF加权D.引入分段签名3.判断题(每题1分,共10分;正确打“√”,错误打“×”)3.1在深度学习框架中,图像增强操作会改变像素值,因此无法再用md5检测重复。3.2使用BloomFilter一定不会出现假阴性。3.3在PostgreSQL中,唯一索引与主键约束在重复处理行为上完全等价。3.4对时间序列数据,若采用滑动窗口去重,窗口大小与采样频率无关。3.5在HadoopMapReduce中,利用二次排序可在Reduce端实现去重。3.6当数据量超过内存时,外部排序的I/O复杂度为O(nlogn)。3.7对类别型特征,使用cat_encoders的HashingEncoder可避免重复值。3.8在FlinkSQL中,使用DISTINCT关键字会自动引入状态过期机制防止状态无限增长。3.9对音频文件进行重复检测,MFCC特征比原始波形更鲁棒。3.10在Python中,set对象存储元素时保留插入顺序。4.填空题(每空2分,共20分)4.1在pandas中,若要对df按列A、B联合去重并保留最后出现,语句为df.________(subset=['A','B'],keep=________)。4.2使用SimHash计算文本指纹时,最终指纹位为1的条件是________≥0。4.3在Spark中,________函数可返回每行在其分区内的哈希值,用于自定义去重。4.4在Linuxshell,对file.csv按第2列去重并输出首次出现,命令:awk________file.csv。4.5在SQL中,使用窗口函数去重时,通常配合________子句标记row_number。4.6当使用MinHashJaccard距离=0.1作为阈值时,若签名长度=128,则推荐band=________,row=________,使得s曲线在0.1处陡峭。4.7在Redis7.2中,可利用________结构实现内存友好的去重计数。4.8在Flink1.17中,状态TTL的更新类型若设为________,则每次读取都会刷新过期时间。5.简答题(每题5分,共15分)5.1描述在GPU显存受限(8GB)场景下,对2亿条128维float32向量做近似重复检测的完整流程,包括降维、索引、距离阈值设定。5.2说明在KafkaStreams中,如何使用“suppress”操作实现“每小时仅输出一次同一key的最新事件”,并解释其状态存储机制。5.3当训练数据为图文对,文本侧已去重,但图像侧存在轻微裁剪+压缩的近似重复,请给出一种端到端去重方案,确保图文一致性不被破坏。6.计算与实操题(共20分)6.1(10分)给定如下DataFrame(已加载为df),列:id,seq,score。idseqscore1AATGCC0.812AATGCC0.813AATGCC0.804CGTAAA0.905CGTAAA0.90要求:a)按seq列去重,保留score最大且id最小的行;b)输出最终剩余行的id列表;c)给出pandas代码。6.2(10分)某日志文件log.txt每行格式为“timestamp,user_id,event_type”,共50GB,需提取“每天每个用户首次登录”的记录到新文件first_login.txt。a)写出Linux单机4GB内存环境下的高效命令行流水线;b)估算时间复杂度与I/O次数;c)若需改为Spark,给出核心RDD/DataFrame代码(PythonAPI)。7.综合设计题(共20分)7.1设计一套面向“千万级商品图像库”的实时去重系统,要求:日增10万图,峰值QPS=2000;去重延迟<500ms;支持水平扩展;重复率预估8%,允许误杀率<0.1%。请给出:1)架构图(文字描述即可);2)核心算法与参数;3)状态存储选型与容量估算;4)监控与回滚策略。———答案与解析———1.单选题1.1A解析:keep=False标记所有重复,再取index。1.2B解析:LSH将高维稀疏向量映射到签名,避免O(n²)。1.3C解析:groupBy全部列后计数,可定位重复。1.4A解析:ProcessFunction可精细控制状态与定时器。1.5B解析:IGNORE_DUP_KEY静默忽略后续重复行。1.6C解析:pHash通常64bit兼顾精度与存储。1.7B解析:np.isclose可设容忍误差。1.8B解析:保留多样性并补足样本量。1.9B解析:insertMany遇唯一索引冲突即抛错。1.10D解析:parallel分块外排再merge,内存友好。2.多选题2.1ABD解析:C的random_crop不能去重。2.2ABCD2.3ABD解析:AggregatingMergeTree用于聚合非去重。2.4ABD解析:pandas非流式。2.5BCD解析:提高阈值会升高误杀。3.判断题3.1√3.2√3.3×解析:主键非空,唯一索引可空。3.4×3.5√3.6√3.7×解析:HashingEncoder会冲突。3.8×解析:需手动配置状态TTL。3.9√3.10×解析:set不保证顺序。4.填空题4.1drop_duplicates,'last'4.2权重和4.3hashCode或hash4.4'!seen[$2]++'4.5PARTITIONBY4.6band=16,row=8(示例,合理即可)4.7HyperLogLog4.8OnReadAndWrite5.简答题(要点示例)5.1采用GPU加速的FAISS-IVF1024索引,先PCA降维至32维,再用SQ8量化,距离阈值通过验证集F1最大点选取为0.35,整体显存占用<6GB。5.2使用KafkaStreams的`groupByKey().windowedBy(TimeWindows.ofSizeWithNoGrace(Duration.ofHours(1))).reduce(...).suppress(Suppressed.untilWindowCloses(Suppressed.BufferConfig.unbounded()))`,状态存储采用RocksDB,key为窗口+user,value为最新事件。5.3对图像用pHash+感知哈希,得到64bit指纹;建立图文联合key=(text_md5,img_hash);若img_hash汉明距离≤3,则仅保留首次出现的图文对;通过事务保证删除时同步删除对应文本。6.计算与实操题6.1a)代码:```pythonout=(df.sort_values(['seq','score','id'],ascending=[True,False,True]).drop_duplicates('seq',keep='first'))```b)剩余id:[1,4]c)如上。6.2a)命令:```bashawk-F,'{d=substr(1,|sort-t,-k2,2-k1,1>first_login.txt```采用外排:先按user_id分区,每区内部按时间排序,再归并。b)复杂度O(nlogn),I/O两次读写。c)Spark:```pythonspark.read.csv("log.txt")\.withColumn("dt",to_date(col("timestamp")))\.withColumn("rn",row_number().over(Window.partitionBy("dt","user_id").orderBy("timestamp")))\.filter("rn=1").write.csv("first_login_spark")```7
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论