使用Python运行fselect

时间:2012-02-09 15:35:00

标签: python svm libsvm

我正在尝试在Windows 7中运行这个名为fselect的python脚本。它可以从这个名为http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/的网站下载,名称为Feature selection tool。我在Python 2.7.2上运行它。运行它时出现一些问题..

首先在IDLE中输入:

>>> import pprint
>>> import sys
>>> print pprint.pprint(sys.path)
>>> sys.path.append("C:\Users\HP\Documents\MATLAB\libsvm-3.11\tools")
>>> import fselect
Usage:  training_file [testing_file]

然后问题是当我输入下一部分时:

试过这个:

>>> ./fselect.py TrainVec
SyntaxError: invalid syntax

接下来尝试了这个:

>>> fselect.py TrainVec
SyntaxError: invalid syntax

接下来尝试了这个:

>>> TrainVec

Traceback (most recent call last):
  File "<pyshell#7>", line 1, in <module>
    TrainVec
NameError: name 'TrainVec' is not defined

也试过这个:

>>> TrainVec.mat

Traceback (most recent call last):
  File "<pyshell#8>", line 1, in <module>
    TrainVec.mat
NameError: name 'TrainVec' is not defined

输入的正确方法是什么?需要一些指导......

尝试使用cmd运行但是有错误...

enter image description here

4 个答案:

答案 0 :(得分:1)

如果您尝试直接从命令提示符运行fselect.py,请确保将python设置为路径变量。如需指导,请阅读http://people.cis.ksu.edu/~schmidt/200f07/setpath.html

该脚本还将调用grid.pygrid.py要求gnuplot在那里。因此,请确保grid.py正常运行,并在必要时检查脚本中svm_trainsvm_test的路径以及grid.py的路径。 希望它现在可以运作。

答案 1 :(得分:0)

如果它是一个工具,你应该运行它,而不是导入它。当然,您不应该尝试在Python提示符中输入随机命令,即使它们是有效的shell命令。

答案 2 :(得分:0)

假设TrainVec是您的数据(因为您在TrainVec.mat的上下文中使用它必须是Matlab数据文件),然后在命令提示符上运行它,如下所示:

python fselect.py TrainVec.mat

./fselect.py的示例适用于Unix系统。确保在已保存fselect.py的目录中运行上述命令。

如果您需要编写自己的脚本来利用此.py文件,那么我会向您here推荐一个如何执行此操作的示例。

答案 3 :(得分:0)

就像之前的回答所说,看起来你(错误地)尝试从Python解释器内部运行脚本。根据您链接到的页面上的文档,它不是一个模块,而是一个独立的脚本,应该这样运行:

Usage: ./fselect.py training_file [testing_file]