当前位置: 首页 > news >正文

6.乳腺癌良性恶性预测(二分类、逻辑回归、PCA降维、SVD奇异值分解)

乳腺癌良性恶性预测

  • 1. 特征工程
    • 1.1 特征筛选
    • 1.2 特征降维 PCA
    • 1.3 SVD奇异值分解
  • 2. 代码
    • 2.1 逻辑回归、二分类问题
    • 2.2 特征降维 PCA
    • 2.3 SVD奇异值分解

1. 特征工程

  • 专业上:30个人特征来自于临床一线专家,每个特征和都有医学内涵;
  • 数据上:30个中可能有一些是冗余的。

1.1 特征筛选

  • 从30个选出重要的,踢掉不重要的。
  • 从数据的角度来讲,不建议进行特征筛选,做特征筛选可能只是为了解释性,给领导看看而已。因为再不重要的特征都有信息,筛选掉必然导致信息的丢失。
  • 线性回归的系数代表该项特征的重要性,系数就代表权重。
  • 使用协方差皮尔逊系数判断两列特征的相关性。

1.2 特征降维 PCA

  • 把原来30个特征中的核心信息中抽取出来,融合到新生成的几个特征中,新的特征不是原来的任何一个!
  • PCA(Principal Component Analysis,主成分分析)

1.3 SVD奇异值分解

  • SVD(奇异值分解)是一种在信号处理、统计学、机器学习等领域广泛应用的矩阵分解方法。
  • 它可以将一个矩阵分解为三个特定的矩阵的乘积,这三个矩阵分别是:一个正交矩阵、一个对角矩阵(其元素为奇异值,且按从大到小排列)以及另一个正交矩阵的转置。

2. 代码

2.1 逻辑回归、二分类问题

y = F ( X ) = s i g m o i d ( x 0 w 0 + x 1 w 1 + x 2 w 2 + . . . + x 12 w 12 ) y=F(X)=sigmoid(x_0w_0+x_1w_1+x_2w_2+...+x_{12}w_{12}) y=F(X)=sigmoid(x0w0+x1w1+x2w2+...+x12w12)

from sklearn.datasets import load_breast_cancer
X,y=load_breast_cancer(return_X_y=True)
print(X.shape,y.shape)  #:(569, 30) (569,)from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test = train_test_split(X,y)
# 逻辑回归,实际是二分类,就是线性回归加了一个激活函数 sigmoid
from sklearn.linear_model import LogisticRegression
lr=LogisticRegression(max_iter=10000)
lr.fit(X_train,y_train)
pred=lr.predict(X_test)
acc=(pred==y_test).mean()
print(acc)

2.2 特征降维 PCA

# 特征降维 PCA(主成分分析)
from sklearn.decomposition import PCA
pca = PCA(n_components=20)
pca.fit(X_train)
X_train1 = pca.transform(X_train)
# 原始数据
lr = LogisticRegression(max_iter=10000)
lr.fit(X_train,y_train)
(lr.predict(X_test)==y_test).mean()  #:0.965034965034965
# 10个特征
lr1 = LogisticRegression(max_iter=10000)
# 特征降维
# 1. 构建
pca=PCA(n_components=10)
# 2. 拟合
pca.fit(X_train)
# 3. 转换
X_train1 = pca.transform(X_train)
X_test1 = pca.transform(X_test)lr1.fit(X_train1,y_train)
(lr1.predict(X_test1)==y_test).mean()  #:0.958041958041958

2.3 SVD奇异值分解

import numpy as np
from matplotlib import pyplot as plt
beauty = plt.imread(fname="beauty.jpg")
# [Height, Width, Channel]
print(beauty.shape)  #:(627, 481, 3)
r=beauty[:,:,0]
plt.imshow(r,cmap='gray')

在这里插入图片描述

U, S, V = np.linalg.svd(a=r, full_matrices=False)
print(U.shape,S.shape, V.shape)  #: (627, 481) (481,) (481, 481)
plt.plot(S)

在这里插入图片描述

"""降维之后的效果
"""
K = 20
restore = U[:,:K] @ np.diag(S[:K]) @ V[:K, :]
plt.imshow(X=restore, cmap="gray")

在这里插入图片描述

相关文章:

6.乳腺癌良性恶性预测(二分类、逻辑回归、PCA降维、SVD奇异值分解)

乳腺癌良性恶性预测 1. 特征工程1.1 特征筛选1.2 特征降维 PCA1.3 SVD奇异值分解 2. 代码2.1 逻辑回归、二分类问题2.2 特征降维 PCA2.3 SVD奇异值分解 1. 特征工程 专业上:30个人特征来自于临床一线专家,每个特征和都有医学内涵;数据上&…...

Vue3响应式高阶用法之markRaw()

Vue3响应式高阶用法之markRaw() 文章目录 Vue3响应式高阶用法之markRaw()一、简介二、使用场景2.1 避免性能开销2.2 防止意外修改 三、基本使用3.1 标记对象 四、功能详解4.1 markRaw与reactive的区别4.2 markRaw与ref的区别 五、最佳实践及案例5.1 使用大型第三方库对象5.2 静…...

免费SSL证书的安全性与获取指南

SSL证书是一种数字凭证,用于加密用户与网站之间的信息交换,以确保传输的数据不被第三方窃取。它像是一个数字版的密封印章,为数据的传输过程提供了一层保护膜。 免费的SSL证书通常由CA机构提供,它们同样可以提供基础数据的加密服…...

【CN】Argo 持续集成和交付(一)

1.简介 Argo 英 [ˈɑ:ɡəu] 美 [ˈɑrˌɡo] Kubernetes 原生工具,用于运行工作流程、管理集群以及正确执行 GitOps。 Argo 于 2020 年 3 月 26 日被 CNCF 接受为孵化成熟度级别,然后于 2022 年 12 月 6 日转移到毕业成熟度级别。 argoproj.github.i…...

Unity3D 自定义Debug双击溯源问题详解

前言 在Unity3D的开发过程中,经常需要处理各种交互和事件,其中双击事件是常见的需求之一。然而,由于Unity自带的双击检测机制并不完善,开发者往往需要自定义实现以满足特定需求。本文将详细介绍如何在Unity3D中自定义Debug双击溯…...

环境搭建-Docker搭建ClickHouse

Docker搭建ClickHouse 一、前言二、ClickHouse安装2.1 拉取镜像运行ClickHouse服务 三、测试安装3.1 进入clickhouse容器3.2 命令补充说明 四、测试连接五、设置CK的用户名密码 一、前言 本文使用的Docker使用Windows搭建,Linux版本的搭建方式一样。 Windows系统搭…...

深入理解CSS中的变量(概念篇)

CSS变量,也称为自定义属性,是一种在CSS中定义和重用值的方式。它们允许开发者在一个地方定义样式值,然后在整个样式表中引用这些值,从而提高代码的可维护性和可读性。 1、定义和使用CSS变量 CSS变量的定义和使用非常简单。变量名以两个连字符开头,变量值为任何有效的CSS…...

Prometheus 监控Tomcat等java应用的状态

5月应用服务出现问题,当别的小伙伴问我,有没有Tomcat等应用状态的监控的时候,我有点儿尴尬。所以赶紧抽空部署一下。 在配置之前,就当已经会安装jdk和tomcat了。 一、下载jmx_exporter #linux下 cd /usr/local/prometheus wget …...

c++中的斐波那契数列(Fibonacci Sequence)和背包问题(Knapsack Problem)

前言 hello,大家好啊,我是文宇,不是文字,是文宇哦。 斐波那契数列(Fibonacci Sequence) 斐波那契数列(Fibonacci Sequence)是一个经典的数学问题,其中每个数都是前两个…...

connect的非阻塞模式

本文参考:connect 函数在阻塞和非阻塞模式下的行为 一般情况下,在使用connect连接服务端时,需要等待一会儿才会函数才会返回,导致程序阻塞。为了降低阻塞的影响,我们可能会单独开个线程处理connect请求,例…...

jenkins面试题全集

1. 简述什么是Jenkins ? Jenkins是一个开源的持续集成的服务器,Jenkins开源帮助我们自动构建各类项目。 Jenkins强大的插件式,使得Jenkins可以集成很多软件,可以帮助我们持续集成我们的工程项目,对于我们测试来说&…...

Python中最好学和最实用的有哪些库和框架

Python拥有丰富的库和框架,这些库和框架覆盖了从数据处理、科学计算、Web开发到机器学习等多个领域。以下是一些值得学习的Python库和框架: 数据处理与科学计算 NumPy 描述:NumPy是Python中用于科学计算的一个库,它提供了一个强…...

文件解析的终极工具:Apache Tika

文件解析的终极工具:Apache Tika Apache Tika 简介 Apache Tika 是一个开源的、跨平台的库,用于检测、提取和解析各种类型文件的元数据。 它支持多种文件格式,包括文档、图片、音频和视频。 Tika是一个底层库,经常用于搜索引擎…...

Hadoop 重要监控指标

某安卓逆向课程打包下载(92节课) ​​https://pan.quark.cn/s/53cec8b8055a ​​ 某PC逆向课程(100节课打包下载) ​​https://pan.quark.cn/s/e38f2b24f36c​​ Hadoop 是一个开源的分布式存储和计算框架,广泛应用…...

oracle 查询锁表

oracle 查询锁表 SELECT o.object_name, s.sid, s.serial#, p.spid, s.username, s.program FROM v l o c k e d o b j e c t l J O I N d b a o b j e c t s o O N l . o b j e c t i d o . o b j e c t i d J O I N v locked_object l JOIN dba_objects o ON l.object_id …...

进程概念(三)----- fork 初识

目录 前言1. pid && ppid2. forka. 为什么 fork 要给子进程返回 0, 给父进程返回子进程的 pid ?b. 一个函数是如何做到两次的?c. fork 函数在干什么?d. 一个变量怎么做到拥有不同的内容的?e. 拓展:…...

huawei 路由 RIP 协议中三种定时器的工作原理

RFC2453 定义的三种 RIP 协议定时器 更新定时器(Update Timer):用于触发更新报文的发送,超时时间为 30 秒。老化定时器(Age Timer):如果在老化时间内没有收到邻居发送的响应报文,则…...

HTML常见标签——超链接a标签

一、a标签简介 二、a标签属性 href属性 target属性 三、a标签的作用 利用a标签进行页面跳转 利用a标签返回页面顶部以及跳转页面指定区域 利用a标签实现文件下载 一、a标签简介 <a>标签用于做跳转、导航&#xff0c;是双标签&#xff0c;记作<a></a>&#…...

Python 爬虫入门(一):从零开始学爬虫 「详细介绍」

Python 爬虫入门&#xff08;一&#xff09;&#xff1a;从零开始学爬虫 「详细介绍」 前言1.爬虫概念1.1 什么是爬虫&#xff1f;1.2 爬虫的工作原理 2. HTTP 简述2.1 什么是 HTTP&#xff1f;2.2 HTTP 请求2.3 HTTP 响应2.4 常见的 HTTP 方法 3. 网页的组成3.1 HTML3.2 CSS3.…...

Linux嵌入式学习——数据结构——概念和Seqlist

数据结构 相互之间存在一种或多种特定关系的数据元素的集合。 逻辑结构 集合&#xff0c;所有数据在同一个集合中&#xff0c;关系平等。 线性&#xff0c;数据和数据之间是一对一的关系。数组就是线性表的一种。 树&#xff0c; 一对多 图&#xff0c;多对多 …...

终极指南:如何在Foobar2000中安装和配置ESLyric逐字歌词源

终极指南&#xff1a;如何在Foobar2000中安装和配置ESLyric逐字歌词源 【免费下载链接】ESLyric-LyricsSource Advanced lyrics source for ESLyric in foobar2000 项目地址: https://gitcode.com/gh_mirrors/es/ESLyric-LyricsSource 想要在Foobar2000中享受精准的逐字…...

Wan2.1-umt5辅助数学公式处理:从图片或LaTeX中理解与转换数学表达式

Wan2.1-umt5辅助数学公式处理&#xff1a;从图片或LaTeX中理解与转换数学表达式 如果你在科研、教育或者出版行业工作过&#xff0c;一定遇到过这样的烦恼&#xff1a;看到一篇论文里的复杂公式&#xff0c;想把它录入到自己的文档里&#xff0c;只能一个字一个字地对着敲&…...

如何通过5个步骤为Windows 11 24H2 LTSC恢复微软商店功能

如何通过5个步骤为Windows 11 24H2 LTSC恢复微软商店功能 【免费下载链接】LTSC-Add-MicrosoftStore Add Windows Store to Windows 11 24H2 LTSC 项目地址: https://gitcode.com/gh_mirrors/ltscad/LTSC-Add-MicrosoftStore 你是否曾遇到过在Windows 11 24H2 LTSC系统中…...

FINCH聚类算法实战:5分钟搞定无参数聚类(附Python代码)

FINCH聚类算法实战&#xff1a;5分钟搞定无参数聚类&#xff08;附Python代码&#xff09; 在数据科学和机器学习领域&#xff0c;聚类分析一直是探索性数据分析的重要工具。传统聚类方法如K-means、DBSCAN等虽然广泛应用&#xff0c;但都面临一个共同挑战&#xff1a;需要人工…...

Chainlit前端定制化|通义千问1.5-1.8B-GPTQ-Int4私有化部署与UI二次开发教程

Chainlit前端定制化&#xff5c;通义千问1.5-1.8B-GPTQ-Int4私有化部署与UI二次开发教程 你是不是已经体验过各种在线大模型&#xff0c;但总感觉有些限制&#xff1f;比如数据隐私的担忧、网络延迟的困扰&#xff0c;或者想打造一个完全属于自己的、界面更符合业务需求的AI助…...

HunyuanVideo-Foley应用场景:播客自动化剪辑、TTS语音情感增强音效

HunyuanVideo-Foley应用场景&#xff1a;播客自动化剪辑与TTS语音情感增强音效 1. 镜像概述与核心能力 HunyuanVideo-Foley私有部署镜像是一款专为音视频生成任务优化的AI工具包&#xff0c;特别针对RTX 4090D 24GB显存显卡进行了深度优化。这个开箱即用的解决方案将视频生成…...

中文句子相似度分析神器:StructBERT本地部署全流程详解(附代码)

中文句子相似度分析神器&#xff1a;StructBERT本地部署全流程详解&#xff08;附代码&#xff09; 1. 工具概览与核心价值 中文语义相似度分析是自然语言处理中的一项基础但关键的任务。无论是智能客服中的问题匹配&#xff0c;还是内容平台的文章查重&#xff0c;都需要准确…...

面向对象高级三:内部类 枚举 泛型 java.lang包下常用API

一.内部类1.内部类概述 2.成员内部类&#xff08;实例内部类&#xff09;&#xff08;1&#xff09;成员内部类可以定义类的一切成员&#xff08;2&#xff09;当创建对象时不能直接给内部类创建对象而要先创建外部类的对象 然后new成员内部类的对象&#xff08;3&#xff09;在…...

Llama-3.2V-11B-cot部署案例:中小企业低成本构建AI图文分析工作台

Llama-3.2V-11B-cot部署案例&#xff1a;中小企业低成本构建AI图文分析工作台 1. 项目概述 Llama-3.2V-11B-cot是基于Meta最新多模态大模型开发的专业级视觉推理工具&#xff0c;专为中小企业打造的低成本AI图文分析解决方案。该工具针对双卡RTX 4090环境进行了深度优化&…...

SVG-Edit:开源矢量编辑在浏览器工具中的创新实践

SVG-Edit&#xff1a;开源矢量编辑在浏览器工具中的创新实践 【免费下载链接】svgedit Powerful SVG-Editor for your browser 项目地址: https://gitcode.com/gh_mirrors/sv/svgedit SVG-Edit是一款基于浏览器环境的开源矢量图形编辑工具&#xff0c;提供在线SVG编辑能…...