分享

扫码分享,呼朋引伴

2019数据马拉松在线测评样本题目

这些样题考察了Python的数据整理和清理,及建模的能力。这些技能对数据马拉松非常关键。
数据马拉松要求参赛选手在Python里整理数据,并且基于此数据分析行进建模。

1Linear Modeling(线性建模)

有N个数据点p1,p2,…,pN,每一个数据点包含了m个协变量x1,x2,…,xm和一个反应变量y。用这N个数据点,根据x1,x2,…,xm和对应的系数b1,b2,…,bm,你估算一个变量y的线性回归模型。假设你复制所有pj(1 <= j <= N )得到2N个数据点,那么相比于原来的线性回归模型,下面的那个选项最精确地描述了新的线性模型?

A) 它将有相同的R2值和bi上相同的置信度为95%的置信区间
B) 它将有一个更高的R2值和bi上相同的置信度为95%的置信区间
C) 它将有相同的R2值和bi上更窄的置信度为95%的置信区间
D) 它将有一个更高的R2值和bi上更窄的置信度为95%的置信区间
E) 以上描述都不正确

正确答案是C。增加一倍数据点并不会改变R2的值。但是更多数据点却会得到更可靠的系数bi,所以相应的置信区间会变窄。


2Clustering Models(聚类模型)

下面的哪个技术最大化的减少了k均值(k-means)算法在局部而不是在全局被卡住的概率?
I. 将质心(centroids)初始化为k个随机选择的数据点
II.用不同的随机初始值运行这个算法多次
III.用一个较小的步长以便避免收敛曲线里的zig-zags(锯齿)问题

A) 仅II
B) 仅I 和 II
C) 仅II 和 III
D) I, II, 和 III
E) I 到 III的一个结合,而不是上面A到D里的任何选项

正确答案是B。I是正确的,随机初始值会允许算法更容易避免“山”和“谷”。II是正确的,虽然运行一次会让算法卡在一 个局部的最小或最大值,但是多运行几次会增加“至少有一次不被卡住”的概率。III是错误的,较小的步只是让收敛变慢,却不能控制收敛到哪里。


3Python

在Python里,你有一个pandas二维表df ,其中特征a有一些数据丢失。你想要将丢失的数值设置成已有数据的 中位数。请问下面的哪行代码可以实现这个目标?

A) df['a'].fillna('a').median()
B) df['a'].fillna('a', method = 'median')
C) df.fillna('a', method = 'median')
D) df['a'] = df['a'].fillna(df['a'].median())
E) df['a'] = df.fillna(df['a'], value = median())

正确答案是D。其他选项都没有遵循正确的pandas语法。
具体pandas语法请参照 https://pandas.pydata.org/pandas-docs/stable/reference/index.html