数据挖掘面试题(1)
数据挖掘分析相关面试题(亲身经历),持续更新中
以下大多数都是博主或者博主同事经历过的面试题哟~关于工作内容的就不写啦,一些基础面试题跟大家分享下
多看看面试题也能够让你快速了解自己的能力和短缺的地方哦~
本篇博客会持续更新,也希望大家多多提供一些面试题哦~
1、基础面试
(1) 自我介绍:emmm这个就不多讲啦,把大概背景讲清楚就可以
(2)自己做过的项目介绍:大家可以选择最能够体现自己能力的项目。可以从以下几个方面来讲:
a、简单介绍下项目
b、自己在项目中的职责及出色业绩(贡献)
c、遇到了哪些问题,如何解决的(如果问题还没解决,就还是不要说啦哈哈)
d、在这个项目中学到了什么,比如业务与分析相结合、编程能力、团队合作能力等
(3)解决问题最重要的能力是哪些?
(4)我在项目中总结了哪些技能点?
(5)你在数据挖掘中的优势?
(6)你理解什么是数据挖掘?
2、数据分析与挖掘相关问题(括号内表示被问到的次数哦,有些会提供参考答案,但还是希望大家自己多多研究喔)
以下序号是根据更新状态来的,所以每个板块的序号不对应
数据分析与挖掘方面:
(1)为什么会产生过拟合,有哪些方法可以预防或克服过拟合?(2次)
过拟合产生的原因:出现这种现象的主要原因是训练数据中存在噪音或者训练数据太少。
解决方法:
1、 增大数据量
2、 减少feature个数(人工定义留多少个feature或者算法选取这些feature)
3、 正则化(留下所有的feature,但对于部分feature定义其parameter非常小)
4、 交叉验证,重采样评价模型效能,K折交叉验证
5、保留一个验证数据集检验
(2)无监督和有监督算法的区别?
监督学习(supervised learning):通过已有的训练样本(即已知数据以及其对应的输出)来训练,从而得到一个最优模型,再利用这个模型将所有新的数据样本映射为相应的输出结果,对输出结果进行简单的判断从而实现分类的目的,那么这个最优模型也就具有了对未知数据进行分类的能力。包括所有的回归算法分类算法,比如线性回归、决策树、KNN、SVM等
无监督学习(unsupervised learning):我们事先没有任何训练数据样本,需要直接对数据进行建模。包括所有的聚类算法,比如k-means 、PCA、 GMM等
(3)tree-base模型是否了解,决策树和随机森林区别是什么,树节点的分裂都有哪些策略(即节点的选择)
直接说随机森林是很多棵决策树组成的,一定程度上能避免过拟合问题。
树节点分裂:ID3 : 以信息增益大小来建立。
- C4.5 : 以信息增益率大小来建立。
- CART : 以基尼系数大小来建立。
决策树的数据最好是离散型的吧?
ID3和C4.5是分类型决策树,只处理离散型的,CART是分类回归都可以做的决策树,支持所有类型
(7)tf-idf的公式
TFIDF实际上是:TF * IDF
词频(term frequency,TF)指的是某一个给定的词语在该文件中出现的频率。
逆向文件频率(inverse document frequency,IDF)是一个词语普遍重要性的度量。某一特定词语的IDF,可以由总文件数目除以包含该词语之文件的数目。
这边的例子以上述的数学公式来计算。词频 (TF) 是一词语出现的次数除以该文件的总词语数。假如一篇文件的总词语数是100个,而词语“母牛”出现了3次,那么“母牛”一词在该文件中的词频就是3/100=0.03。一个计算文件频率 (IDF) 的方法是文件集里包含的文件总数除以测定有多少份文件出现过“母牛”一词。所以,如果“母牛”一词在1,000份文件出现过,而文件总数是10,000,000份的话,其逆向文件频率就是 lg10,000,000 / 1,000)=4。最后的TF-IDF的分数为0.03 * 4=0.12。
(8)维度怎么扩展?
比如时间,那我可能取分段区间。可能单取年份,可能取距离当今多久
(9)特征怎么选择?
确定方差最大化,或者通过分类,寻找特征差异最大化。其他就是有具体看业务,要跟业务相结合,有统计性的(比如用tfidf转换行为轨迹),有直接性的(教育、性别等)
(11)分析原因,某产品6月份的平均日活率比7月多很多,请问你会从哪几方面分析?
回答 思路+方法(以某个信用app为例)
1、活动原因
(1)分析参与活动的用户的后续行为
(2)分析未参与活动的用户的同一时间的行为
(3)对比以上两数据趋势,如果发现(1)和(2)有明显不同的趋势(如1骤降),那可能是活动的原因
2、功能改版
(1)与往期用量对比
3、当期贷款需求变化(不好定,需要专业分析)
4、历史同期趋势对比(多个因素组合,可能说服力不强,但是大致可以看下趋势)
(12)随机森林里面用的哪种决策树?
参数可选gini或者entropy,不用c4.5,因为会剪枝,随机森林不需要剪枝
https://blog.csdn.net/zhixiongzhao/article/details/72487284
(18)对数据分析中关键指标的定义?
我回答:可解释的指标都是可以的。比如:用户网站点击率,可以定义为单天的点击次数,也可以定义为一个月的平均点击次数,关键看可解释业务性
(23)逻辑回归与线性回归的区别?
逻辑回归:迭代求解
线性回归:直接求解
(24)机器学习是方法,数据挖掘是应用
(27)最大似然估计和最小二乘法的区别
http://blog.csdn.net/lu597203933/article/details/45032607
(28)假设一个房间有5个婴儿,性别2男3女,现在加入一个性别未知的婴儿。此时从这6个婴儿中,随机抽取一个,发现是男孩子。问后来加入婴儿性别是男孩子的概率多大?0.6
具体解题步骤之后会补上哦
(29)例如:一座别墅在过去的 20 年里一共发生过 2 次被盗,别墅的主人有一条狗,狗平均每周晚上叫 3 次,在盗贼入侵时狗叫的概率被估计为 0.9,问题是:在狗叫的时候发生入侵的概率是多少?贝叶斯公式P(A∩B) = P(A)*P(B|A)=P(B)*P(A|B)。如上公式也可变形为:P(B|A) = P(A|B)*P(B) / P(A)。
我们假设 A 事件为狗在晚上叫,B 为盗贼入侵,则以天为单位统计,P(A) = 3/7,P(B) = 2/(20*365) = 2/7300,P(A|B) = 0.9,按照公式很容易得出结果:P(B|A) = 0.9*(2/7300) / (3/7) = 0.00058
(30)采用EM算法求解的模型有哪些?为什么不用牛顿法或者梯度下降法?
一般有混合高斯、协同过滤、k-means。算法一定会收敛,但是可能会收敛到局部最优。求和的项数会随着隐变量的数目指数上升,会给梯度计算带来麻烦。EM算法是一种非梯度优化算法。
(31)用EM算法推导解释K-means
k-means算法是高斯混合聚类在混合成分方差相等,且每个样本仅指派一个混合成分时候的特例。k-means算法与EM算法的关系是这样的:
· k-means是两个步骤交替进行:确定中心点,对每个样本选择最近中心点--> E步和M步。
· E步中将每个点选择最近的类优化目标函数,分给中心距它最近的类(硬分配),可以看成是EM算法中E步(软分配)的近似。
· M步中更新每个类的中心点,可以认为是在「各类分布均为单位方差的高斯分布」的假设下,最大化似然值;
(32)如何进行特征选择?
https://www.zhihu.com/question/28641663/answer/41653367
(33)SVM和LR的区别
http://blog.csdn.net/yan456jie/article/details/52524942
数据库方面:
(6)有什么sql调优的手段,了解多少
索引、条件先后等等,具体可自行百度sql调优方法
(10)sql,多个班级,取不同班级的每个班级的前3名(3次)
sql是rownumber:
select * from
(select row_number() over (partition by class order by score desc) 排名,* from sc) t
where 排名<=3 order by class asc,score desc
mysql用定义变量的方式:
SELECT * from (
(SELECT @x:=0,@y:='' )a
JOIN
(SELECT * from class order by cla,grade desc )b ) d where d.rn<4
(13)数据库时间转换函数
dataformat是时间转字符串 unix_timestamp时间转时间戳 str_to_date字符串转时间 unix_timestamp字符串转时间戳
(14)当出现数据重复时,用最简单的方法查询出哪些数据重复
数据量小时,group by count(1)大于1的
数据量大时,用rownumber(针对sql)
(15)什么情况下索引会失效,假设字段A加了索引
只要索引的字段A不是 A >,<,=之类的,都会失效。比如两个字段 A 和 B,A上有索引,查询条件如果是 where A = < > XXX就不会失效,即失效的意思是不用索引,不是异常等问题。当然,还有别的,,,比如索引不能这么写 where B = xxx and A = 0,因为索引字段要优先被查找。(只有 [><]?= 这种模式)
而且>和<也只能在树索引等有序索引上起作用,如果索引是hash索引,就只能用=
(16)三张表,查询部门薪水最高的?
SELECT dname,sum(salary) s from (
SELECT a.*,b.salary from (
SELECT n.id,n.name,d.dname from ntable n ,dtable d where n.dpid = d.did )a,stable b where a.id = b.id)c GROUP BY dname ORDER BY s desc
#方法二 left join
SELECT dname,sum(salary) s from (
SELECT n.id,n.name,d.dname,s.salary from ntable n LEFT JOIN dtable d on n.dpid = d.did LEFT JOIN stable s on n.id = s.id)
a GROUP BY dname ORDER BY s desc
或者
SELECT d.dname,sum(s.salary)s from ntable n LEFT JOIN dtable d on n.dpid = d.did LEFT JOIN stable s on n.id = s.id
GROUP BY d.dname ORDER BY s desc
#方法三 inner join
SELECT d.dname,sum(s.salary) s FROM (ntable n INNER JOIN dtable d ON n.dpid =d.did) INNER JOIN stable s ON n.id=s.id GROUP BY d.dname ORDER BY s desc
#方法四 join
SELECT d.dname,sum(s.salary) s FROM (ntable n JOIN dtable d ON n.dpid =d.did) JOIN stable s ON n.id=s.id GROUP BY d.dname ORDER BY s desc
(19)mysql 关于join的用法与区别(left join right join 等)
举个例子说明区别就可以
(20)主键重复插入更新
https://www.cnblogs.com/chenmh/p/5392540.html
(21)数据库的外建的作用是什么?
联表查询
(22)什么是左连接,右连接?
Left join right join,具体可自行百度
数仓方面:
关于数仓的问题,之后还会有个专题详解哦
(25)Etl的缓慢数据维
http://blog.csdn.net/ye1142262478/article/details/58589078
数据开发方面:
(4)有序数组查找用什么方法?
二分查找,时间复杂度log2n,(是以2为底,n的对数)
(5)list和tuple的区别
List是可变对象,tuple是不可变,tuple的性能好,效率高
(26)为什么要使用装饰器
http://python.jobbole.com/85393/
转载于:https://www.cnblogs.com/yumoye/p/10354120.html
数据挖掘面试题(1)相关推荐
- python数据挖掘面试题_数据挖掘150道笔试题
作者:白宁超 2016年10月16日13:44:06 摘要:正值找工作之际,数据挖掘150道面试题涵盖很多基础知识点,如果你针对求职提前针对性准备,可以以此为为参照检查自己水平,如果你不为求职,也可以 ...
- 他人的数据挖掘面试题-经验
关于面京东,感触只有一个,虐的快吐血了.首先说京东分四个板块,有京东商城.京东金融.京东刚收购的拍拍和海外事业部.我这个职位主要是在金融部数据组做数据挖掘和机器学习,还有推荐系统.面试是在周一,本身也 ...
- 30道数据挖掘笔试题,这都不懂就早点跑路吧
某超市研究销售纪录数据后发现,买啤酒的人很大概率也会购买尿布,这种属于数据挖掘的哪类问题?(A) A. 关联规则发现 B. 聚类 C. 分类 D. 自然语言处理 以下哪些分类方法可以较好地避免样本的不 ...
- 网易2017校园招聘数据挖掘笔试题
1.藏宝图 题目描述 牛牛拿到了一个藏宝图,顺着藏宝图的指示,牛牛发现了一个藏宝盒,藏宝盒上有一个机关,机关每次会显示两个字符串s和t,根据古老的传说,牛牛需要每次都回答t是否是s的子序列.注意, ...
- 阿里巴巴数据挖掘笔试题摘
(此题至今不懂-其答案) 此题也不解,坚定不移地选C
- Java工程师笔试题整理[校招篇]
Java工程师笔试题整理[校招篇] 阿里巴巴 2016 阿里巴巴2016研发工程师笔试题(四) 阿里巴巴2016研发工程师笔试题(三) 阿里巴巴2016研发工程师笔试题(二) 2015 阿里巴巴201 ...
- 数据挖掘工程师历年企业笔试真题汇总
https://www.nowcoder.com/test/191/summary 数据挖掘机练习试卷 https://www.nowcoder.com/test/216706/summary ...
- 技术人如何自我提升?阿里技术带来丰富学习资源
简介: 我是长胖了但是仍旧热爱学习的阿里妹! 大家好!我是很久没和大家见面的阿里妹.2020年的开头属实不太顺利,从大年三十就没出过门的阿里妹感觉身上已经结了好几层蜘蛛网了.此次,阿里妹为大家带来了技 ...
- BAT机器学习面试1000题系列(第150~279题)
首页 博客 学院 下载 GitChat TinyMind 论坛 问答 商城 VIP 活动 招聘 ITeye CSTO 写博客 发Chat leadai的博客 RSS订阅 转 BAT机器学习面试1000 ...
最新文章
- Python 安装cx_Oracle模块折腾笔记
- C++源代码免杀之函数的动态调用
- WM中的OutLook开发和操作
- 学会python的基础操作题_Python基本操作题
- matlab程序 surf算法,【求大神帮忙,surf算法源代码解析】
- Python+sklearn决策树算法使用入门
- oracle dba 命令行,Oracle DBA常用命令
- 剑指Offer——二维数组中的查找
- 自己动手修理单击变双击的鼠标
- 如何查html病毒svchost.exe,svchost是什么?怎样清除svchost.exe病毒?
- 为什么使用Linux
- Android游戏开发教程汇总
- 三十六计解释及快速记忆
- vivo手机怎么添加日程提醒?vivo手机添加日程方法
- python 标准输入设备_实时获取MIDI设备的输入(Python)
- arduino笔记22:Aeduino Mega2560
- java-非对称(RSA)签名加密(springboot框架)
- Python 利用聚类算法对图片进行颜色压缩
- Urban Airship在iOS中的应用
- 华大芯片时钟调试配置记录