作者简介: 本文作者系大学统计学专业教师,多年从事统计学的教学科研工作,在随机过程、统计推 断、机器学习领域有深厚的理论积累与应用实践。个人主页
1. 问题描述
在2019年,据估计全球约有500万人被诊断为胃肠癌。这其中有半数患者接受为期1~6周、每天10—15分钟的化疗。在化疗过程中,使用X-射线的放射剂量照射肿瘤而尽量避开正常的胃肠器官。在MRI(磁共振成像)扫描中,为了靶向肿瘤位置而避开正常的胃肠器官,医生必须手工标出胃肠器官的位置。这是一个耗时费力的工作,并且使化疗过程延长15分至1小时,给患者增加了治疗的困难。
开发在MRI扫描中自动识别分割胃肠器官与癌症靶点的算法,将使化疗过程更快速、高效,减轻医生的负担和患者的困难。
2. 数据准备
2.1 数据描述
在这个问题里,我们要分割MRI图像的胃肠器官。图像是16-bit灰质png格式。
数据集的 class
有3个不同的值:large bowel, small bowel, stomach.
print(clr.S+"--- train.csv ---"+clr.E)
train = pd.read_csv("../input/uw-madison-gi-tract-image-segmentation/train.csv")
print(clr.S+"shape:"+clr.E, train.shape)
print(clr.S+"Unique ID cases:"+clr.E, train["id"].nunique())
print(clr.S+"Missing Values Column:"+clr.E, train.isna().sum().index[-1])
print("\t", clr.S+"with a total missing rows of:"+clr.E, train.isna().sum().values[-1])
print("\t", clr.S+"% of missing rows:"+clr.E,
len(train[train["segmentation"].isna()==False]), "\n")
print(clr.S+"Sample of train.csv:"+clr.E)
train.sample(5, random_state=26)
2.2 缺失值
# Show a dataframe of missing values
sns.displot(
data=train.isna().melt(value_name="missing"),
y="variable",
hue="missing",
multiple="fill",
# Change aspect of the chart
aspect=3,
height=6,
# Change colors
palette=[my_colors[5], my_colors[2