调用sklearn实现逻辑回归

前言

上一篇博客对逻辑回归的理论进行了学习,下面想先通过调库用代码来实现一下该算法。

调用sklearn实现逻辑回归

  1. 数据集

因为逻辑回归算法一般用于解决二分类的问题,所以我选择了使用sklearn提供的乳腺癌数据集load-barest-cancer(),这是一个简单经典的用于二分类任务的数据集。先通过代码查看一下这个数据集的相关信息:

from sklearn import datasets
import numpy as np

cancer = datasets.load_breast_cancer()
print(cancer.data.shape)
print("数据集样本数:", cancer.data.shape[0])
print("每个样本特征数:", cancer.data.shape[1])
print("样本类别:", np.unique(cancer.target))

输出结果:

(569, 30)
数据集样本数: 569
每个样本特征数: 30
样本类别: [0 1]

如果直接输出样本的target会有一长串,且为了更方便观察,所以我用了np.unique来消除重复的数据。
根据结果可以分析,该数据集有539个样本,每个样本有30个特征

  1. 完整代码
from sklearn import datasets
from sklearn import model_selection
from sklearn import linear_model
import numpy as np
# 加载数据集
cancer = datasets.load_breast_cancer()
X = cancer.data  # 样本
y = cancer.target  # 类别
# 划分数据集
X_trainer, X_test, Y_trainer, Y_test = model_selection.train_test_split(X, y, test_size=0.2)
# 调用LogisticRegression
lr = linear_model.LogisticRegression()
lr.fit(X_trainer, Y_trainer)  # 训练
score = lr.score(X_test, Y_test)  # 查看预测得分
print("score:", score)

输出结果:

score: 0.9736842105263158

根据结果可以看出,该算法对于这个训练集的分类效果很不错。

©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页