def loadnumerical(): oldrows = advancedclassify.loadmatch('matchmaker.csv') newrows = [] out = open('numerical.txt', 'w+') for row in oldrows: d = row.data data = [float(d[0]), advancedclassify.yesno(d[1]), advancedclassify.yesno(d[2]), advancedclassify.yesno(d[5]), advancedclassify.yesno(d[6]), advancedclassify.yesno(d[7]), advancedclassify.matchcount(d[3], d[8]), milesdistance(d[4], d[9]), row.match] newrows.append(advancedclassify.matchrow(data)) print(advancedclassify.matchrow(data).__str__()) out.write("%s\n" % data) out.close() return newrows
def loadnumerical(): oldrows = advancedclassify.loadmatch('matchmaker.csv') newrows = [] out = open('numerical.txt', 'w+') for row in oldrows: d = row.data data = [ float(d[0]), advancedclassify.yesno(d[1]), advancedclassify.yesno(d[2]), advancedclassify.yesno(d[5]), advancedclassify.yesno(d[6]), advancedclassify.yesno(d[7]), advancedclassify.matchcount(d[3], d[8]), milesdistance(d[4], d[9]), row.match ] newrows.append(advancedclassify.matchrow(data)) print(advancedclassify.matchrow(data).__str__()) out.write("%s\n" % data) out.close() return newrows
# agesonly = advancedclassify.loadmatch('agesonly.csv', allnum=True) # matchmaker = advancedclassify.loadmatch('matchmaker.csv') # advancedclassify.plotagematches(agesonly) # avgs = advancedclassify.lineartrain(agesonly) # print advancedclassify.dpclassify([30, 25], avgs) # print advancedclassify.dpclassify([25, 40], avgs) # print advancedclassify.dpclassify([48, 20], avgs) # numbericalset = bingmapsapi.loadnumerical() # json.dump(json.JSONEncoder(numbericalset), out) # out.close() numbericalset = [] with open("numerical.txt") as file: for row in file: row = json.loads(row.replace("\n", "")) numbericalset.append(advancedclassify.matchrow(row)) print len(numbericalset) scaledset, scalef = advancedclassify.scaledata(numbericalset) # avgs = advancedclassify.lineartrain(scaledset) # print numbericalset[0].match # print advancedclassify.dpclassify(scalef(numbericalset[0].data), avgs) # print numbericalset[11].match # print advancedclassify.dpclassify(scalef(numbericalset[11].data), avgs) answers, inputs = [r.match for r in scaledset], [r.data for r in scaledset] prob = svm_problem(answers, inputs) # m = svm_train(prob, '-t 3') # svm_save_model('test.model', m) m = svm_load_model('test.model') # newrow = [28.0, -1, -1, 26.0, -1, 1, 2, 0.8] # predicted_labels0 = svm_predict(scalef(newrow), m)