_x = [] for j in range(n): _x.append(((X[i, j] - Min[j]) / (Max[j] - Min[j]) - 0.5) * 2) # 此处将feature值归一化压缩到 [-1,1] 区间内 _X.append(_x) return mat(_X) #--------------------------------------------------主函数--------------------------------------------------------- if __name__ == "__main__": # 1. 导入训练数据 f = 'train.txt' raw_X, raw_Y = load_data(f) #print(raw_X.shape,raw_Y.shape) dataSet = Normalization(raw_X) labels = transformLabel(raw_Y) # 2. 训练SVM模型 C = 1.2 toler = 0.001 svm_model = SVM.SVM_training(dataSet, labels, C, toler) # 3. 计算训练的准确性 accuracy = SVM.cal_accuracy(svm_model, dataSet, labels) predict = get_predict(svm_model, dataSet) print("accuracy =", accuracy) print(predict.shape) show_plot(raw_X, predict)