import advancedclassify ageonly = advancedclassify.loadmatch('agesonly.csv', allnum = True) advancedclassify.plotagematches(ageonly)
def test_pg_197_to_214(): """ Matchmaker Dataset """ import advancedclassify agesonly = advancedclassify.loadmatch("agesonly.csv", allnum=True) matchmaker = advancedclassify.loadmatch("matchmaker.csv") """ Difficulties with the data """ # Scatter plot of mans age vs womans age # O is a match # X is not a match advancedclassify.plotagematches(agesonly) """ Basic linear classification """ avgs = advancedclassify.lineartrain(agesonly) print advancedclassify.dpclassify([30,30], avgs) print advancedclassify.dpclassify([30,25], avgs) print advancedclassify.dpclassify([25,40], avgs) print advancedclassify.dpclassify([48,20], avgs) """ Determing distances using Yahoo! maps """ print advancedclassify.milesdistance("cambride, ma", "new york, ny") """ Creating the new dataset """ numericalset = advancedclassify.loadnumerical() print numericalset[0].data """ Scaling the dataset. """ scaledset, scalef = advancedclassify.scaledata(numericalset) avgs = advancedclassify.lineartrain(scaledset) print numericalset[0].data print numericalset[0].match print advancedclassify.dpclassify(scalef(numericalset[0].data), avgs) print numericalset[11].match print advancedclassify.dpclassify(scalef(numericalset[11].data), avgs) """ The kernel trick """ offset = advancedclassify.getoffset(agesonly) print offset print advancedclassify.nlclassify([30, 30], agesonly, offset) print advancedclassify.nlclassify([30, 25], agesonly, offset) print advancedclassify.nlclassify([25, 40], agesonly, offset) # In contrast to linear classification now recognises that # 48, 20 is not a good match print advancedclassify.nlclassify([48, 20], agesonly, offset) ssoffset = advancedclassify.getoffset(scaledset) # 0 print numericalset[0].match # 0 print advancedclassify.nlclassify(scalef(numericalset[0].data), scaledset, ssoffset) # 1 print numericalset[1].match # 1 print advancedclassify.nlclassify(scalef(numericalset[1].data), scaledset, ssoffset) # 0 print numericalset[2].match # 0 # print advancedclassify.nlclassify(scalef(numericalset[2].data), scaledset, ssoffset) # man doesnt want children, women does, otherwise really gd match newrow=[28.0, -1, -1, 26.0, -1, 1, 2, 0.8] # 0 print advancedclassify.nlclassify(scalef(numericalset[0].data), scaledset, ssoffset) # both want children newrow=[28.0, -1, 1, 26.0, -1, 1, 2, 0.8] # 0 print advancedclassify.nlclassify(scalef(numericalset[0].data), scaledset, ssoffset)
def dataPlot(): print '## Difficulties with the Data' reload(advancedclassify) advancedclassify.plotagematches(agesonly)
import advancedclassify ageonly = advancedclassify.loadmatch('agesonly.csv', allnum=True) advancedclassify.plotagematches(ageonly)
def visualize(agesonly): print "visualizing..." advancedclassify.plotagematches(agesonly)
def test_pg_197_to_214(): """ Matchmaker Dataset """ import advancedclassify agesonly = advancedclassify.loadmatch("agesonly.csv", allnum=True) matchmaker = advancedclassify.loadmatch("matchmaker.csv") """ Difficulties with the data """ # Scatter plot of mans age vs womans age # O is a match # X is not a match advancedclassify.plotagematches(agesonly) """ Basic linear classification """ avgs = advancedclassify.lineartrain(agesonly) print advancedclassify.dpclassify([30, 30], avgs) print advancedclassify.dpclassify([30, 25], avgs) print advancedclassify.dpclassify([25, 40], avgs) print advancedclassify.dpclassify([48, 20], avgs) """ Determing distances using Yahoo! maps """ print advancedclassify.milesdistance("cambride, ma", "new york, ny") """ Creating the new dataset """ numericalset = advancedclassify.loadnumerical() print numericalset[0].data """ Scaling the dataset. """ scaledset, scalef = advancedclassify.scaledata(numericalset) avgs = advancedclassify.lineartrain(scaledset) print numericalset[0].data print numericalset[0].match print advancedclassify.dpclassify(scalef(numericalset[0].data), avgs) print numericalset[11].match print advancedclassify.dpclassify(scalef(numericalset[11].data), avgs) """ The kernel trick """ offset = advancedclassify.getoffset(agesonly) print offset print advancedclassify.nlclassify([30, 30], agesonly, offset) print advancedclassify.nlclassify([30, 25], agesonly, offset) print advancedclassify.nlclassify([25, 40], agesonly, offset) # In contrast to linear classification now recognises that # 48, 20 is not a good match print advancedclassify.nlclassify([48, 20], agesonly, offset) ssoffset = advancedclassify.getoffset(scaledset) # 0 print numericalset[0].match # 0 print advancedclassify.nlclassify(scalef(numericalset[0].data), scaledset, ssoffset) # 1 print numericalset[1].match # 1 print advancedclassify.nlclassify(scalef(numericalset[1].data), scaledset, ssoffset) # 0 print numericalset[2].match # 0 # print advancedclassify.nlclassify(scalef(numericalset[2].data), scaledset, ssoffset) # man doesnt want children, women does, otherwise really gd match newrow = [28.0, -1, -1, 26.0, -1, 1, 2, 0.8] # 0 print advancedclassify.nlclassify(scalef(numericalset[0].data), scaledset, ssoffset) # both want children newrow = [28.0, -1, 1, 26.0, -1, 1, 2, 0.8] # 0 print advancedclassify.nlclassify(scalef(numericalset[0].data), scaledset, ssoffset)