Octave调用外部文件函数出现Pseudo_random_Coding未定义错误如何解决
Octave调用FuzzyImb库报错解决方案
问题根因
报错提示Pseudo_random_Coding未定义,主要来自两个可能:
- funECOC.m文件内函数名拼写错误
- 对应函数文件未被Octave正确加载
解决步骤
- 第一步:修正funECOC.m的拼写错误
打开funECOC.m文件,定位到第45行,将代码中拼写错误的Pseudo_randdom_Coding(多出一个字母d)修改为Pseudo_random_Coding,保存文件。 - 第二步:验证对应函数文件可被Octave识别
在Octave命令行执行以下指令:
如果返回对应的文件路径,说明函数已被识别;如果返回which Pseudo_random_Coding'Pseudo_random_Coding' not found,执行以下指令递归添加库所有子目录到加载路径:addpath(genpath('你存放Multi_Imbalance库的根目录完整路径')) - 第三步:临时替代方案(可选)
如果找不到Pseudo_random_Coding.m文件,可将funECOC.m第45行替换为Octave兼容的ECOC编码实现:% 生成-1/1二元编码矩阵 code = randi([0 1], N_class, N_dichotomizers); code(code == 0) = -1; - 第四步:清空缓存重跑
执行clear all清空Octave的函数缓存,再重新运行你的调用指令:[predictions]=fuzzyImbECOC(xtrain,ytrain,xtest,ytest,'w6',0.1);
内容的提问来源于stack exchange,提问作者yarinya
相关产品推荐
相关产品推荐

