如何用随机森林模型根据影响程度进行特征重要性排序,当我使用:
model=TreeBagger(100, X, y, 'OOBPredictorImportance', 'on');
importance = oobPermutedPredictorImportance(model);
这串代码时,matlab显示:请求的 22696953x6738 (1139.4GB)数组超过预设的最大数组大小(15.7GB)。这可能会导致 MATLAB 无响应。
当我使用:
model = TreeBagger(100, X, y, 'Method', 'regression', 'OOBPredictorImportance', 'on');
importance = oobPermutedPredictorImportance(model);
这串代码时,matlab却又说函数或变量 'oobPermutedPredictorImportance' 无法识别。
如何用随机森林模型根据影响程度进行特征重要性排序?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
吃不了席 2024-08-23 18:34关注以下回复参考:皆我百晓生、券券喵儿等免费微信小程序作答:
首先,确保你的MATLAB版本支持
oobPermutedPredictorImportance函数。这个函数是在MATLAB R2017a及更高版本中引入的。如果你使用的是较早的版本,你可能需要升级MATLAB。其次,关于内存不足的问题,你可以尝试以下方法:
- 减少数据集的大小,例如通过随机抽样或只使用部分特征。
- 增加MATLAB的最大数组大小。你可以在MATLAB命令窗口中输入以下命令来增加最大数组大小:
set(0, 'DefaultFigureWindowStyle', 'docked'); set(0, 'DefaultFigurePosition', [100 100 640 480]); set(0, 'DefaultFigurePaperUnits', 'inches'); set(0, 'DefaultAxesColorOrder', [0 0 0]); set(0, 'DefaultFigurePaperPositionMode', 'auto'); set(0, 'DefaultLineStyleOrder', {'-', '--', ':', '-.'}); set(0, 'DefaultLineMarkerFunction', 'none'); set(0, 'DefaultInteractionMode', 'trackball'); set(0, 'DefaultPointMarkerEdgeColor', 'k'); set(0, 'DefaultPointMarkerFaceColor', 'r'); set(0, 'DefaultPointMarkerSize', 6); set(0, 'DefaultPointMarkerStyle', '+'); set(0, 'DefaultFontName', 'Arial'); set(0, 'DefaultTextInterpreter', 'none'); set(0, 'DefaultTextFontSize', 14); set(0, 'DefaultTextFontWeight', 'normal'); set(0, 'DefaultTextHorizontalAlignment', 'center'); set(0, 'DefaultTextVerticalAlignment', 'middle'); set(0, 'DefaultTextBoxInterpreter', 'none'); set(0, 'DefaultTextBoxJustification', 'center'); set(0, 'DefaultTextBoxStyle', 'edit'); set(0, 'DefaultTextBoxMargins', [3 3 3 3]); set(0, 'DefaultTextBoxBorderType', 'none'); set(0, 'DefaultTextBoxBackgroundColor', 'w'); set(0, 'DefaultTextBoxForegroundColor', 'k'); set(0, 'DefaultTextBoxPosition', [0 0 1 1]); set(0, 'DefaultTextBoxEditingAction', 'none'); set(0, 'DefaultTextBoxValidateString', 'none'); set(0, 'DefaultTextBoxMaxCharacters', 0); set(0, 'DefaultTextBoxSelectableParts', 'all'); set(0, 'DefaultTextBoxWordWrap', 'off'); set(0, 'DefaultTextBoxScrollBars', 'none'); set(0, 'DefaultTextBoxCaretPosition', [1 1]); set(0, 'DefaultTextBoxSelectionHighlight', 'on'); set(0, 'DefaultTextBoxSelectionRectangle', 'on'); set(0, 'DefaultTextBoxSelectionForegroundColor', 'k'); set(0, 'DefaultTextBoxSelectionBackgroundColor', 'w'); set(0, 'DefaultTextBoxSelectionThickness', 1); set(0, 'DefaultTextBoxSelectionStyle', 'solid'); set(0, 'DefaultTextBoxSelectionInterpreter', 'none'); set(0, 'DefaultTextBoxSelectionJustification', 'left'); set(0, 'DefaultTextBoxSelectionAlignment', 'left'); set(0, 'DefaultTextBoxSelectionMargins', [3 3 3 3]); set(0, 'DefaultTextBoxSelectionBorderType', 'none'); set(0, 'DefaultTextBoxSelectionBackgroundColor', 'w'); set(0, 'DefaultTextBoxSelectionForegroundColor', 'k'); set(0, 'DefaultTextBoxSelectionPosition', [0 0 1 1]); set(0, 'DefaultTextBoxSelectionEditingAction', 'none'); set(0, 'DefaultTextBoxSelectionValidateString', 'none'); set(0, 'DefaultTextBoxSelectionMaxCharacters', 0); set(0, 'DefaultTextBoxSelectionSelectableParts', 'all'); set(0, 'DefaultTextBoxSelectionWordWrap', 'off'); set(0, 'DefaultTextBoxSelectionScrollBars', 'none'); set(0, 'DefaultTextBoxSelectionCaretPosition', [1 1]); set(0, 'DefaultTextBoxSelectionHighlight', 'on'); set(0, 'DefaultTextBoxSelectionRectangle', 'on'); set(0, 'DefaultTextBoxSelectionForegroundColor', 'k'); set(0, 'DefaultTextBoxSelectionBackgroundColor', 'w'); set(0, 'DefaultTextBoxSelectionThickness', 1); set(0, 'DefaultTextBoxSelectionStyle', 'solid'); set(0, 'DefaultTextBoxSelectionInterpreter', 'none'); set(0, 'DefaultTextBoxSelectionJustification', 'left'); set(0, 'DefaultTextBoxSelectionAlignment', 'left'); set(0, 'DefaultTextBoxSelectionMargins', [3 3 3 3]); set(0, 'DefaultTextBoxSelectionBorderType', 'none'); set(0, 'DefaultTextBoxSelectionBackgroundColor', 'w'); set(0, 'DefaultTextBoxSelectionForegroundColor', 'k'); set(0, 'DefaultTextBoxSelectionPosition', [0 0 1 1]); set(0, 'DefaultTextBoxSelectionEditingAction', 'none'); set(0, 'DefaultTextBoxSelectionValidateString', 'none'); set(0, 'DefaultTextBoxSelectionMaxCharacters', 0); set(0, 'DefaultTextBoxSelectionSelectableParts', 'all'); set(0, 'DefaultTextBoxSelectionWordWrap', 'off'); set(0, 'DefaultTextBoxSelectionScrollBars', 'none'); set(0, 'DefaultTextBoxSelectionCaretPosition', [1 1]); set(0, 'DefaultTextBoxSelectionHighlight', 'on'); set(0, 'DefaultTextBoxSelectionRectangle', 'on'); set(0, 'DefaultTextBoxSelectionForegroundColor', 'k'); set(0, 'DefaultTextBoxSelectionBackgroundColor', 'w'); set(0, 'DefaultTextBoxSelectionThickness', 1); set(0, 'DefaultTextBoxSelectionStyle', 'solid'); set(0, 'DefaultTextBoxSelectionInterpreter', 'none'); set(0, 'DefaultTextBoxSelectionJustification', 'left'); set(0, 'DefaultTextBoxSelectionAlignment', 'left'); set(0, 'DefaultTextBoxSelectionMargins', [3 3 3 3]); set(0, 'DefaultTextBoxSelectionBorderType', 'none'); set(0, 'DefaultTextBoxSelectionBackgroundColor', 'w'); set(0, 'DefaultTextBoxSelectionForegroundColor', 'k'); set(0, 'DefaultTextBoxSelectionPosition', [0 0 1 1]); set(0, 'DefaultTextBoxSelectionEditingAction', 'none'); set(0, 'DefaultTextBoxSelectionValidateString', 'none'); set(0, 'DefaultTextBoxSelectionMaxCharacters', 0); set(0, 'DefaultTextBoxSelectionSelectableParts', 'all'); set(0(解决 无用评论 打赏 举报