style: main function
This commit is contained in:
parent
2e5fcb284f
commit
a6b88f3f9b
@ -14,7 +14,7 @@ def read_data(filename):
|
|||||||
y.append(int(numbers[-1]))
|
y.append(int(numbers[-1]))
|
||||||
return x, y
|
return x, y
|
||||||
|
|
||||||
def format(features):
|
def form(features):
|
||||||
'''
|
'''
|
||||||
change to LIBSVM format
|
change to LIBSVM format
|
||||||
'''
|
'''
|
||||||
@ -33,30 +33,32 @@ def error(gt, pred):
|
|||||||
err = (err+1) if gt[index]!=pred[index] else err
|
err = (err+1) if gt[index]!=pred[index] else err
|
||||||
return err/len(gt)
|
return err/len(gt)
|
||||||
|
|
||||||
x, y = read_data(FILENAME)
|
if __name__ == '__main__':
|
||||||
x = format(x)
|
x, y = read_data(FILENAME)
|
||||||
prob = problem(y, x)
|
x = form(x)
|
||||||
lambda_powers = [-6, -4, -2, 0, 2]
|
prob = problem(y, x)
|
||||||
|
lambda_powers = [-6, -4, -2, 0, 2]
|
||||||
|
|
||||||
results = []
|
results = []
|
||||||
for lambda_power in lambda_powers:
|
for lambda_power in lambda_powers:
|
||||||
lambda_value = 10 ** lambda_power
|
lambda_value = 10 ** lambda_power
|
||||||
param_C = 1/(2*lambda_value)
|
param_C = 1/(2*lambda_value)
|
||||||
param = parameter('-s 0 -c {} -e 0.000001 -q'.format(param_C))
|
param = parameter('-s 0 -c {} -e 0.000001 -q'.format(param_C))
|
||||||
model = train(prob, param)
|
model = train(prob, param)
|
||||||
p_label, p_acc, p_val = predict(y, x, model)
|
p_label, p_acc, p_val = predict(y, x, model)
|
||||||
err = error(y, p_label)
|
err = error(y, p_label)
|
||||||
print("0/1 error: ", err)
|
print("0/1 error: ", err)
|
||||||
print()
|
print()
|
||||||
results.append({'lambda': lambda_power, 'error': err})
|
results.append({'lambda': lambda_power, 'error': err})
|
||||||
|
|
||||||
ans, min_err = None, 1
|
ans, min_err = None, 1
|
||||||
for i in results:
|
for i in results:
|
||||||
if i['error'] <= min_err:
|
print(i['error'])
|
||||||
min_err = i['error']
|
if i['error'] <= min_err:
|
||||||
ans = i
|
min_err = i['error']
|
||||||
|
ans = i
|
||||||
|
|
||||||
print("the largest lambda: {}, log_10(lambda*): {}".format(10**ans['lambda'], ans['lambda']))
|
print("the largest lambda: {}, log_10(lambda*): {}".format(10**ans['lambda'], ans['lambda']))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user