我刚开始学习机器学习。目前正在解决一个分类问题,目标是字符串。我已经将测试集和训练集分开,并通过OneHotEncoder转换了字符串属性,同时,我还使用StandardScaler来缩放训练集的数值特征。
我的问题是,对于测试集,我是否需要像处理训练集的字符串目标那样,使用OneHotEncoder转换测试集中的字符串目标,还是让测试集保持原样,让分类器自己处理?同样,对于数值属性,我是否需要使用StandardScaler来缩放测试集中的数值属性,还是分类器在训练集上完成训练后会自动处理这些属性?
回答:
对于第一个问题,我的建议是,你不需要转换,但这样做会使测试集的评估更容易。你的分类器会输出独热编码的值,你可以将这些值转换回字符串,并对这些值进行评估,不过我认为,如果测试目标是以0-1的形式存在会更有帮助。
对于第二个问题,你需要在训练集上拟合StandardScaler,然后在测试集上使用(转换)它。