6种癌症等确诊时都已到晚期,教你如何提早发现癌细胞

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了6种癌症等确诊时都已到晚期,教你如何提早发现癌细胞相关的知识,希望对你有一定的参考价值。

参考技术A

癌症长期成为国人十大死因之首,成为危害健康与生命的头号杀手,但癌症是一种比较难治的疾病,最重要的原因是大多数的癌症早期并没有征兆,80%的病人发现时都已经是晚期,增加治疗难度。

6种癌症早期都没啥症状,该如何提早发现?

在国人最易罹患的癌症中,包括鼻咽癌、肺(腺)癌、胰脏癌、肾脏癌、卵巢癌、肝癌等6种都是属于默默蔓延的癌症,除非是进行例行性的健康检查,否则不易早期发现,癌症病情爆发时通常都已出现肿瘤扩大、癌细胞转移的状况,因此特别需要注意这些癌症在前期一些容易忽略的征兆与警讯。

一、鼻咽癌:

鼻咽癌初期症状不明显,也没有发展出任何筛检工具可以早期检测,一般而言,等到淋巴腺肿大而塞住鼻腔,或是压迫视神经影响视力时,往往都已是到了中、晚期了。

所以如果出现无原因的流鼻血,或是出现很像感冒的症状,例如流鼻涕、咳痰等,却一直没好,或是很少感冒的人却短期内连续感冒多次,还有出现中耳积水、单侧耳朵耳鸣、听力变差等情形,都要提高警觉,可能是出现鼻咽癌的征兆。

肺(腺)癌:

肺(腺)癌多年来一直排名国人罹患癌症的前两名,也是个没有早期筛检工具的癌症,只知它是一种分化生长速度极快的癌症,许多人等到出现咳嗽、咳痰带血、或因胸痛、吞咽困难而去医院检查时,多半已是晚期,如果进入3B或第4期,或出现癌细胞远处转移现象,平均存活时间仅6个月。

所以,若有慢性咳嗽持续3周以上、痰中带有血丝、容易气喘、胸痛、体重异常减轻,甚至颈部摸到淋巴结硬块等症状,一定要尽速就医。

有肺腺癌家族史者也是高危险群,应该每年接受1次低剂量电脑断层扫描,但由于检查费用不低,若有经济顾虑,也可改做胸部X光检查。

肾脏癌:

肾脏位于后腹腔,而且体积较大,所以癌细胞不容易早期发现,早期很少会让人感到不舒服,也是个沉默发展的癌症。

当病患出现血尿、腰部酸痛、腹部长出肿块、莫名发烧找不到感染源等症状,就应尽快就医进行检查。此外,长年洗肾、有吃止痛药习惯者,还有常染头发的人,也是肾脏癌的高危险群。

胰脏癌:

胰脏癌虽然排名国人罹癌名次不高,但初期也是悄然无息、毫无症状,等到发生症状时通常已到晚期,平均5年存活率只有5%,而可以开刀治疗病患的5年存活率也仅10%。

胰脏癌如果长在胰脏头,有时会造成阻塞性黄疸,还有机会早期发现,但如果是长在体部或尾部,往往因为没有明显征兆,就很难早期发现。一旦出现上腹部闷胀、或有持续不明原因的腹痛,甚至是背痛,却查不出病因,或是体重莫名快速减轻,都要警觉很可能是得了胰脏癌,要尽快就医检查。

卵巢癌:

卵巢癌占女性罹癌排名也不高,但多数病患发现时也都已是进入晚期,被称为是「最沉默的杀手」,30年来罹患卵巢癌的妇女暴增10倍。

卵巢癌初期有75%下腹胀痛呕吐、食欲不佳的非典型症状,有家族病史、肥胖女性要多注意卵巢癌威胁。卵巢癌初期有些人症状为下腹肿胀、胀气、闷痛、消化不适、骨盆或腹部疼痛、频尿或尿急,几乎每天出现其中一种症状长达2或3周,尤其是过去没有发生这些症状时,就应尽速就医。

肝癌:

不同于人体的其它器官或组织,肝脏神经分布在表面,肝脏内部少有。大约有60%小型肝癌都不会产生症状,人几乎不会感到疼痛,一般情况下等到出现肝癌症状时,通常已是肝癌晚期。如果没有定期筛检,非常容易忽略。

虽然肝癌早期不会出现任何症状,但如果发现肌肤或眼睛变黄、无法控制的体重减轻、食欲不却觉得很饱、恶心或呕吐等状况时,就要尽快就医检查。

用kNN算法诊断乳腺癌

参考技术A 乳腺癌数据包括569例细胞活检案例,每个案例有32个特征。
第一个特征是识别号码,
第二个特征是癌症诊断结果(癌症诊断结果用编码“M”表示恶性,用编码“B”表示良性),
其他30个特征是数值型的实验室测量结果。(其他30个数值型测量结果由数字化细胞核的10个不同特征的均值、标准差和最差值(即最大值)构成)。这些特征包括:
Radius(半径)、Texture(质地)、Perimeter(周长)、Area(面积)、Smoothness(光滑度)、Compactness(致密性)、Concavity(凹度)、Concave points(凹点)、Symmetry(对称性)、Fractal dimension(分形维数)

最终的数据为:

可以得到有357个为良性,有212个为恶性 因为id列没有意义,去掉id列

并将目标属性编码因子化B良性M恶性

并计算各自占比
round四舍五入round(x,digits=n)
prop.table得到边缘概率prop.table(x,margin=null)

通过summary详细地观察3个特征:可以看出不同特征的度量值差别大

kNN的距离计算在很大程度上依赖于输入特征的测量尺度。由于光滑度的范围是0.05~0.16,且面积的范围是143.5~2501.0,所以在距离计算中,面积的影响比光滑度的影响大很多,这可能潜在地导致我们的分类器出现问题,所以我们应用min-max标准化方法将特征值重新调整到一个标准范围内,对数据通过归一化来进行无量纲处理
即显然数据需要转换,转换函数为:

我们并不需要对这30个数值变量逐个进行min-max标准化,这里可以使用R中的一个函数来自动完成此过程
lapply()函数接受一个列表作为输入参数,然后把一个具体函数应用到每一个列表元素。因为数据框是一个含有等长度向量的列表,所以我们可以使用lapply()函数将normalize()函数应用到数据框中的每一个特征。最后一个步骤是,应用函数as.data.frame()把lapply()返回的列表转换成一个数据框。过程如下所示:

这里使用的后缀_n是一个提示,即wdbc中的值已经被min-max标准化了。
为了确认转换是否正确应用,让我们来看看其中一个变量的汇总统计量:

正如预期的那样,area_mean变量的原始范围是143.5~2501.0,而现在的范围是0~1。

接下来需要切分数据集,实际需要构造training、validation、test,其中validation用来校正提高模型准确性,为简单起见,我们只用train和test
第一种方法:由于我们没有新病人的数据,所以使用前469条记录作为训练数据集,剩下的100条记录用来模拟新的病人

第二种方法:如果样本中的恶性肿瘤大部分分布在1,则将469作为训练集就有很大问题,此时采用随机取样

第三种方法:直接利用"caret"包中的crateDataPartition函数可自动分区

构建模型,class包中的knn函数,由于训练数据集含有469个实例,所以我们可能尝试k = 21,它是一个大约等于469的平方根的奇数。根据二分类的结果,使用奇数将消除各个类票数相等这一情况发生的可能性。
函数knn()返回一个因子向量,为测试数据集中的每一个案例返回一个预测标签,我们将该因子向量命名为wdbc_test_pred。
现在,我们可以使用knn()函数对测试数据进行分类:

该过程的下一步就是评估wdbc_test_pred向量中预测的分类与wdbc_test_labels向量中已知值的匹配程度如何。为了做到这一点,我们可以使用gmodels添加包中的CrossTable()函数,它在第2章中介绍过。如果你还没有安装该添加包,可以使用install.packages("gmodels")命令进行安装。
在使用library(gmodels)命令载入该添加包后,可以创建一个用来标识两个向量之间一致性的交叉表。指定参数prop.chisq = FALSE,将从输出中去除不需要的卡方(chi-square)值,如下所示:

行为真实结果,列为预测结果,对角框的数字越小,模型越好
选取两个变量作为横纵坐标进行画图,观察实际类别与预测的分类结果。

颜色代表分类后得到的结果,形状代表真实的类别。从检测结果和图上都可以看出,分类结果基本与真实结果一致。

以上是关于6种癌症等确诊时都已到晚期,教你如何提早发现癌细胞的主要内容,如果未能解决你的问题,请参考以下文章

文献(4): Nature子刊_晚期非小细胞肺癌的单细胞图谱

用kNN算法诊断乳腺癌

默克在ASCO21上呈报的肿瘤产品阵容数据突显癌症治疗的重大进展

转:一名晚期癌症幸存者对领导力的领悟

转:一名晚期癌症幸存者对领导力的领悟

癌细胞作用于身体