import numpy as np from data.loader_ac import DataLoader import libsvm.svmutil as svm def train_save(): loader = DataLoader() data = [{i + 1: line[i] for i in range(len(line))} for line in loader.have] tags = np.ones(len(data)).tolist() pro = svm.svm_problem(tags, data) pra = svm.svm_parameter("-s 2 -g 2.57e-6 -n 7.1e-3") model = svm.svm_train(pro, pra) svm.svm_save_model("m2c/real.model", model) # predict test data = [{i + 1: line[i] for i in range(len(line))} for line in loader.test] tags = np.ones(len(data)).tolist() svm.svm_predict(y=tags, x=data, m=model) # predict none data = [{i + 1: line[i] for i in range(len(line))} for line in loader.none] tags = (np.ones(len(data)) * -1).tolist() svm.svm_predict(y=tags, x=data, m=model) def load_test(): np.random.seed(5) model = svm.svm_load_model("m2c/real.model") loader = DataLoader("data/csv/both") # "csv/test" data = [{i + 1: line[i] for i in range(len(line))} for line in loader.have] tags = np.ones(len(data)).tolist() svm.svm_predict(y=tags, x=data, m=model) data = [{i + 1: line[i] for i in range(len(line))} for line in loader.test] tags = np.ones(len(data)).tolist() svm.svm_predict(y=tags, x=data, m=model) data = [{i + 1: line[i] for i in range(len(line))} for line in loader.none] tags = (np.ones(len(data)) * -1).tolist() svm.svm_predict(y=tags, x=data, m=model) if __name__ == "__main__": load_test()