{"cells":[{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"bc641267-6259-24a7-2f4d-0d377a8f0674"},"outputs":[],"source":"# This Python 3 environment comes with many helpful analytics libraries installed\n# It is defined by the kaggle/python docker image: https://github.com/kaggle/docker-python\n# For example, here's several helpful packages to load in \n\nimport numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n\n# Input data files are available in the \"../input/\" directory.\n# For example, running this (by clicking run or pressing Shift+Enter) will list the files in the input directory\n\nfrom subprocess import check_output\nprint(check_output([\"ls\", \"../input\"]).decode(\"utf8\"))\n\n# Any results you write to the current directory are saved as output."},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"ea41402b-1237-9003-3a92-c8387475f067"},"outputs":[],"source":"from numpy import *\nimport csv\n\ndef toInt(array):\n    array=mat(array)\n    m,n=shape(array)\n    newArray=zeros((m,n))\n    for i in range(m):\n        for j in range(n):\n                newArray[i,j]=int(array[i,j])\n    return newArray\n    \ndef nomalizing(array):\n    m,n=shape(array)\n    for i in range(m):\n        for j in range(n):\n            if array[i,j]!=0:\n                array[i,j]=1\n    return array\n    \ndef loadTrainData():\n    l=[]\n    with open('train.csv') as file:\n         lines=csv.reader(file)\n         for line in lines:\n             l.append(line) #42001*785\n    l.remove(l[0])\n    l=array(l)\n    label=l[:,0]\n    data=l[:,1:]\n    return nomalizing(toInt(data)),toInt(label)  #label 1*42000  data 42000*784\n    #return trainData,trainLabel\n    \ndef loadTestData():\n    l=[]\n    with open('test.csv') as file:\n         lines=csv.reader(file)\n         for line in lines:\n             l.append(line)#28001*784\n    l.remove(l[0])\n    data=array(l)\n    return nomalizing(toInt(data))  #  data 28000*784\n    #return testData\n    \n#result是结果列表 \n#csvName是存放结果的csv文件名\ndef saveResult(result,csvName):\n    with open(csvName,'wb') as myFile:    \n        myWriter=csv.writer(myFile)\n        myWriter.writerow([\"ImageId\",\"Label\"])\n        index=0;\n        for i in result:\n            tmp=[]\n            index=index+1\n            tmp.append(index)\n            #tmp.append(i)\n            tmp.append(int(i))\n            myWriter.writerow(tmp)\n            \n\nfrom sklearn.ensemble import RandomForestClassifier\ndef RFClassify(trainData,trainLabel,testData):\n    nbClf=RandomForestClassifier(n_estimators=100)\n    nbClf.fit(trainData,ravel(trainLabel))\n    testLabel=nbClf.predict(testData)\n    saveResult(testLabel,'RF_Result.csv')\n    return testLabel\n\n\ndef digitRecognition():\n    trainData,trainLabel=loadTrainData()\n    testData=loadTestData()\n    result=RFClassify(trainData,trainLabel,testData)   \n    print (\"finish!\")\n\ndigitRecognition()"}],"metadata":{"_change_revision":0,"_is_fork":false,"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":"3.6.0"}},"nbformat":4,"nbformat_minor":0}