⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 easy.py

📁 library for SVMclassification and regression. It solves C-SVM classification, nu-SVM classification
💻 PY
字号:
#!/usr/bin/env pythonimport sysimport osfrom subprocess import *if len(sys.argv) <= 1:	print 'Usage: %s training_file [testing_file]' % sys.argv[0]	raise SystemExit# svm, grid, and gnuplot executableis_win32 = (sys.platform == 'win32')if not is_win32:	svmscale_exe = "../svm-scale"	svmtrain_exe = "../svm-train"	svmpredict_exe = "../svm-predict"	grid_py = "./grid.py"	gnuplot_exe = "/usr/bin/gnuplot"else:        # example for windows	svmscale_exe = r"..\windows\svmscale.exe"	svmtrain_exe = r"..\windows\svmtrain.exe"	svmpredict_exe = r"..\windows\svmpredict.exe"	gnuplot_exe = r"c:\tmp\gnuplot\bin\pgnuplot.exe"	grid_py = r".\grid.py"assert os.path.exists(svmscale_exe),"svm-scale executable not found"assert os.path.exists(svmtrain_exe),"svm-train executable not found"assert os.path.exists(svmpredict_exe),"svm-predict executable not found"assert os.path.exists(gnuplot_exe),"gnuplot executable not found"assert os.path.exists(grid_py),"grid.py not found"train_pathname = sys.argv[1]assert os.path.exists(train_pathname),"training file not found"file_name = os.path.split(train_pathname)[1]scaled_file = file_name + ".scale"model_file = file_name + ".model"range_file = file_name + ".range"if len(sys.argv) > 2:	test_pathname = sys.argv[2]	file_name = os.path.split(test_pathname)[1]	assert os.path.exists(test_pathname),"testing file not found"	scaled_test_file = file_name + ".scale"	predict_test_file = file_name + ".predict"cmd = '%s -s "%s" "%s" > "%s"' % (svmscale_exe, range_file, train_pathname, scaled_file)print 'Scaling training data...'call(cmd, shell = True)cmd = '%s -svmtrain "%s" -gnuplot "%s" "%s"' % (grid_py, svmtrain_exe, gnuplot_exe, scaled_file)print 'Cross validation...'f = Popen(cmd, shell = True, stdout = PIPE).stdoutline = ''while 1:	last_line = line	line = f.readline()	if not line: breakc,g,rate = map(float,last_line.split())print 'Best c=%s, g=%s CV rate=%s' % (c,g,rate)cmd = '%s -c %s -g %s "%s" "%s"' % (svmtrain_exe,c,g,scaled_file,model_file)print 'Training...'Popen(cmd, shell = True, stdout = PIPE)print 'Output model: %s' % model_fileif len(sys.argv) > 2:	cmd = '%s -r "%s" "%s" > "%s"' % (svmscale_exe, range_file, test_pathname, scaled_test_file)	print 'Scaling testing data...'	call(cmd, shell = True)	cmd = '%s "%s" "%s" "%s"' % (svmpredict_exe, scaled_test_file, model_file, predict_test_file)	print 'Testing...'	call(cmd, shell = True)	print 'Output prediction: %s' % predict_test_file

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -