# Yet Another Blog in Statistical Computing

I can calculate the motion of heavenly bodies but not the madness of people. -Isaac Newton

## Python Prototype of Grid Search for SVM Parameters

```from itertools import product
from pandas import read_table, DataFrame
from sklearn.cross_validation import KFold as kfold
from sklearn.svm import SVC as svc
from sklearn.metrics import roc_auc_score as auc

df = read_table('credit_count.txt', sep = ',')
Y = df[df.CARDHLDR == 1].DEFAULT
X = df[df.CARDHLDR == 1][['AGE', 'ADEPCNT', 'MAJORDRG', 'MINORDRG', 'INCOME', 'OWNRENT', 'SELFEMPL']]

c = [1, 10]
g = [0.01, 0.001]
parms = [i for i in product(c, g)]
kf = [i for i in kfold(Y.count(), n_folds = 3, shuffle = True, random_state = 0)]
final = DataFrame()

for i in parms:
result = DataFrame()
mdl = svc(C = i[0], gamma = i[1], probability = True, random_state = 0)
for j in kf:
X1 = X.iloc[j[0]]
Y1 = Y.iloc[j[0]]
X2 = X.iloc[j[1]]
Y2 = Y.iloc[j[1]]
mdl.fit(X1, Y1)
pred = mdl.predict_proba(X2)[:, 1]
out = DataFrame({'pred': pred, 'y': Y2})
result = result.append(out)
perf = DataFrame({'Cost': i[0], 'Gamma': i[1], 'AUC': [auc(result.y, result.pred)]})
final = final.append(perf)
```