svmlight报错解决“‘svm_learn‘ not found“ “cannot open file ‘_model_1.txt‘ ”

大家常常遇到的报错

svmlight 本身是用C语言写的包。你可以用C语言实现。R语言中的klaR这个包提供了函数来实现。例子和函数参数设置下面这个网站有解释。我也复制粘贴到下面了。

https://www.rdocumentation.org/packages/klaR/versions/0.6-15/topics/svmlight

# NOT RUN {
## Only works if the svmlight binaries are in the path.
data(iris)
x <- svmlight(Species ~ ., data = iris)
## Using RBF-Kernel with gamma=0.1:
data(B3)
x <- svmlight(PHASEN ~ ., data = B3, svm.options = "-t 2 -g 0.1")
# }

同学们在R studio 或者jupyter notebook上运行这串代码以后,会报错。报错信息如下。

 

Warning message in system(paste(cmd, svm.options, train.filename[j], model.filename[j]), :
"'svm_learn' not found"
Warning message in file(con, "r"):
"cannot open file '_model_1.txt': No such file or directory"
Error in file(con, "r"): cannot open the connection
Traceback:

1. svmlight(Species ~ ., data = iris)
2. svmlight.formula(Species ~ ., data = iris)
3. svmlight.default(x, grouping, ...)
4. readLines(model.filename[j])
5. file(con, "r")

解决方法

那么如何解决呢?

报错的原因

注意在我给的官网提供的例子,第一行有注释。写了这样一句话,我用红色圈出来了。

意思是:“只有把svmlight放在与你R语言代码文件的同一个目录下面,代码才可以运行

相信出现上面那个报错的你,一定犯了这样的错误。你的R语言代码同一个目录文件夹底下,没有放下面这两个文件。

svm_learn.exe”,

svm_classify.exe

解决报错的方法

那么这两个文件是从哪里来的呢?

从康奈尔大学的SVM light的官网上提供了下载链接:

二进制文件(svm_learn.exe,svm_classify.exe,)(for win10 64bit)的下载地址:http://download.joachims.org/svm_light/current/svm_light_windows64.zip

康奈尔大学的SVM light的官网:https://www.cs.cornell.edu/people/tj/svm_light/

二进制文件在下面这个位置↓

你将你在Example 这里写的代码,和这两个exe格式的二进制文件和你的R语言代码放在同一个文件夹下,

这时运行你的R语言代码,你会发现,模型训练成功。结果如下。

             jupyter上运行如下

R studio 运行如下

                           

 

如果此时你的R studio还是报错,那么请你关闭你当前的R studio的所有界面,重新用R studio,打开你的代码文件。我这里是 test.R.运行所有代码,你就会得到我上图这样的结果。训练模型成功。

 

           恭喜你!又解决了,一个报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

德彪稳坐倒骑驴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值