本文为本学期《生物医学信息》课程作业,第一次发文,希望可以记录自己的学习状态,和大家一起学习进步。
作业要求:
背景介绍:
UCI 数据集是加州大学欧文分校(University of CaliforniaIrvine)提出的用于机器学习的
数据库。目前共有 622 个数据集,是一个常用的机器学习标准测试数据集。本文选取 UCI
数据集中第 196 号数据集进行处理分析。
sklearn 是一个 Python 第三方提供的非常强力的机器学习库,它建立在 NumPy, SciPy,
Pandas 和 Matplotlib 之上,在 sklearn 里面有六大任务模块:分别是分类、回归、聚类、
降维、模型选择和预处理。合理的使用 sklearn 可以减少代码量与编程时间,使我们有更多
的精力去分析数据分布,调整模型和修改超参。
数据集介绍:
本实验使用的数据集来自 UCI machine learning 数据集生命科学类中的 Localization
Data for Person Activity Data Set,此数据集共有 164860 个样本以及 8 个特征,样本数×
特征数 > 50 万,包含了五个人的左右脚踝、腰部和胸部在不同时间点的位置坐标等属性,
根据这些属性,将受试者分为行走、躺下、站立等 11 种不同的行为状态。
数据下载地址为:
UCI Machine Learning Repository: Localization Data for Person Activity Data Set
数据实例:
A01,020-000-033-111,633790226057226795,27.05.2009 14:03:25:723,4.292500972747803,
2.0738532543182373,1.36650812625885, walking
第一列 SequenceName:{A01,A02,A03,A04,A05,B01,B02,B03,B04,B05,C01,C02,
C03,C04,C05,D01,D02,D03,D04,D05,E01,E02,E03,E04,E05} (Nominal) ,代表 A, B, C, D,
E 5 个人。
第二列 TagIdentificator:{010-000-024-033,020-000-033-111,020-000-032-221,
010-000-030-096} (Nominal) ,使用不同的数字序列,代表人体的不同部位,分别为
ANKLE_LEFT、ANKLE_RIGHT、CHEST、BELT。第三列 Timestamp:时间戳。
第四列 date:符合 dd.MM.yyyy HH:mm:ss:SSS 形式的日期数据。
第五列-第七列分别为 x、y、z 坐标。
第八列 activity:{walking, falling, lying down, lying, sitting down, sitting, standing up
from lying, on all fours, sitting on the ground, standing up from sitting, standing up from
sitting on the ground},表示人的行为状态,共有以上 11 种。
K折交叉验证:
K 次交叉验证(K-fold cross-validation),将训练集分割成 K 个子样本,一个单独的
子样本被保留作为验证模型的数据,其他 K-1 个样本用来训练。交叉验证重复 K 次,每个
子样本验证一次,平均 K 次的结果或者使用其它结合方式,最终得到一个单一估测。这个
方法的优势在于,同时重复运用随机产生的子