逻辑回归模型建立

数据准备

导入工具包

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline
#加载数据
churn=pd.read_csv(‘w4_churn.csv’)
将数据集中的类别变量转化为数字型变量
churn=pd.get_dummies(churn)
####查看前5行数据
churn.head()
#数据整理,将churn_yes保留,将female保留,drop不需要的数据
churn.drop([‘Churn_No’,‘gender_Male’],axis=1,inplace=True)
#查看数据
churn.head()
#统一大小写
churn.columns=churn.columns.str.lower()
#修改字段名
churn=churn.rename(columns={‘churn_yes’:‘flag’})
#查看数据
churn.head()

模型建立评估

#基于模型的结果,对训练集与测试集中x的真实值预测对应的y
y_pred_train=lr.predict(x_train)
y_pred_test=lr.predict(x_test)
print(y_pred_train)
#搭建训练集混淆矩阵
import sklearn.metrics as metrics
metrics.confusion_matrix(y_train,y_pred_train)
#计算训练集准确率
metrics.accuracy_score(y_train,y_pred_train)
#搭建测试集混淆矩阵
metrics.confusion_matrix(y_test,y_pred_test)
#计算测试集准确率
metrics.accuracy_score(y_test,y_pred_test)

模型优化 调整参数

#加载数据切分工具包
from sklearn.model_selection import train_test_split
#切分训练集和测试集
x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.5,random_state=100)
#建模
from sklearn import linear_model
lr=linear_model.LogisticRegression()
lr.fit(x_train,y_train)
#基于模型的结果,对训练集与测试集中x的真实值预测对应的y
y_pred_train=lr.predict(x_train)
y_pred_test=lr.predict(x_test)
print(y_pred_train)

#优化模型评估 计算准确率
#搭建测试集混淆矩阵
metrics.confusion_matrix(y_test,y_pred_test)
#计算测试集准确率
metrics.accuracy_score(y_test,y_pred_test)
#搭建训练集混淆矩阵
import sklearn.metrics as metrics
metrics.confusion_matrix(y_train,y_pred_train)
#计算训练集准确率
metrics.accuracy_score(y_train,y_pred_train)

模型优化 调整变量

y=churn[‘flag’]
x=churn[[‘contract_month’,‘internet_other’,‘paymentelectronic’]]

#加载数据切分工具包
from sklearn.model_selection import train_test_split
#切分训练集和测试集
x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.5,random_state=100)

#建模
from sklearn import linear_model
lr=linear_model.LogisticRegression()
lr.fit(x_train,y_train)

#基于模型的结果,对训练集与测试集中x的真实值预测对应的y
y_pred_train=lr.predict(x_train)
y_pred_test=lr.predict(x_test)
print(y_pred_train)

#优化模型评估 计算准确率
#搭建测试集混淆矩阵
metrics.confusion_matrix(y_test,y_pred_test)
#计算测试集准确率
metrics.accuracy_score(y_test,y_pred_test)

#搭建训练集混淆矩阵
import sklearn.metrics as metrics
metrics.confusion_matrix(y_train,y_pred_train)
#计算训练集准确率
metrics.accuracy_score(y_train,y_pred_train)

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值