- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第PAGE页共NUMPAGES页
面试数据建模工程师:线上笔试题含编程解析
一、编程题(共3题,每题20分,总计60分)
题目1:数据清洗与预处理(20分)
背景:
某电商平台需要对用户行为数据进行预处理,以支持后续的关联规则挖掘和用户画像分析。数据包含用户ID、商品ID、购买时间、商品类别、购买金额等信息。部分数据存在缺失值、异常值和重复记录,需要进行清洗和预处理。
任务:
假设你已使用Python的pandas库加载了名为`data.csv`的订单数据表,请完成以下任务:
1.缺失值处理(10分):
-统计各列的缺失值数量。
-对于`购买金额`列,使用该列的中位数填充缺失值。
-对于`商品类别`列,使用该列的众数填充缺失值。
2.异常值处理(5分):
-假设`购买金额`列的异常值定义为:金额小于0或大于10000,请将异常值替换为该列的中位数。
3.重复值处理(5分):
-检查并删除完全重复的记录。
要求:
-代码需包含必要的注释,逻辑清晰。
-输出处理后的数据表的前5行。
示例代码:
python
importpandasaspd
加载数据
data=pd.read_csv(data.csv)
任务1:缺失值处理
统计缺失值数量
missing_values=data.isnull().sum()
print(缺失值统计:\n,missing_values)
填充缺失值
data[购买金额].fillna(data[购买金额].median(),inplace=True)
data[商品类别].fillna(data[商品类别].mode()[0],inplace=True)
任务2:异常值处理
median_price=data[购买金额].median()
data[购买金额]=data[购买金额].apply(lambdax:median_priceifx0orx10000elsex)
任务3:重复值处理
data.drop_duplicates(inplace=True)
输出处理后的数据表前5行
print(\n处理后的数据表:\n,data.head())
题目2:特征工程(20分)
背景:
某金融机构需要对信用卡用户的信用风险进行评估,现有数据包含用户的年龄、收入、消费频率、逾期次数等特征。为了提高模型的预测性能,需要构建新的特征。
任务:
假设你已使用Python的pandas库加载了名为`credit_data.csv`的信用卡用户数据表,请完成以下任务:
1.特征构造(10分):
-构造一个新特征`年龄分组`,将年龄分为三个组:“青年”(18-30岁)、“中年”(31-50岁)、“老年”(51岁以上)。
-构造一个新特征`收入水平`,将收入分为三个组:“低”(0-50000)、“中”(50001-100000)、“高”(100001以上)。
2.特征编码(10分):
-对`年龄分组`和`收入水平`进行独热编码(One-HotEncoding)。
要求:
-代码需包含必要的注释,逻辑清晰。
-输出处理后的数据表的前5行。
示例代码:
python
importpandasaspd
importnumpyasnp
加载数据
data=pd.read_csv(credit_data.csv)
任务1:特征构造
年龄分组
defage_group(age):
if18=age=30:
return青年
elif31=age=50:
return中年
else:
return老年
data[年龄分组]=data[年龄].apply(age_group)
收入水平
defincome_level(income):
ifincome=50000:
return低
elif50001=income=100000:
return中
else:
return高
data[收入水平]=data[收入].apply(income_level)
任务2:特征编码
data=pd.get_dummies(data,columns=[年龄分组,收入水平],drop_first=True)
输出处理后的数据表前5行
print(\n处理后的数据表:\n,data.head())
题目3:模型评估与调优(20分)
背景:
某电商公司希望预测用户的购买行为(是否购买),现有数据包含用户ID、商品ID、浏览时间、加入购物车次数等特征。公司计划使用逻辑回归模型进行预测,并希望优化模型的AUC(AreaUndertheROCCurve)。
任务:
原创力文档


文档评论(0)