试题列表
单选题
题型:单选题客观题分值2分难度:简单得分:2
1
构建一个最简单的线性回归模型需要几个系数(只有一个特征)?
A
1
B
2
C
4
D
3
正确答案:B
题型:单选题客观题分值4分难度:一般得分:4
2
下列关于数据标准化的说法不正确的是( )
A
数据经过Z-Score标准化后的取值范围为[0,1]
B
标准化可以去除数据特征之间存在的量纲问题
C
Z-Score标准化⽅法适⽤于特征的最⼤值或最⼩值未知,样本分布⾮常离散的情况
D
数据经过Min-Max标准化后的取值范围为[0,1]
正确答案:A
题型:单选题客观题分值2分难度:简单得分:2
3
如果我们说“线性回归”模型完美地拟合了训练样本(训练样本误差为零),则下面哪个说法是正确的?
A
不确定
B
测试样本误差始终为零
C
以上答案都不对
D
测试样本误差不可能为零
正确答案:C
题型:单选题客观题分值6分难度:一般得分:6
4
若要⽤Scikit-learn完成线性回归任务,则使⽤Scikit-learn中函数的正确顺序为()
A
lr = LinearRegression() -> lr.fit() -> lr.score() -> lr.predict()
B
lr = LinearRegression() -> lr.fit() -> lr.predict() -> lr.score()
C
lr = LinearRegression() -> lr.predict() -> lr.fit() -> lr.score()
D
lr = LinearRegression() -> lr.score() -> lr.fit() -> lr.predict()
正确答案:B
题型:单选题客观题分值3分难度:简单得分:3
5
下列模型中属于回归模型的是?
A
DBSCAN
B
线性回归
C
逻辑回归
D
ID3
正确答案:B
题型:单选题客观题分值2分难度:简单得分:2
6
关于三种常见的稳健性回归方法—Huber回归、RANSAC回归和泰尔森回归,下列说法正确的是()
A
从回归的速度上看,一般来说,Huber回归最快,其次是RANSAC回归,最慢的是泰尔森回归;
B
Huber回归可以更好地应对X方向的中等大小的异常值,但是这个属性将在高维情况下消失;
C
泰尔森回归比RANSAC回归在样本数量上的伸缩性(适应性)好;
D
一般情况下,泰尔森回归可以更好地处理y方向的大值异常点。
题型:单选题客观题分值3分难度:一般得分:3
7
关于三种常⻅的稳健性回归⽅法–Huber回归、RANSAC回归和泰尔森回归,下列选项说法正确的是:
A
⼀般情况下,泰尔森回归可以更好地处理y⽅向的⼤值异常点
B
泰尔森回归⽐RANSAC回归在样本数量上的伸缩性(适应性)好
C
Huber回归可以更好地应对X⽅向的中等⼤⼩的异常值,但是这个属性将在⾼维情况下消失
D
从回归的速度上看,⼀般来说,Huber回归最快,其次是RANSAC回归,最慢的是泰尔森回归
题型:单选题客观题分值4分难度:简单得分:4
8
箱线图是检测离群值的⽅法,下⾯关于箱线图的说法不正确的是?
A
箱中⾼于上边缘和低于下边缘的值为离群点
B
四分位距IQR = 1.5 ( Q3-Q1 ),其中Q3为上四分位数, Q1为下四分位数
C
箱外的两条线(胡须)分别延伸到最⼩和最⼤⾮异常点
D
箱线图中框的上边线表示上四分位数,框的下边线表示下四分位数
题型:单选题客观题分值3分难度:简单得分:3
9
关于线性回归模型的正则化,下列选项叙述不正确的是:
A
正则化的常⽤⽅法为岭回归和LASSO,主要区别在于岭回归的⽬标函数中添加了L2惩罚函数,⽽
LASSO的⽬标函数中添加的是L1惩罚函数
B
正则化可以减⼩线性回归的过度拟合和多重共线性等问题
C
在求解LASSO时,常⽤的求解算法包括坐标下降法、LARS算法和ISTA算法等
D
对⽐岭回归和LASSO,岭回归更容易得到稀疏解
题型:单选题客观题分值2分难度:简单得分:2
10
在一个线性回归问题中,我们使用 R 平方(R-Squared)来判断拟合度。此时,如果增加一个特征,模型不变,则下面说法正确的是?
A
如果R-Squared 减小,则这个特征没有意义
B
以上说法都不对
C
如果 R-Squared 增加,则这个特征有意义
D
仅看 R-Squared 单一变量,无法确定这个特征是否有意义。
题型:单选题客观题分值2分难度:简单得分:2
11
假设你有以下数据:输入和输出都只有一个变量。使用线性回归模型(y=wx+b)来拟合数据。那么使用留一法(Leave-One Out)交叉验证得到的均方误差是多少?
X(independentvariable) | Y(dependent variable) |
0 | 2 |
2 | 2 |
3 | 1 |
A
10/27
B
49/27
C
39/27
D
55/27
题型:单选题客观题分值2分难度:简单得分:2
12
下列关于线性回归分析中的残差(Residuals)说法正确的是?
A
以上说法都不对
B
残差均值总是为零
C
残差均值总是大于零
D
残差均值总是小于零
题型:单选题客观题分值2分难度:简单得分:2
13
假如使用一个较复杂的回归模型来拟合样本数据,使用 Ridge 回归,调试正则化参数 λ,来降低模型复杂度。若 λ 较大时,关于偏差(bias)和方差(variance),下列说法正确的是?
A
若 λ 较大时,偏差增大,方差增大
B
若 λ 较大时,偏差减小,方差增大
C
若 λ 较大时,偏差减小,方差减小
D
若 λ 较大时,偏差增大,方差减小
题型:单选题客观题分值2分难度:简单得分:2
14
关于特征选择,下列对 Ridge 回归和 Lasso 回归说法正确的是?
A
以上说法都不对
B
两个都适用于特征选择
C
Lasso 回归适用于特征选择
D
Ridge 回归适用于特征选择
题型:单选题客观题分值2分难度:简单得分:2
15
假如我们使用 Lasso 回归来拟合数据集,该数据集输入特征有 100 个(X1,X2,…,X100)。现在,我们把其中一个特征值扩大 10 倍(例如是特征 X1),然后用相同的正则化参数对 Lasso 回归进行修正。那么,下列说法正确的是?
A
特征 X1 很可能还包含在模型之中
B
特征 X1 很可能被排除在模型之外
C
以上说法都不对
D
无法确定特征 X1 是否被舍弃
题型:多选题客观题分值4分难度:简单得分:4
1
模型输⼊的特征通常需要是数值型的,所以需要将⾮数值型特征通过特征编码转换为数值特
征。下列选项对DataFrame对象df1 中的Make 字段进⾏特征编码,其中正确的是?
image.png
A
df1[‘Make’] = df1[‘Make’].str.replace({‘Toyota’:1, ‘Ford’:2, ‘Volvo’:3, ‘Audi’:4, ‘BMW
‘:5, ‘Nissan’:6})
B
df1[‘Make’] = df1[‘Make’].replace({‘Toyota’:1, ‘Ford’:2, ‘Volvo’:3, ‘Audi’:4, ‘BMW’:5,
‘Nissan’:6})
C
from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
df1[‘Make’]=le.fit_transform(df1[“Make”])
D
df1[‘Make’] = df1[‘Make’].map({‘Toyota’:1, ‘Ford’:2, ‘Volvo’:3, ‘Audi’:4, ‘BMW’:5, ‘Ni
ssan’:6})
题型:多选题客观题分值4分难度:一般得分:4
2
将连续型特征离散化后再建⽴逻辑回归模型,这样做对模型有什么影响( )
A
计算结果⽅便存储,容易扩展。
B
离散化后的特征对异常数据敏感
C
起到简化逻辑回归模型的作⽤
D
易于模型的快速迭代
题型:多选题客观题分值4分难度:简单得分:4
3
下列哪些假设是我们推导线性回归参数时遵循的(多选)?
A
X 是非随机且测量没有误差的
B
误差一般服从 0 均值和固定标准差的正态分布
C
模型误差在统计学上是独立的
D
X 与 Y 有线性关系(多项式关系)
简答题
题型:简答题主观题分值30分难度:较难
1
使用 SciPy 提供的普通最小二乘法分别计算 3 个特征与目标之间的一元线性回归模型拟合参数。
加载数据集
import pandas as pd
data = pd.read_csv(
‘http://labfile.oss.aliyuncs.com/courses/1211/Advertising.csv’, index_col=0)
data.head()
数据集包含 4 列,共 200 行。每个样本代表某超市销售相应单位件商品所需要支出的广告费用。以第一行为例,表示该超市平均销售 22.1 件商品,需要支出的电视广告费用,广播广告费用以及报刊广告费用为:230.1 美元,37.8 美元和 69.2 美元。将前 3 列视作特征,最后一列视作目标值。
计算拟合参数
import numpy as np
from scipy.optimize import leastsq
### 代码开始 ### (≈ 10 行代码)
m=2
def func(w, x):
return w[0]+w[1]*x
def err_func(w, x, y):
return y-func(w, x)
params_tv = leastsq(err_func,[1, 1], args=(data[‘tv’], data[‘sales’]))
params_radio = leastsq(err_func,[1, 1], args=(data[‘radio’], data[‘sales’]))
params_newspaper = leastsq(err_func,[1, 1], args=(data[‘newspaper’], data[‘sales’]))
### 代码结束 ###
输出:
(array([7.03259358, 0.04753664]), array([9.3116381 ,
0.20249578]), array([12.35140707, 0.0546931 ]))
拟合结果绘图
from matplotlib import pyplot as plt
%matplotlib inline
### 代码开始 ### (≈ 10 行代码)
fig, axes=plt.subplots(1, 3, figsize=(20,5))
axes[0].scatter(data[‘tv’], data[‘sales’])
axes[0].plot(data[‘tv’], func(params_tv[0], data[‘tv’]), color=’red’)
axes[0].set_xlabel(‘tv’)
axes[0].set_ylabel(‘sales’)
axes[1].scatter(data[‘radio’], data[‘sales’])
axes[1].plot(data[‘radio’], func(params_radio[0], data[‘radio’]), color=’red’)
axes[1].set_xlabel(‘radio’)
axes[1].set_ylabel(‘sales’)
axes[2].scatter(data[‘newspaper’], data[‘sales’])
axes[2].plot(data[‘newspaper’], func(params_newspaper[0], data[‘newspaper’]), color=’red’)
axes[2].set_xlabel(‘newspaper’)
axes[2].set_ylabel(‘sales’)
### 代码结束 ###
(1)请给出拟合结果绘图(10分)
多元线性回归模型
使用 scikit-learn 提供的线性回归方法建立由 3 个特征与目标组成的多元线性回归模型。
计算拟合参数
from sklearn.linear_model import LinearRegression
### 代码开始 ### (≈ 4 行代码)
model = LinearRegression()
model.fit(data[[‘tv’, ‘radio’, ‘newspaper’]], data[‘sales’])
### 代码结束 ###
model.coef_, model.intercept_ # 返回模型自变量系数和截距项
输出: (array([ 0.04576465, 0.18853002, -0.00103749]),
2.9388893694594103)
模型检验
使用 statsmodels 库提供的相关方法来完成上面多元回归模型的拟合优度检验和变量显著性检验。
import statsmodels.api as sm
x=sm.add_constant(data[[‘tv’, ‘radio’, ‘newspaper’]])
model=sm.OLS(endog=data[‘sales’], exog=x)
results=model.fit()
### 代码结束 ###
results.summary2() # 输出模型摘要
(2)给出模型输出结果(10分)
(3)对上述实验结果进行分析(10分)
题型:简答题主观题分值11分难度:简单得分:11
2
机器学习能用来干吗,请列举一个典型应用。
填空题
题型:填空题主观题答案不允许乱序分值6分难度:中等得分:6
1
数据集Default_共有768条数据,10个字段,数据集已导入,保存在DataFrame对象data中,字段及说明如下:
列名 | 类型 | 说明 |
X1 Relative Compactness | float64 | 相对紧性 |
X2 Surface Area | float64 | 表面积 |
X3 Wall Area | float64 | 墙面积 |
X4 Roof Area | float64 | 顶板区 |
X5 Overall Height | float64 | 总高度 |
X6 Orientation | float64 | 取向 |
X7 Glazing Area | float64 | 釉区 |
X8 Glazing Area Distribution | float64 | 釉面分布 |
y1 Heating Load | float64 | 加热负荷 |
y2 Cooling Load | float64 | 冷却负荷 |
· 现已处理好数据和读取
· 请根据数据集的八个属性(由X1.X8表示),利用sklearn建立回归模型,预测出两个响应(由y1和y2表示)。其中训练集为X_train(75%),训练集标签为y_train,测试集为X_test(25%),测试集标签y_test,类型为DataFrame
· 请使用训练集训练模型,并调用.mean_squared_error方法对X_test的预测结果作出评价,保存在变量model_eval中
正误判定变量:model_eval
开始答题:
# 导入相关的包
import pandas as pd
from sklearn import model_selection
from sklearn.linear_model import LinearRegression
from sklearn import metrics
# 读取数据
data = pd.read_csv(‘Default_.csv’)
X = data[[‘X1’, ‘X2’, ‘X3’, ‘X4’, ‘X5’, ‘X6’, ‘X7’, ‘X8’]]
y = data[[‘Y1’, ‘Y2’]]
# 划分训练集与测试集
X_train, X_test, y_train, y_test = model_selection.train_test_split(X, y, test_size=
0.25
, random_state=1)
# 线性回归模型
lr = LinearRegression()
lr.fit(
X_train
, y_train)
# 模型评价,利用model_eval
y_predict = lr.predict(
X_test
)
model_eval = metrics.mean_squared_error(y_test, y_predict)
model_eval
评论0