赞
踩
针对类别型变量进行分析预测的方式——逻辑回归分析
分类模型和回归模型最明显的区别在于:
什么是分类模型?
分类模型是机器通过学习与训练已有的数据,从而预测新数据的类别。
逻辑回归的定义
逻辑回归模型的建立
逻辑回归模型的评估和优化
最常见的分类模型应用场景:
调包与数据导入
# 导入pandas与numpy工具包。
查看数据
使用head()函数,查看前5行数据。
data.head()
数据特征解释:每个维度特征都是1~10之间的数字
关键步骤一:缺失值处理
发现数据中有'?', 为了后续的分析,使用replace()将异常值替换为标准缺失值,用dropna()将带缺失值的行舍弃,代码如下
- # 将?替换为标准缺失值表示。
- data = data.replace(to_replace='?', value=np.nan)
-
- # 丢弃带有缺失值的数据(只要有一个维度有缺失)。
- data = data.dropna(how='any')
-
- # 输出data的数据量和维度。
- data.shape
再次查看数据量和维度,发现有16行数据被舍弃低于3%,在合理范围内 。
结果解释:683条数据 9个特征 1个id 1个分类结果
- data.shape
- data[column_names[1:10]].head() # 只看第2到10列,省略了对第一列ID的查看
关键步骤二:拆分训练集和测试集
准备完数据后,可以开始逻辑回归建模,先拆分训练集和测试集 ,使用train_test_split将数据集拆分成训练集和测试集。
用test_size=0.25,意思就是75%作为训练集,25%作为测试集。调整这个系数就可以调整训练集测试集的大小
- # 随机采样25%的数据用于测试,剩下的75%用于构建训练集合。
- X_train, X_test, y_train, y_test = train_test_split(data[column_names[1:10]],
- #特征:第0列id去掉,第10列分类结果去掉
- data[column_names[10]],#第10列的分类结果作为目标分类变量
- test_size=0.25,
- random_state=33)
此时,可以查看测试集/训练集的样本数量和类别分布。也就是测试集与训练集中良性肿瘤的数量。
y_train.value_counts()
y_test.value_counts()
关键步骤三:标准化数据
在分类模型中,为了消除特征之间的差异性,我们需要将数据标准化,也就是说,将不同的特征值控制在一定的范围内,使得不同的特征变量具有相同的尺度。代码如下:
- # 从sklearn.preprocessing里导入StandardScaler。
- from sklearn.preprocessing import StandardScaler
- # 从sklearn.linear_model里导入LogisticRegression
- from sklearn.linear_model import LogisticRegression
- # 标准化数据,保证每个维度的特征数据方差为1,均值为0。使得预测结果不会被某些维度过大的特征值而主导。
- ss = StandardScaler()
- X_train = ss.fit_transform(X_train)
- X_test = ss.transform(X_test)
关键步骤四:训练与评估模型
调用Lr中的fit模块训练模型参数,模型建立好之后需要评估训练效果,本案例中,提供了两种评估方法:从Sklearn导入分类报告及使用逻辑回归自带评分函数获得模型预测正确的百分比。代码如下:
- #调用Lr中的fit模块训练模型参数
- lr = LogisticRegression()
- lr.fit(X_train, y_train)
- lr_y_predict = lr.predict(X_test)
-
- #评估训练效果——从Sklearn导入分类报告;
- from sklearn.metrics import classification_report
- print(classification_report(y_test, lr_y_predict, target_names=['Benign', 'Malignant']))
-
- #使用逻辑回归自带评分函数获得模型预测正确的百分比
- print('Accuracy of LR Classifier:', lr.score(X_test, y_test))
结果解读:
召回率与精确率我们往往会更关注其中一个指标。 在这个案例中,我们显然更关注召回率,也就是应该被正确识别的恶性肿瘤的百分比 。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。