5.4:动手实现线性回归
线性回归python
实现代码如下:
#encoding=utf8
import numpy as np
def lr(train_feature,train_label,test_feature):
'''
input:
train_feature(ndarray):训练样本特征
train_label(ndarray):训练样本标签
test_feature(ndarray):测试样本特征
output:
predict(ndarray):测试样本预测标签
'''
#将x0=1加入训练数据
train_x = np.hstack([np.ones((len(train_feature),1)),train_feature])
#使用正规方程解求得参数
theta =np.linalg.inv(train_x.T.dot(train_x)).dot(train_x.T).dot(train_label)
#将x0=1加入测试数据
test_x = np.hstack([np.ones((len(test_feature),1)),test_feature])
#求得测试集预测标签
predict = test_x.dot(theta)
return predict