使用解析解求解多元线性回归参数

import numpy as np
from numpy.linalg import inv
from sklearn.model_selection import train_test_split
import matplotlib.pyplot as plt
#数据预处理
data = np.loadtxt("Admission_Predict.csv",delimiter=",",skiprows=1,dtype=np.float)
#print(data)
#print(data.shape[0])

使用解析解求解多元线性回归参数_第1张图片data.shape[0]查看行数

index = np.ones((data.shape[0],1))
#print(index)

使用解析解求解多元线性回归参数_第2张图片

data = np.hstack((data,index))
#print(data)

使用解析解求解多元线性回归参数_第3张图片

X = data[:,1:]
y = data[:,0]
#print(y)

使用解析解求解多元线性回归参数_第4张图片

#训练多元线性回归模型,求解参数
#将数据集划分为训练集和测试集
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size = 0.33,randow_state = 42)
theta = np.dot(np.dot(inv(np.dot(X_train.T,X_train)),X_train.T),y_train)
#print(theta)

#模型预测
predict = np.dot(X_test,theta)
#print(predict)

使用解析解求解多元线性回归参数_第5张图片

#模型可视化
plt.plot(range(len(X_test)),y_test,c='red',alpha = 0.5) #绘制真实的测试值
plt.plot(range(len(X_test)),predict,c='green',alpha = 0.5) #绘制预测值
plt.show()

使用解析解求解多元线性回归参数_第6张图片

你可能感兴趣的:(机器学习,机器学习,可视化,python,深度学习,逻辑回归)