资源简介
最新Tmsvm基于SVM的文本挖掘系统 包含JAVA和python两个版本
代码片段和文件信息
#!/usr/bin/env python
from ctypes import *
from ctypes.util import find_library
import sys
import os
# For unix the prefix ‘lib‘ is not considered.
if find_library(‘linear‘):
liblinear = CDLL(find_library(‘linear‘))
elif find_library(‘liblinear‘):
liblinear = CDLL(find_library(‘liblinear‘))
else:
if sys.platform == ‘win32‘:
liblinear = CDLL(os.path.join(os.path.dirname(__file__)‘./liblinear.dll‘))
else:
liblinear = CDLL(os.path.join(os.path.dirname(__file__)‘./liblinear.so.64‘))
# Construct constants
SOLVER_TYPE = [‘L2R_LR‘ ‘L2R_L2LOSS_SVC_DUAL‘ ‘L2R_L2LOSS_SVC‘ ‘L2R_L1LOSS_SVC_DUAL‘\
‘MCSVM_CS‘ ‘L1R_L2LOSS_SVC‘ ‘L1R_LR‘ ‘L2R_LR_DUAL‘]
for i s in enumerate(SOLVER_TYPE): exec(“%s = %d“ % (s i))
PRINT_STRING_FUN = CFUNCTYPE(None c_char_p)
def print_null(s):
return
def genFields(names types):
return list(zip(names types))
def fillprototype(f restype argtypes):
f.restype = restype
f.argtypes = argtypes
class feature_node(Structure):
_names = [“index“ “value“]
_types = [c_int c_double]
_fields_ = genFields(_names _types)
def gen_feature_nodearray(xi feature_max=None issparse=True):
if isinstance(xi dict):
index_range = xi.keys()
elif isinstance(xi (list tuple)):
xi = [0] + xi # idx should start from 1
index_range = range(1 len(xi))
else:
raise TypeError(‘xi should be a dictionary list or tuple‘)
if feature_max:
assert(isinstance(feature_max int))
index_range = filter(lambda j: j <= feature_max index_range)
if issparse:
index_range = filter(lambda j:xi[j] != 0 index_range)
index_range = sorted(index_range)
ret = (feature_node * (len(index_range)+2))()
ret[-1].index = -1 # for bias term
ret[-2].index = -1
for idx j in enumerate(index_range):
ret[idx].index = j
ret[idx].value = xi[j]
max_idx = 0
if index_range :
max_idx = index_range[-1]
return ret max_idx
class problem(Structure):
_names = [“l“ “n“ “y“ “x“ “bias“]
_types = [c_int c_int POINTER(c_int) POINTER(POINTER(feature_node)) c_double]
_fields_ = genFields(_names _types)
def __init__(self y x bias = -1):
if len(y) != len(x) :
raise ValueError(“len(y) != len(x)“)
self.l = l = len(y)
self.bias = -1
max_idx = 0
x_space = self.x_space = []
for i xi in enumerate(x):
tmp_xi tmp_idx = gen_feature_nodearray(xi)
x_space += [tmp_xi]
max_idx = max(max_idx tmp_idx)
self.n = max_idx
self.y = (c_int * l)()
for i yi in enumerate(y): self.y[i] = y[i]
self.x = (POINTER(feature_node) * l)()
for i xi in enumerate(self.x_space): self.x[i] = xi
self.set_bias(bias)
def set_bias(self bias):
if self.bias == bias:
return
if bias >= 0 and self.bias < 0:
self.n += 1
node = feature_node(self.n bias)
if bias < 0 and self.bias >= 0:
self.n -= 1
node = feature_node(-1 bias)
for xi in self.x_space:
xi[-2] = node
self.bias = bias
class parameter(Structure):
_names = [“solver_type“ “eps“ “C“ “nr_weight“ “weight_label“ “weight“]
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 605537 2012-03-08 21:31 Tmsvm参考文档(v1.2.0).pdf
文件 651921 2011-11-22 19:05 tmsvm简介(v1.2.0).pdf
文件 5514 2012-09-21 10:17 data\Testdata.txt
文件 5514 2012-09-21 10:17 data\Traindata.txt
文件 4598 2012-09-21 10:21 data\Traindata_noseg.txt
文件 1764 2012-04-24 20:19 dependence\.svn\all-wcprops
文件 3004 2012-04-24 20:19 dependence\.svn\entries
文件 53 2011-11-10 14:29 dependence\.svn\prop-ba
文件 53 2011-11-18 13:55 dependence\.svn\prop-ba
文件 53 2011-11-18 13:55 dependence\.svn\prop-ba
文件 53 2011-11-09 16:47 dependence\.svn\prop-ba
文件 53 2011-11-18 13:55 dependence\.svn\prop-ba
文件 53 2011-11-18 13:55 dependence\.svn\prop-ba
文件 53 2011-11-09 16:47 dependence\.svn\prop-ba
文件 53 2011-11-18 13:55 dependence\.svn\prop-ba
文件 53 2011-11-18 13:55 dependence\.svn\prop-ba
文件 80325 2011-11-10 13:51 dependence\.svn\text-ba
文件 130560 2011-11-10 14:30 dependence\.svn\text-ba
文件 7640 2011-12-01 19:11 dependence\.svn\text-ba
文件 48680 2011-11-18 13:55 dependence\.svn\text-ba
文件 56138 2011-11-18 13:55 dependence\.svn\text-ba
文件 8338 2011-11-10 18:59 dependence\.svn\text-ba
文件 140288 2011-11-10 13:51 dependence\.svn\text-ba
文件 62281 2011-11-18 13:55 dependence\.svn\text-ba
文件 68105 2011-11-18 13:55 dependence\.svn\text-ba
文件 101376 2011-11-10 13:51 dependence\.svn\text-ba
文件 22007 2011-11-18 13:55 dependence\.svn\text-ba
文件 26862 2011-11-18 13:55 dependence\.svn\text-ba
文件 8289 2012-01-14 10:51 dependence\.svn\text-ba
文件 4138 2011-12-01 19:11 dependence\.svn\text-ba
............此处省略246个文件信息
相关资源
- svm多分类的java源码
- 基于java的SVM分类器
- 基于svm的中文文本分类
- 文本多分类源码亲测可用加注释
- svm_java版本代码详细解释
- 使用weka非常有用的libsvm.jar 和wlsvm.j
- libsvm.jar
- WEKA运行libsvm的wlsvm.jar
- WEKA运行libsvm的libsvm.jar
- 支持向量机算法实现Java、python、mat
- SVM 算法 java 实现
- java实现基于SMO算法的SVM分类器
- libsvm.jar和wlsvm.jar
- LIBSVM工具包可以在weka中使用并被JAV
- LibSVM Java API调用程序
- 免费支持多分类的svmjava源码
评论
共有 条评论