题目内容
请在仅使用 numpy/pandas/scikit−learn 的前提下,实现一个随机森林二分类器并对测试样本输出类别预测。
- 读取数据
- train:二维列表;最后一列为标签 y∈0,1,前 m 列为数值特征,m≥1
- test:二维列表;仅含特征,与训练集同维度
- 预处理
- 使用 StandardScaler :在训练集 fit,将 train 和 test 分别 transform
- 模型
- 你可能会用到的随机森林固定参数值:
- n_estimators=50
- min_samples _split=2
- min_samples _leaf=1
- random_state=42
- 其余超参数保持默认;不得改动 n_estimators 或 random _state
- 训练 & 预测
- 在全部训练样本上 fit
- 然后对 test 进行预测,输出预测类别
输入描述
标准输入仅一行 JSON,示例:
{
"train":[[-2.0,0],
[-1.8,0],
[-2.2,0],
[2.0,1],
[2.1,1],
[1.9,1]],
"test":[[-1.0],
[2.0]]
}
输出描述
仅输出一行,格式为 JSON 数组,如:
[0, 1]
长度等于测试样本数,
合法 JSON ,逗号后带空格。
补充说明
- 所有随机过程均需显式设置 random_state=42
- 为确保通过测试用例,仅使用 numpy/pandas/scikit−learn 实现
样例1
输入
{"train":[[-2.0,0],[-1.8,0],[-2.2,0],[2.0,1],[2.1,1],[1.9,1]],"test":[[-1.0],[2.0]]}
输出
[0, 1]