You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调参时RandomForestClassifier训练过慢,求M1 Pro环境下的提速方案

加快随机森林参数调优训练速度的方法
  • 利用M1 Pro多核并行能力
    scikit-learn的RandomForestClassifier默认支持并行训练,设置n_jobs=-1可调用所有可用CPU核心,M1 Pro的多核心能大幅压缩训练时间。修改模型初始化代码:

    rfc = RandomForestClassifier(n_estimators=k, n_jobs=-1)
    
  • 缩小迭代范围,先粗调后细调
    遍历1到200的n_estimators存在大量冗余,很多取值的性能差异极小。可以先以大步长(比如10)做粗调,比如测试10、30、50、80、100、150、200,找到准确率趋于稳定的区间后,再在该区间内小步长细调,减少不必要的迭代次数。

  • 用交叉验证替代单次测试评估
    当前代码每次训练后仅用测试集计算准确率,改用cross_val_score不仅能避免过拟合测试集的问题,还能结合并行计算提升效率。示例代码:

    from sklearn.model_selection import cross_val_score
    
    scores = []
    # 先以步长10粗调
    for k in range(1, 200, 10):  
        rfc = RandomForestClassifier(n_estimators=k, n_jobs=-1)
        # 5折交叉验证,并行计算
        cv_scores = cross_val_score(rfc, X_train_scaled, y_train, cv=5, n_jobs=-1)
        scores.append(cv_scores.mean())
    
  • 降低数据集维度
    如果特征维度较高,先通过特征选择或降维缩小数据规模,能显著加快训练速度。比如用SelectKBest筛选高相关性特征:

    from sklearn.feature_selection import SelectKBest, f_classif
    
    # 选择前100个最相关的特征
    selector = SelectKBest(f_classif, k=100)
    X_train_selected = selector.fit_transform(X_train_scaled, y_train)
    X_test_selected = selector.transform(X_test_scaled)
    
    # 使用降维后的数据集训练模型
    
  • 使用Apple Silicon优化的替代库
    M1芯片对lightgbm或xgboost的Apple Silicon版本支持更好,这些库的训练速度比scikit-learn的随机森林更快,且效果相当。以LightGBM为例:

    import lightgbm as lgb
    
    scores = []
    for k in range(1, 200):
        lgb_clf = lgb.LGBMClassifier(n_estimators=k, n_jobs=-1)
        lgb_clf.fit(X_train_scaled, y_train)
        y_pred = lgb_clf.predict(X_test_scaled)
        scores.append(accuracy_score(y_test, y_pred))
    
  • 限制单棵树的复杂度
    随机森林的训练时间和单棵树的复杂度正相关,可通过设置max_depth限制树深,或min_samples_split、min_samples_leaf减少节点数量,既能提速还能避免过拟合:

    rfc = RandomForestClassifier(n_estimators=k, n_jobs=-1, max_depth=10)
    

内容的提问来源于stack exchange,提问作者Ata Berk Çinetçi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 06:22:23