逻辑回归算是机器学习中最基础的模型了,回归模型在做分类问题中有着较好的效果。下面介绍下利用sklearn做逻辑回归模型 做模型一般分为:提取数据---->了解数据(所谓的探索性数据)---->数据预处理(包括但不限于填充缺失值,特征提取,转换哑变量)---->选择模型---->验证模型---->模型优化
下面先简单介绍下逻辑回归的原理:
说到逻辑回归就不得不提一下线性回归,线性回归用wiki百科的定义来解释就是:在统计学中,线性回归是一种用来建立响应标量(因变量)和一个或多个解释变量(自变量)之间的模型关系的线性方法。线性回归分为一元线性回归和多元线性回归。均方误差是回归模型中常用的度量方法。一般用最小二乘法来最小化均方误差。
线性回归用的最多的是做预测,而逻辑回归最适合的有二分预测,比如是否垃圾邮件,广告是否点击等等;今天的模型用kaggle比赛中的泰坦尼克预测数据集来做逻辑回归模型,故此次我们做的是监督学习。
1.在数据集从kaggle中下载后我们先读取数据和数据预览:
通过DataFrame的函数info(),我们可以详细看到数据的分布等情况
import pandas as pd
train=pd.read_csv('D:\\pycm\\kaggle\\titanic\\train.csv',index_col=0) #read train data
test=pd.read_csv('D:\\pycm\\kaggle\\titanic\\test.csv',index_col=0) #read test data
print(train.info()) #show the information about train data,including counting values of null
2.了解数据:
查看数据中的缺失值
print(train.isnull().sum()
发现数据中缺失数据Age有177个,Cabin 有687个,Embarked 有2个;由于Cabin 缺失数据占比太大了,我们看下这列数据缺失部分和有值部分对是否获救的情况是如何的,来判断该特征是否需要直接删除。
c=train.Cabin.value_counts() #get the value of Cabin
print(c)
train.drop(labels=Cabin,axis=1)
3.数据处理&