2019网易互娱数据挖掘实习生笔试部分记录

39次阅读

共计 1745 个字符,预计需要花费 5 分钟才能阅读完成。

今晚做完了网易互娱数据挖掘实习生的笔试题,虽然大部分的题目都不太记得了。但是还是有一些印象比较深的坑需要填一下。比起腾讯和字条跳动难度适中,不算很大,字节的笔试挂了。其实这次感觉自己做的也不是挺好哈哈哈。
1、题型
笔试分为三部分:20 道单选题 + 10 道不定项选择 + 2 道编程题
2、题目
选择题

1. one-vs-rest 题目是让选择对用 one-vs-rest 思想进行 n 分类,需要几个分类器。一开始还不知道原来 one-vs-rest 就是 one-vs-all,但是后来排除了就剩下 n 个分类器这个答案了。one-vs-all(one-vs-rest):利用 n 个二分类器完成 n 分类的任务。

2.sigmoid、TaNh、ReLU 题目是选择哪个函数有可能是输出为 -0.01 的神经网络的激励函数。其实题目很简单利用函数的值域就能解出来,但是利用这个机会去理一理这三个函数的区别吧。神经网络中的激活函数

3、bootstrap 原理题目是选择 boostrap 的原理。主要是要学会区别与其他集成学习算法的原理。bootstrap:集成学习中的一个算法,是一种估计统计量的重采样方法,从大小为 n 的原始训练数据集 D 中随机选择 n 个样本点组成一个新的训练集,这个选择过程独立重复 B 次,然后用这 B 个数据集对模型统计量进行估计(如均值、方差等)。由于原始数据集的大小就是 n,所以这 B 个新的训练集中不可避免的会存在重复的样本。

4、正负样本不均衡的解决办法题目是用采样方法去缓解正负样本不均衡的解决办法。采样分为上采样(Oversampling)和下采样(Undersampling)。上采样是把小众类复制多份;下采样是从大众类中剔除一些样本,或者说只从大众类中选取部分样本。
上采样会把小众样本复制多份,一个点会在高维空间中反复出现,这会导致一个问题,那就是运气好就能分对很多点,否则分错很多点。为了解决这一问题,可以在每次生成新数据点时加入轻微的随机扰动,经验表明这种做法非常有效。因为下采样会丢失信息,如何减少信息的损失呢?第一种方法叫做 EasyEnsemble,利用模型融合的方法(Ensemble):多次下采样(放回采样,这样产生的训练集才相互独立)产生多个不同的训练集,进而训练多个不同的分类器,通过组合多个分类器的结果得到最终的结果。第二种方法叫做 BalanceCascade,利用增量训练的思想(Boosting):先通过一次下采样产生训练集,训练一个分类器,对于那些分类正确的大众样本不放回,然后对这个更小的大众样本下采样产生训练集,训练第二个分类器,以此类推,最终组合所有分类器的结果得到最终结果。第三种方法是利用 KNN 试图挑选那些最具代表性的大众样本,叫做 NearMiss。

5、至于剩下的题目也不太记得了,主要是一些关于 p 值还有零假设检验的合理性。看来还是需要补一补统计学的知识。
编程题
数据挖掘考的大题是编程题,同学数据分析考的是 sql 题。还好看了点往年的题型最近练习的侧重点是编程,虽然说 sql 语句以后也会考到,找个时间猛补吧。
1、排序题题目描述不大记得了,主要是:给出一组数字,让你从这组数中找出最长的递增数列长度。比如:
输入:10, 9, 2, 5, 3, 6, 7, 4, 9, 8, 101, 18 输出:6 提示:1、该递增数列是 2, 3, 6, 7, 9, 1012、该递增数列在原数列中不一定是连续的。
我的第一时间想法就是先去重排序(去重是因为相同的数字不算递增,所以重复的数字不影响),然后就得到了已经排序号的数列,但是这些数列是在原数列有排序的,所以只要判断去重排序中的元素在原数列中的索引是否递增就能找出答案。但是在实际通过样例只有 83.3%,搞不懂是不是漏了一些条件,明天去班里问问 ACM 大神吧。
data = [10, 9, 2, 5, 3, 6, 7, 4, 9, 8, 101, 18]
sortData = sorted(list(set(data)))
count = 0
for i in range(1, len(sortData)):
if data.index(sortData[i]) > data.index(sortData[i-1]):
count += 1
print(count)
第二题稍微忘了题目了,等拿到真题再完整的更新一次吧。把每一次笔试都当作查漏补缺,加油。

正文完
 0