UHPC为核心数据集 测试集划分有两种方式:
-
单任务测试集:针对每个任务,划分出该任务没有缺失标签的样本中的一部分作为测试集
- 训练阶段:分任务训练,与其他任务(标签)的样本进行合并,这样就得到了一个训练集,这个训练集中特征和标签还是有缺失的
- 训练出的模型:
- 输入:特征 + 其他任务的标签
- 输出:当前任务的标签
- 测试阶段:使用该任务的测试集进行评估
- 问题是:测试集中没有其他任务的标签,怎么办?(需要想办法解决)
-
多任务测试集:划分出所有任务都没有缺失标签的样本作为测试集
- 训练阶段:使用其他样本作为训练集,这些样本中有缺失标签和缺失特征
- 训练出的模型:
- 输入:特征
- 输出:所有任务的标签
- 测试阶段:使用多任务测试集进行评估
- 这样就能利用多个任务之间的关系进行预测
- 缺点是:测试集会比较小,并且只能评估那些没有缺失标签的样本
- 问题:取出测试集后,训练集不存在完整的数据,在一些不能直接处理缺失的模型上,无法提取到有效信息。
数据集做标准化。 stancard scaler
from sklearn.preprocessing import StandardScaler
def scale_data(X: pd.DataFrame) -> pd.DataFrame: preproc = StandardScaler() cols = X.columns return pd.DataFrame(preproc.fit_transform(X), columns=cols)
随机种子固定,做5-10个, 先做一个,看看结果
都用XgBoost