NTU_HTML/hw5/hw5_9.py
2023-12-06 04:01:52 +08:00

31 lines
707 B
Python

import numpy as np
import datetime
import random
from libsvm.svmutil import *
import matplotlib.pyplot as plt
FILENAME = "satimage.scale"
TEST_FILENAME = "satimage.scale.t"
def new_label(y, target):
ans = []
for i in y:
if i == target:
ans.append(1)
else:
ans.append(0)
return ans
if __name__ == '__main__':
y, x = svm_read_problem(FILENAME)
y = new_label(y, 4)
for c in [0.1, 1, 10]:
for q in [2, 3, 4]:
print("(C, Q)=({}, {})".format(c, q))
prob = svm_problem(y, x)
param = svm_parameter('-s 0 -t 1 -d {} -c {}'.format(q, c))
m = svm_train(prob, param)
print("="*20)