首页 > 解决方案 > 具有多项式特征的线性回归

问题描述

我已经为数据集混凝土抗压强度建立了这个模型。

X_train_new, X_test_new, Y_train_new, Y_test_new = train_test_split(new_X, Y, test_size=0.3, shuffle='False')

   new_X = pd.concat((X**(i+1) for i in range(n)), axis=1)
    colnames=[]

    for j in range(8*n):                                      
        colnames.append(j)

    new_X.columns = colnames

    X_train_new_scaled = scaler.fit_transform(X_train_new)
    X_test_new_scaled = scaler.transform(X_test_new)

    ols.fit(X_train_new_scaled, Y_train)
    poly_train_pred = ols.predict(X_train_new_scaled)
    poly_test_pred = ols.predict(X_test_new_scaled)
    poly_mae_train_error = metrics.mean_absolute_error(Y_train_new, poly_train_pred)
    poly_mae_test_error = metrics.mean_absolute_error(Y_test_new, poly_test_pred)
    print(poly_mae_train_error, "\n", poly_mae_test_error)```

8是特征的数量。ols 是我之前创建的 LinearRegression 类。

test_error这个模型的 比简单线性模型的高可以吗?另外,我如何实现该功能test_poly_regression(X_train, y_train, X_test, y_test, n=2)来为多个 n 运行此模型并检查错误?

标签: pythonlinear-regression

解决方案


推荐阅读