提交 d9e81c46 编写于 作者: wit-df's avatar wit-df

上传新文件

上级 f5992d78
import numpy as np
from sklearn.datasets import fetch_california_housing
from sklearn.model_selection import train_test_split
# from sklearn.metrics import r2_score
from metrics import r2_score
from linear_regression import LinearRegression_Equation, LinearRegression_GD
if __name__ == '__main__':
X, y = fetch_california_housing(return_X_y=True)
# 归一化
X = (X - X.min(axis=0)) / (X.max(axis=0) - X.min(axis=0))
# 加上偏置b
X = np.c_[np.ones((len(X), 1)), X]
# 将数据集分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y)
# 正规方程法
model1 = LinearRegression_Equation()
model1.fit(X_train, y_train)
y_pred = model1.predict(X_test)
score = r2_score(y_test, y_pred)
print('Equation of linearregression score is {:.3f}'.format(score))
# 梯度下降法
model2 = LinearRegression_GD(20000, 0.005)
model2.fit(X_train, y_train)
y_pred = model2.predict(X_test).flatten()
score = r2_score(y_test, y_pred)
print('gradient descent of linearregression score is {:.3f}'.format(score))
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册