如何改进线性回归模型

时间:2015-04-24 16:56:02

标签: python-2.7 machine-learning linear-regression

我正在研究一种简单的线性回归模型,用于练习机器学习。我的模型运行正常,但它得分不好,这意味着它是一个糟糕的模型,所以任何建议更好的模型将不胜感激。这是我的模特

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score

########## reading training set ##########

data = pd.read_csv("train.csv", delimiter=",", header=0)
x = data[['Col1', 'Col2']]
y = data['Expected']

########## building model ##########

reg = LinearRegression()
reg.fit(x, y)

########## reading test making predictions ##########

data_test = pd.read_csv("test.csv",delimiter=",", header=0)
x_test = data_test[['Col1', 'Col2']]
prediction = reg.predict(x_test)
np.savetxt("prediction.txt",prediction,delimiter=',')

1 个答案:

答案 0 :(得分:1)

线性回归可能不是一个糟糕的模型,但是你的变量没有被正确转换以避免回归问题。在许多情况下,非线性也是由于数据中的伪像,而不是对所使用的变量的错误使用线性回归模型。

您是否正在预处理变量(全部),因此它们都是弱感静止(WSS)静止,变量是否都以相同的术语表示(例如百分比变化)。您是否在回归结果中检查了同步性和序列相关性。您的数据是平衡的还是不平衡的(对负面元素是正面的)。您是否检查了数据的正常性,如果没有应用正确的转换(盒子考克斯或其他)。如果您在回归中使用的数据包含此问题中的任何一项或其组合,则结果可能无效。请对所有提到的问题运行测试,因此您确定以适当的形式提供回归变量,以便结果可解释且有效。

您使用RMSE或R2的其他错误衡量标准,每项措施都有其自身的问题。训练样本是否具有统计学意义,以提供统计有效性。

我首先会看到这个,因为在确定线性回归不是适当的实现模型之前使用回归通常是可能问题的根源。