项目描述:
首先用Excel对数据进行预处理,将英文字符替换成数字,对无关信息列删除,然后在Notekbook里面用pandas读取数据,数据格式和excel 是一样的。将前36列作为自变量想,37列的是否流失作为因变量y,并把原始数据按4:1分成训练集和测试集,再从sklearn.linear_model导入LogisticRegression模型,然后用fit(x,y)方法来拟合。用lr.score(x,y)查看模型的平均正确率。并导入confusion_matrix来画出模型的混矩阵来查看分类的整体情况,导入roc_curve画出roc曲线来查看训练出来的模型是否具有较好的分类能力。又导入了K近邻分类器(KNeighborsClassifier)和贝叶斯分类器(BernoulliNB)对训练数据进行拟合。最后比较三种分类器的得分,发现逻辑回归分类器的分数最高。接着用逻辑回归模型来对测试数据进行拟合,输出结果,查看哪些用户将要流失掉,针对这些用户制定相应对策防止流失。这个项目用到的是当时之前的sas数据分析大赛的客户流失预警的数据,当时sas比赛没有做出来,不甘心,后来用python做了一遍,体会到python的方便至极
#-*- coding: utf-8 -*-
import numpy as np
import pandas as pd
import sys
from pandas import Series, DataFrame
import matplotlib.pyplot as plt
import nltk
import imp
# In[3]:
imp.reload(sys)
#sys.se