深度学习-【完整代码+数据集】逻辑回归预测乳腺癌检测案例

作者简介:Java、前端、Python开发多年,做过高程,项目经理,架构师

主要内容:Java项目开发、Python项目开发、大学数据和AI项目开发、单片机项目设计、面试技术整理、最新技术分享

收藏点赞不迷路  关注作者有好处

文末获得源码

机器学习分为:

有监督学习:数据带有标签

无监督学习:数据没有标签,根据属性聚类

在机器学习有监督学习中大致可以分为两大任务,一种是回归任务,一种是分类任

务;那么这两种任务的区别是什么呢?按照较官方些的说法,输入变量与输出变量均为

连续变量的预测问题是回归问题,输出变量为有限个离散变量的预测问题成为分类问题。

回归:

举个例子,输入一个人每日的运动时间、睡眠时间、工作时间、饮食等一些特征来

预测一个人的体重,一个人的体重的值可以有无限个值。所以预测的结果是无限的、不

确定的连续数值。这样的机器学习任务就是回归任务。

分类:

如果利用一个人每日的运动时间、睡眠时间、工作时间、饮食等一些特征来判断这

个人的身体状况是否健康,那么最终的判断的结果就只有两种健康和不健康。这样的输

出结果为离散值,预测的结果也是一个有限的数值来代表种类。

案例:根据提供的乳腺癌患者的检测指标进行训练后预测患癌症的结果

数据集可私信博主获取

#逻辑回归预测乳腺癌
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import MinMaxScaler
from sklearn.linear_model import LogisticRegression  #逻辑回归模型
from sklearn.metrics import classification_report

#读取数据
dataset = pd.read_csv("breast_cancer_data.csv")
#print(dataset)

#提取X  特征
X = dataset.iloc[:, :-1]
#print(X)

#提取Y 标签(分类结果)
Y = dataset['target']
#print(Y)

#划分测试集和数据集
x_train,x_test,y_train,y_test=train_test_split(X,Y,test_size=0.2)


#进行数据的归一化
sc = MinMaxScaler(feature_range=(0,1))
x_train = sc.fit_transform(x_train)
x_test = sc.fit_transform(x_test)

#print(y_test)

#逻辑回归模型搭建
lr = LogisticRegression()  #创建模型对象
lr.fit(x_train,y_train)   #开始模型训练

#打印模型参数
#print('W',lr.coef_)
#print('b',lr.intercept_)

#利用训练好的模型进行推理测试
pre_result = lr.predict(x_test)
#print(pre_result)

#打印预测结果的概率
pre_result_proba = lr.predict_proba(x_test)
#print(pre_result_proba)

#读取恶性肿瘤的概率
pre_list = pre_result_proba[:, 1]
#print(pre_list)

#设置阈值以调整检测的比例
thresholds = 0.3

#设置保存结果的列表
result = []
result_name = []

for i in range(len(pre_list)):
    if pre_list[i]>thresholds:
        result.append(1)
        result_name.append("恶性")
    else:
        result.append(0)
        result_name.append("良性")

#打印阈值调整后的结果
#print(result)
#print(result_name)

#输出结果的精确率和召回还有f1值
report = classification_report(y_test,result,labels=[0,1],target_names=['良性肿瘤','恶性肿瘤'])
print(report)

预测结果:

 precision    recall  f1-score   support

        良性肿瘤       1.00      0.86      0.93        72
        恶性肿瘤       0.81      1.00      0.89        42

    accuracy                           0.91       114
   macro avg       0.90      0.93      0.91       114
weighted avg       0.93      0.91      0.91       114

相关作品展示

基于Java开发、Python开发、PHP开发、C#开发等相关语言开发的实战项目

基于Nodejs、Vue等前端技术开发的前端实战项目

基于微信小程序和安卓APP应用开发的相关作品

基于51单片机等嵌入式物联网开发应用

基于各类算法实现的AI智能应用

基于大数据实现的各类数据管理和推荐系统

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_469603589

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值