python怎么做多元线性回归,并给出相应的分析指标
时间: 2023-07-30 18:12:02 浏览: 97
python实现多元线性回归
要进行多元线性回归并给出相应的分析指标,我们可以使用Python的scikit-learn库。
以下是一个完整的多元线性回归和分析指标的示例代码:
```
import pandas as pd
import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score
# 读取数据集
dataset = pd.read_csv('data.csv')
# 将数据分为自变量和因变量
X = dataset.iloc[:, :-1].values
y = dataset.iloc[:, -1].values
# 将数据集分为训练集和测试集
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
# 创建多元线性回归模型并拟合数据
regressor = LinearRegression()
regressor.fit(X_train, y_train)
# 预测测试集结果
y_pred = regressor.predict(X_test)
# 输出预测结果和实际结果的比较
df = pd.DataFrame({'Actual': y_test, 'Predicted': y_pred})
print(df)
# 计算分析指标
print('Coefficients: \n', regressor.coef_)
print('Intercept: \n', regressor.intercept_)
print('Mean squared error: %.2f' % mean_squared_error(y_test, y_pred))
print('Coefficient of determination: %.2f' % r2_score(y_test, y_pred))
```
在这个示例中,我们使用scikit-learn库中的coef_和intercept_属性来获取模型的回归系数和截距。mean_squared_error函数计算预测值和实际值之间的平均差的平方,而r2_score函数计算预测值和实际值之间的方差比。
需要注意的是,这里的分析指标仅适用于线性模型。如果使用其他类型的模型,可能需要使用其他的分析指标来评估模型的性能。
阅读全文