## outfile.close() ## sys.exit(0) normImage = False makePlot = False alldata = cPickle.load( file('data/alldata_'+('norm_' if normImage else '')+ 'TRAIN.pkl', 'r') ) print "### Building Model ###" X = alldata[:,1:] y = alldata[:,0] bfish = BinnedFisher( bins=[0.25, 0.5, 0.75, float('inf')] ) #bfish.fit(X, y, tol=[4.0e-3, 1.0e-3, 0.5e-3]) #old if normImage: #bfish.fit(X, y, tol=[2.0e-3, 0.6e-3, 0.2e-3]) #good for normed, 10k per bin per label bfish.fit(X, y, tol=[1.0e-3, 0.75e-4, 0.1e-3]) #good for normed, 10k per bin per label else: #bfish.fit(X, y, tol=[9.5e0, 11e0, 3.0e0]) #good-ish for non-normed, 10k per bin per label bfish.fit(X, y, tol=[2.5e0, 2.5e-1, 0.3e0]) #good-ish for non-normed, 10k per bin per label outfile = file('trained_'+('norm_' if normImage else '')+ 'DR_fisher.pkl', 'wb') cPickle.dump(bfish, outfile, protocol=cPickle.HIGHEST_PROTOCOL) outfile.close()
X = np.vstack((class0, class1)) y = np.array([0 for i in range(50)] + [1 for i in range(50)]) f = Fisher() f.fit(X, y, tol=0.1) print f.transform(X) # after fit, can update tolerance f.update_tol(tol=0.01) print f.transform(X) # add additional variable to binning, for BinnedFisher v = np.array( [[0.25 for i in range(25)] + [0.75 for i in range(25)] + [0.25 for i in range(25)] + [0.75 for i in range(25)]] ) X = np.hstack((v.T, X)) bf = BinnedFisher(bins=[0.0, 0.5, 1.0]) bf.fit(X, y, tol=[0.01, 0.01]) print bf.transform(X)
## outfile.close() ## sys.exit(0) normImage = False makePlot = False alldata = cPickle.load( file('data/alldata_' + ('norm_' if normImage else '') + 'TRAIN.pkl', 'r')) print "### Building Model ###" X = alldata[:, 1:] y = alldata[:, 0] bfish = BinnedFisher(bins=[0.25, 0.5, 0.75, float('inf')]) #bfish.fit(X, y, tol=[4.0e-3, 1.0e-3, 0.5e-3]) #old if normImage: #bfish.fit(X, y, tol=[2.0e-3, 0.6e-3, 0.2e-3]) #good for normed, 10k per bin per label bfish.fit(X, y, tol=[1.0e-3, 0.75e-4, 0.1e-3]) #good for normed, 10k per bin per label else: #bfish.fit(X, y, tol=[9.5e0, 11e0, 3.0e0]) #good-ish for non-normed, 10k per bin per label bfish.fit(X, y, tol=[2.5e0, 2.5e-1, 0.3e0]) #good-ish for non-normed, 10k per bin per label outfile = file('trained_' + ('norm_' if normImage else '') + 'DR_fisher.pkl', 'wb')
#make random two classes class0 = np.random.normal(1, 1, (50, 5)) class1 = np.random.normal(-2, 0.5, (50, 5)) X = np.vstack((class0, class1)) y = np.array([0 for i in range(50)] + [1 for i in range(50)]) f = Fisher() f.fit(X, y, tol=0.1) print f.transform(X) #after fit, can update tolerance f.update_tol(tol=0.01) print f.transform(X) #add additional variable to binning, for BinnedFisher v = np.array([[0.25 for i in range(25)] + [0.75 for i in range(25)] + [0.25 for i in range(25)] + [0.75 for i in range(25)]]) X = np.hstack((v.T, X)) bf = BinnedFisher(bins=[0.0, 0.5, 1.0]) bf.fit(X, y, tol=[0.01, 0.01]) print bf.transform(X)