前言
随机森林R包(randomForest)和python(sklearn.ensemble.RandomForestClassifier)参数对比
参数 | R | Python |
---|---|---|
树的个数 | ntree | n_estimators |
每棵树的最大节点数 | maxnodes | max_depth |
每个节点考虑的特征数 | mtry | max_features |
种子 | ? | random_state |
python随机森林不能处理缺失值,需要手动去除缺失值:
from sklearn.preprocessing import Imputer
df = Imputer().fit_transform(df)
sklearn 里面用来处理缺失值的包,使用均值、中位值或者缺失值所在列中频繁出现的值来替换
空值排查
nan_list = trains.isnull().sum().tolist()#把每一列的空值个数加起来
print(nan_list)
print(sum(nan_list))
无穷值排查
inf_list = np.isinf(trains).sum().tolist()#把每一列的无穷值个数加起来
print(inf_list)
print(sum(inf_list))
去除数据集中的inf
trains[np.isinf(trains)] = np.nan
python随机森林建模过程
1.加载包