分别使用回归树与XGBoost回归,预测实验三中给出的Advertising.csv数据集,并与传统线性回归预测方法进行比较。
具体要求:
- 首先进行数据标准化。
- 测试集和训练集比例分别为30%和70%。
- 使用均方误差来评价预测的好坏程度。
- 对于XGBoost请尝试使用交叉验证找到n_estimators的最优参数值。n_estimators的取值范围为[100-1000]。
回归树:
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeRegressor
from sklearn.metrics import mean_squared_error
train_path = r'Advertising.csv'
def read_train_file(path):
data = pd.read_csv(path)
return data
#回归树
def RegressionTree(data):
X = data[['TV', 'Radio', 'Newspaper']]
Y = data['Sales']
x_train, x_test, y_train, y_test = train_test_split(X, Y, test_size=0.3, random_state=1)
dt_reg = DecisionTreeRegress