第4关:逻辑回归模型及其应用
任务描述
本关任务:以澳大利亚信贷批准数据集为本关数据集,划分前600为训练数据集,后90数据为测试数据集,利用逻辑回归模型预测及输出准确率。
相关知识
为了完成本关任务,你需要掌握:1.如何读取数据集,2.如何准确划分训练和测试数据集,3.如何利用逻辑回归进行预测及准确率的输出。
读取数据集
读取数据集是个基本功,导入pandas包,进行数据读取 示例如下:
import pandas as pd
df=pd.read_excel('数据集')
划分训练和测试数据集
划分数据集,就是将数据集分成两部分,我们可以考虑用切片实现数据集的划分。需要注意的是数据的划分需要分开特征数据和预测变量。列如,训练用的特征数据集用x表示,预测数据用y表示,测试数据则用x1,y1。 示例如下:
x=df.iloc[:600,:15].values
y=df.iloc[:600,15].values
x1=df.iloc[600:,:15].values
y1=df.iloc[600:,15].values
如何利用逻辑回归模型预测及准确率分析
1.导入逻辑回归模型板块命名为LR 2.利用逻辑回归模型创建对象lr 3.调用对象中的fit()的方法将训练数据的特征数据和预测变量进行拟合 4.调用对象中的score()方法返回模型准确率。 5.调用对象中的predict()方法,对测试样本进行预测,获得预测结果。
#导入逻辑回归模型
from sklearn.linear_model import LogisticRegression as LR
lr = LR()
lr.fit(训练的特征数据,训练的预测变量)
r=lr.score(训练的特征数据,训练的预测变量)
R=lr.predict(预测的特征数据)
Z=R-预测的预测变量
Rs=len(Z[Z==0])/len(Z)
print('模型准确率为:',r)
print('预测准确率为:',Rs)
编程要求
根据提示,在右侧编辑器完善代码,得到结果。
测试说明
平台会对你编写的代码进行测试。 开始你的任务吧,祝你成功!
任务代码
#********** Begin **********#
#在上一关基础,对经过缺失值填充、数值变量标准化后的数据集,取前600条记录作为训练数据,后90条记录作为测试数据
#构逻辑回归模型,返回计算结果模型准确率rv和预测准确率r
def return_values():
from sklearn.linear_model import LogisticRegression as LR
import numpy as np
import warnings
# 忽略收敛警告
warnings.filterwarnings("ignore")
X1=np.load('X1.npy') #经过缺失值填充、数值变量标准化后的数据集,numpy数组690*15
Y=np.load('Y.npy') #因变量,numpy数组,690个元素
x = X1[:600,:]
y = Y[:600]
x1 = X1[600:,:]
y1 = Y[600:]
lr = LR()
lr.fit(x,y)
rv=lr.score(x,y)
R=lr.predict(x1)
Z=R-y1
r=len(Z[Z==0])/len(Z)
#print('模型准确率为:',r)
#print('预测准确率为:',r)
return(rv,r)
#********** End **********#
print的注释不要删掉否则通过不了,这是print的结果
模型准确率为: 0.8666666666666667 预测准确率为: 0.8666666666666667