下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。
内存溢出小编现在分享给大家,也给大家做个参考。
# import the necessary packagesimport pandas as pdfrom sklearn.ensemble import RandomForestClassifIErfrom sklearn.linear_model import SGDClassifIErfrom sklearn.svm import linearSVCfrom sklearn.neighbors import KNeighborsClassifIErfrom sklearn.cross_valIDation import train_test_splitfrom sklearn.metrics import classification_reportfrom sklearn import datasetsfrom sklearn.decomposition import PCA as pcafrom nolearn.dbn import dbnfrom matplotlib import pyplotfrom PIL import Imageimport numpy as npimport scipySTANDARD_SIZE = (28,28)class DigitProphet(object): def __init__(self): # load train.csv # train = pd.read_csv("data/train.csv") # data_train=train.as_matrix() # values_train=data_train[:,0] # images_train=data_train[:,1:] # trainX,_trainX,trainY,_trainY = train_test_split(images_train/255.,values_train,test_size=0.5) # #load test.csv # test = pd.read_csv("data/test.csv") # data_test=test.as_matrix() # testX,_testX = train_test_split(data_test/255.,test_size=0.99) # Random Forest # self.clf = RandomForestClassifIEr() # stochastic GradIEnt Descent # self.clf = SGDClassifIEr() # Support Vector Machine # self.clf = linearSVC() # Nearest Neighbors # self.clf = KNeighborsClassifIEr(n_neighbors=13) train = pd.read_csv("data/train.csv") data_train=train.as_matrix() values_train=data_train[:,0] images_train=data_train[:,1:] trainX,test_size=0.995) # Neural Network self.clf = dbn([trainX.shape[1],300,10],learn_rates=0.3,learn_rate_decays=0.9,epochs=10,verbose = 1) #Training self.clf.fit(trainX,trainY) pass def predictimage(self,array): image=np.atleast_2d(array) return self.clf.predict(image)[0]def trim(image): image_data = np.array(image) image_data_bw = image_data.min(axis=2) row_min = np.where(image_data_bw.min(axis=1)<255)[0].min() row_max = np.where(image_data_bw.min(axis=1)<255)[0].max() col_min = np.where(image_data_bw.min(axis=0)<255)[0].min() col_max = np.where(image_data_bw.min(axis=0)<255)[0].max() size=int((max(row_max-row_min,col_max-col_min))*1.3) cropBox = (row_min,row_max,col_min,col_max) image_data_new = image_data[cropBox[0]:cropBox[1]+1,cropBox[2]:cropBox[3]+1,:] new_image = Image.fromarray(image_data_new) img_w,img_h = new_image.size background = Image.new('RGBA',(size,size),(255,255,255)) bg_w,bg_h = background.size offset = ((bg_w-img_w)/2,(bg_h-img_h)/2) background.paste(new_image,offset) return backgrounddef getimgdata(filename): img = Image.open(filename) img=Alpha_to_color(img) img = trim(img) img = img.convert('L') img = img.getdata() img = img.resize(STANDARD_SIZE) img = np.array(img)/255. img = [1-i for i in img] return img def Alpha_to_color(image,color=(255,255)): x = np.array(image) r,g,b,a = np.rollaxis(x,axis=-1) r[a == 0] = color[0] g[a == 0] = color[1] b[a == 0] = color[2] x = np.dstack([r,a]) return Image.fromarray(x,'RGBA') def saveImage(array,path='outfile.jpg'): # Get the training data back to its original form. matrix = np.reshape(array,(STANDARD_SIZE)) # Get the original pixel values. matrix = matrix*255. # pyplot.imshow(sample,cmap = pyplot.cm.gray) # result=predictimg(clf,image) scipy.misc.imsave(path,matrix) dp=DigitProphet()pointer=0def main(): # filename="imagetoSave.png" # data=getimgdata(filename) # saveImage(data) # preds=dp.predictimage(data) # print preds pass if __name__ == '__main__': main()
以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
总结以上是内存溢出为你收集整理的识别手写数字,集成django web应用全部内容,希望文章能够帮你解决识别手写数字,集成django web应用所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)