版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2026年人工智能训练师数据清洗实操考试题库及解析一、单项选择题(每题2分,共20分)1.在数据清洗流程中,以下哪一步骤最优先执行?A.缺失值填补B.异常值检测C.数据类型转换D.数据一致性校验答案:D解析:一致性校验可提前发现字段命名、单位、格式冲突,避免后续步骤做无用功。2.某电商订单表“price”字段出现负值,最合理的处理策略是:A.直接删除整条记录B.取绝对值C.标记为异常并回溯业务口径D.用均值替换答案:C解析:负价格可能对应退款单,需先回溯业务再决定删除、修正或保留。3.使用正则表达式清洗手机号时,下列哪段Python代码可匹配“+86-138-0000-0000”并提取纯数字?A.`re.findall(r'\d{3}-\d{4}-\d{4}',s)`B.`re.sub(r'\D','',s)`C.`re.search(r'\+86-(\d{3}-\d{4}-\d{4})',s).group(1)`D.`re.split(r'-',s)[1:]`答案:B解析:`\D`匹配所有非数字字符,`sub`替换后仅保留数字,通用性强。4.在Pandas中,对DataFramedf的列A进行类型转换,若存在“#N/A”字符串,下列做法能一次性完成转换并强制无效值为NaT的是:A.`pd.to_datetime(df['A'],errors='ignore')`B.`pd.to_datetime(df['A'],errors='coerce')`C.`df['A'].astype('datetime64[ns]')`D.`df['A'].replace('#N/A',None).astype('datetime64[ns]')`答案:B解析:`errors='coerce'`把无效解析强制为NaT,无需额外replace。5.箱型图判定异常值使用IQR规则,若Q1=10,Q3=20,则上界为:A.20B.25C.35D.40答案:C解析:上界=Q3+1.5×IQR=20+1.5×(20-10)=35。6.对高基数类别变量进行清洗时,最佳降维策略是:A.独热编码B.目标编码C.合并低频类别为“OTHER”D.标签编码答案:C解析:合并低频可减少噪声,降低过拟合风险,同时保留信息。7.在PySpark中,DataFramedf的列“ts”为Unix时间戳(秒),需转为“yyyy-MM-dd”格式,正确语法是:A.`df.withColumn("date",F.from_unixtime("ts"))`B.`df.withColumn("date",F.date_format(F.col("ts")/1000,"yyyy-MM-dd"))`C.`df.withColumn("date",F.date_format(F.from_unixtime("ts"),"yyyy-MM-dd"))`D.`df.withColumn("date",F.to_date("ts"))`答案:C解析:`from_unixtime`返回字符串,再用`date_format`确保格式精准。8.对文本字段做清洗时,发现大量“\u200b”零宽空格,最佳移除方式是:A.`str.strip()`B.`str.replace("","")`C.`re.sub(r'\u200b','',s)`D.`unicodedata.normalize("NFKC",s)`答案:C解析:零宽空格不属于ASCII空格,需用正则精准匹配Unicode码位。9.在数据清洗阶段,以下哪项操作可能引入数据泄露?A.使用全局均值填补训练集缺失值B.标准化时fit于训练集,transform于测试集C.用训练集+测试集合并后的统计量做目标编码D.删除测试集重复行答案:C解析:合并统计导致测试集信息渗入训练集,造成leakage。10.对GPS坐标清洗时,发现纬度>90,应:A.视为缺失B.用经度替换C.取模90D.直接删除答案:A解析:纬度合法范围[-90,90],超出即无效,按缺失处理并记录审计日志。二、多项选择题(每题3分,共15分)11.以下哪些属于数据清洗中的“一致性”问题?A.同一用户ID对应不同生日B.日期格式混用“2025/01/01”与“01-Jan-2025”C.数值字段含“$”符号D.主键重复答案:A、B、D解析:C为格式问题,属“准确性”或“类型”维度。12.使用Pandas进行缺失值可视化时,可调用:A.`df.isna().sum().plot.bar()`B.`msno.matrix(df)`C.`seaborn.heatmap(df.isna(),cmap="viridis")`D.`df.plot.scatter(x="A",y="B")`答案:A、B、C解析:D为散点图,与缺失分布无关。13.对文本字段“address”做清洗时,合理的标准化包括:A.统一全角半角括号B.移除楼层“F”字样C.将“Road”“Rd”映射为“RD”D.用NER提取省市区后丢弃原始字段答案:A、C解析:B可能丢失信息,D需评估业务是否允许丢弃原始。14.在SQL中清洗字符串字段name时,需移除首尾空格并合并连续空格,可组合使用:A.`TRIM(name)`B.`REGEXP_REPLACE(name,'\s+','')`C.`LTRIM(RTRIM(name))`D.`REPLACE(name,'','')`答案:A、B或C、B解析:需先TRIM再正则合并空格。15.以下哪些做法可有效降低类别变量cardinality?A.使用Word2Vec聚类后合并B.基于频率合并尾部类别C.基于目标变量均值做KMeans合并D.使用Hashingtrick答案:B、C、D解析:A的Word2Vec需大量文本,不适用于短类别名。三、判断题(每题1分,共10分)16.数据清洗只需在训练集执行一次,后续推理无需重复。答案:错解析:推理数据需走同一清洗管道,否则分布漂移。17.在Pandas中,`df.dropna(thresh=2)`表示保留至少2个非NaN的列。答案:错解析:thresh指行维度,非列。18.对时间序列缺失值采用线性插值前,必须先排序。答案:对解析:无序插值会导致错误结果。19.使用Z-score检测异常值时,数据必须服从正态分布。答案:错解析:Z-score仅为统计量,非参数方法亦可使用,但阈值需调整。20.在Spark中,DataFrame的`dropDuplicates()`会保留第一次出现的记录。答案:对解析:默认保留first。21.零值一定代表缺失。答案:错解析:零可能为真实业务值,需结合上下文。22.对图像数据集清洗时,删除EXIF信息可防止隐私泄露。答案:对解析:EXIF可能含GPS坐标。23.使用LabelEncoder处理高基数类别会引入序关系,可能误导模型。答案:对解析:树模型可容忍,线性模型会误判大小。24.在Python中,`json.loads`可自动将“null”转为`None`。答案:对解析:JSON标准映射。25.数据清洗后必须重新生成数据字典。答案:对解析:字段含义、取值范围可能变化,需同步文档。四、填空题(每空2分,共20分)26.在Pandas中,将列A的“NULL”字符串替换为真正的NaN,代码为:`df['A']=df['A'].________("NULL",np.nan)`答案:`replace`27.使用SQL计算某字段缺失率,语法为:`SELECT________()-COUNT(col)ASmissing_cntFROMt;``SELECT________()-COUNT(col)ASmissing_cntFROMt;`答案:`COUNT`28.对DataFramedf使用`df.groupby("user_id")["amount"].________()`可计算每个用户的中位数消费。答案:`median()`29.在Python正则中,匹配Unicode任意空白符(含全角空格)的模式为:________答案:`\s`或`[\u0009-\u000D\u0020\u0085\u00A0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]`30.对时间戳列ts做向下取整到小时,SparkSQL函数为:________答案:`date_trunc("hour",ts)`31.若某类别变量唯一值数量与总行数相等,则该变量为________变量。答案:ID型或高基数唯一32.在Sklearn中,用训练集均值填补缺失值,需先实例化________类。答案:`SimpleImputer(strategy="mean")`33.对文本做拼写纠正,Python库________基于编辑距离提供快速纠错。答案:`pyspellchecker`或`textblob`34.在Linux命令行,快速查看CSV文件前10行并检查分隔符,使用:________答案:`head-n10file.csv|sed's/,//g'|column-t`35.对GPS数据清洗时,常用________投影将经纬度转为平面坐标,方便距离计算。答案:UTM五、简答题(每题8分,共24分)36.描述“频率合并+目标编码”两步法处理高基数类别变量的完整流程,并指出如何避免过拟合。答案:1)统计训练集各类别出现频次,合并频次低于阈值k的类别为“OTHER”。2)对剩余类别计算目标均值μ_i,平滑方式采用Cateriansmoothing:=其中m为先验权重,可取类别数的中位数。3)测试集仅使用训练集得到的映射表,未知类别归入“OTHER”并赋予全局均值。4)采用交叉验证确定k与m,避免信息泄露;同时加入随机扰动或噪声提升鲁棒性。37.给出在PySpark中检测并删除“完全重复+主键冲突”记录的代码模板,要求保留最新时间戳row。答案:```pythonfrompyspark.sqlimportWindowimportpyspark.sql.functionsasFw=Window.partitionBy("pk").orderBy(F.col("ts").desc())df_clean=(df.withColumn("rn",F.row_number().over(w)).filter("rn=1").drop("rn"))```解析:按主键分区、时间戳排序,row_number=1即为最新记录,其余丢弃。38.说明如何在Pandas中利用“链式赋值”安全地修改子集,并给出最佳实践代码。答案:避免链式赋值需使用`.loc`一次性完成筛选+赋值:```pythonmask=df["status"]=="invalid"df.loc[mask,"price"]=np.nan```解析:先构造布尔掩码,再用`.loc`确保返回视图而非副本,杜绝`SettingWithCopyWarning`。六、综合实操题(共31分)39.(15分)某文件sensor.csv包含100万条传感器记录,字段:device_id,ts,temp,hum,status。其中status取值“OK”“FAIL”“#N/A”“unknown”。temp与hum存在负值与超出物理极限值(temp>80°C,hum>100%)。要求:1)编写Linux一行命令,统计status字段每种取值的数量;2)给出PySpark脚本,完成以下清洗并输出Parquet:a)将“#N/A”“unknown”视为缺失,统一为NaN;b)删除temp或hum缺失的记录;c)对temp负值用全局中位数填补,hum>100用100封顶;d)添加一列date,格式yyyy-MM-dd,由ts(Unix秒)转换;e)按device_id哈希分区成20个文件,Snappy压缩。答案:1)`awk-F,'NR>1{a[$5]++}END{for(kina)printk,a[k]}'sensor.csv`2)脚本如下:```pythonfrompyspark.sqlimportSparkSessionimportpyspark.sql.functionsasFspark=SparkSession.builder.appName("cleanSensor").getOrCreate()df=spark.read.csv("sensor.csv",header=True,inferSchema=True)median_temp=df.approxQuantile("temp",[0.5],0.01)[0]df=(df.replace(["#N/A","unknown"],None,subset=["status"]).filter("tempisnotnullandhumisnotnull").withColumn("temp",F.when(F.col("temp")<0,median_temp).otherwise(F.col("temp"))).withColumn("hum",F.least(F.col("hum"),F.lit(100))).withColumn("date",F.date_format(F.from_unixtime("ts"),"yyyy-MM-dd")).repartition(20).write.partitionBy("device_id").mode("overwrite").option("compression","snappy").parquet("sensor_clean.parquet"))```40.(16分)现有一份用户评论数据reviews.json,字段:user_id,review_text,rating∈{1,2,3,4,5}。要求:1)使用Python(Pandas+正则)完成以下清洗,输出clean.json.gz:a)去除HTML标签如`b)合并连续空白符为单空格;c)过滤空评论或字数<5;d)将全角数字0-9映射为半角0-9;e)统计并打印清洗前后记录数、平均字数。2)给出正则表达式,提取评论中所有emoji(Unicode范围:U+1F300-1F9FF),并计算每个emoji出现频次,输出top20。答案:```pythonimportpandasaspd,re,json,gzip,unicodedatadefclean_text(s):
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东学前教育试题及答案
- 乳品干燥工安全实践评优考核试卷含答案
- 江西工程学院《西医内科学》2025-2026学年期末试卷
- 砚台雕刻工安全生产能力竞赛考核试卷含答案
- 钢铁产品质检工操作水平模拟考核试卷含答案
- 无机化学反应生产工诚信能力考核试卷含答案
- 管模维修工风险识别强化考核试卷含答案
- 摩托车成车装调工岗前安全检查考核试卷含答案
- 体育:桥梁与文化-深化全球体育文化交流
- 护士职业性腰背痛预防规范解读
- 2026年心理咨询师考试题库300道附参考答案(综合题)
- 承包土豆合同范本
- 2025年长期照护师考试试题
- 青少年航天科普
- 2026届浙江绍兴市高三一模高考政治试卷试题(答案详解)
- 普通研磨工岗前操作规范考核试卷含答案
- 《高等数学 上册》课件 3-7曲率
- 公路桥梁养护管理规范手册
- DB32∕T 5031-2025 纸质档案等离子臭氧消毒技术规范
- 云南省政府采购评审专家考试真题库及答案完整版
- 2025-2030武术培训行业线上线下融合发展模式研究报告
评论
0/150
提交评论