利用Sklearn中逻辑回归模型训练胸腺癌(breast_cancer)数据集
是基于基于NumPySciPy和Matplotlib的开源Python机器学习包,具有:1.简单高效的数据分析工具2.可在多种环境中重复使用3.建立在NumpyScipy以及matplotlib等数据科学库之上4.开源且可商用的基于BSD许可它封装了一系列数据预处理、机器学习算法、模型选择等工具,是数据分析师首选的机器学习工具包。自2007年发布以来,已经成为Python重要的机器学习库了,简称s
一、前言
1.1 Scikit-learn概述
1.2 使用sklearn建立一个机器学习框架
二、数据采集
数据集:scikit-learn中自带数据集load_breast_cancer

三、数据处理
3.1 划分数据集
train_test_split
利用sklearn库中的train_test_split来进行划分数据集,其参数有:
# train_data:所要划分的样本特征集
# train_target:所要划分的样本结果
# test_size:样本占比,如果是整数的话就是样本的数量
# random_state:随机数的种子。
四、建模分析
4.1 LogisticRegression()主要参数:
penalty:指定正则化的参数可选为"l1", “l2” 默认为“l2”. 注意:l1正则化会将部分参数压缩到0,而l2正则化不会让 参数取到0只会无线接近
C : 大于0的浮点数。C越小对损失函数的惩罚越重
multi_class : 告知模型要处理的分类问题是二分类还是多分类。 默认为“ovr”(二分类) “multinational”:表示处理多分类问题,在solver="liblinear"时不可用 “auto” : 表示让模型自动判断分类类型
solver:指定求解方式
五、源代码
from sklearn.datasets import load_breast_cancer
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
import numpy as np
from matplotlib import pyplot as plt
# 加载乳腺癌数据集
breast_cancer = load_breast_cancer()
# 获取X特征向量数据以及y标签向量数据
cancer_x = breast_cancer.data
cancer_y = breast_cancer.target
# 划分训练集和测试集
x_train, x_test, y_train, y_test = train_test_split(cancer_x,
cancer_y,
test_size=0.3)
# 训练逻辑回归模型
log = LogisticRegression(solver='liblinear')
log.fit(x_train, y_train)
y_predict = log.predict(x_test)
print(f'预测结果:{y_predict}')
print(f"错误数据:{y_predict - y_test}")
print(len(x_train), '\n', len(y_train))
count = 0
L = len(y_test)
print(f'测试集长度:{L}')
for i in range(L):
if log.predict(x_test)[i] != y_test[i]:
count += 1
print(f"出错个数:{count}")
rate = (1 - count / L) * 100
print("错误率:%.2f%%" % rate)
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)