用python进行简单的多元线性回归预测,这里是用性别、体重两个特征预测性别。新手,仅记录,欢迎指导。
划分数据集用的LOO,直接导的包做的。
import pandas as pd # 导入Python的数据处理库pandas,相当于Python里的excel
import numpy as np # 导入Python的数据处理库numpy
data = pd.read_csv('biyelunwen.csv',encoding='gbk')
# 把data转成一个个的数组,不做这一步直接输data[:,0:2],就会报错
A=np.array(data)
X=A[:,0:2]
y=A[:,2]
# 导入线性回归、LOO模块
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import LeaveOneOut
loo=LeaveOneOut()
lin_reg=LinearRegression()
# loo交叉验证法循环
right=0
for train,test in loo.split(data):
X_train,X_test=X[train],X[test]
y_train,y_test=y[train],y[test]
# 训练和预测
lin_reg.fit(X_train,y_train)
y_test_pred=lin_reg.predict(X_test)
if y_test_pred >0.5:
y_test_pred=1
else:
y_test_pred=0
if y_test_pred==y_test:
right=right&#