我正在运行一个简单的线性回归来预测特定数据集的价格。我不仅想计算均方误差之类的指标,还希望能够计算出哪些测试实例在实际价格的10%的预测区间内(即,实际价格在预测价格的+/- 10%范围内) 。但是我不确定执行此操作的最佳方法是什么,或者不确定现有的软件包是否可以提供帮助。我目前正在为我的X和Y训练数据使用numpy数组。
# Load in train test split data
X_train, X_test, y_train, y_test = prepare_data()
# fit model
lm = LinearRegression()
lm.fit(X_train, y_train)
# Compute predictions
y_pred = lm.predict(X_test)
要获取y_test
的所有值,可以使用np.select
因此,在您的情况下,条件是y_test
的值在y_pred
]的10%以内
condition = [abs(y_pred - y_test)/y_test < 0.1]
choice = [y_test]
result = np.select(condition, choice)
我不确定sklearn是否提供此内置功能,但您可以按照以下说明自行操作: