{"cells":[{"metadata":{"trusted":true},"cell_type":"code","source":"import pandas as pd\nfrom tensorflow import keras\nfrom keras import  Sequential\nfrom keras.layers import Flatten,Dense\nimport os","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train = pd.read_csv(\"../input/Kannada-MNIST/train.csv\") \ntest = pd.read_csv(\"../input/Kannada-MNIST/test.csv\")","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"for dirname,_,filesNames in os.walk(\"../input/Kannada-MNIST/\"):\n    print(filesNames)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"%matplotlib inline\nimport matplotlib.pyplot as plt\nimport matplotlib.image as mpimg\nfrom matplotlib.pyplot import imread, imshow, subplots, show\nTRAINING_DIR , TESTING_DIR  =  \"../input/Kannada-MNIST/\",\"../input/Kannada-MNIST/\"\n\n# Parameters for our graph; we'll output images in a 4x4 configuration\nnrows = 4\nncols = 4\n\n# Index for iterating over images\npic_index = 0\n\ntry:\n    # Set up matplotlib fig, and size it to fit 4x4 pics\n    fig = plt.gcf()\n    fig.set_size_inches(ncols * 4, nrows * 4)\n    pic_index += 8\n\n    next_train_pix = [os.path.join(TRAINING_DIR, fname) for fname in os.listdir('../input/Kannada-MNIST/')[pic_index - 8:pic_index]]\n    next_test_pix = [os.path.join(TESTING_DIR, fname) for fname in os.listdir('../input/Kannada-MNIST/')[pic_index - 8:pic_index]]\n\n    for i, img_path in enumerate(next_train_pix + next_test_pix):\n        # Set up subplot; subplot indices start at 1\n        sp = plt.subplot(nrows, ncols, i + 1)\n        sp.axis('On')  # Don't show axes (or gridlines)\n        img = mpimg.imread(img_path)\n        plt.imshow(img)\n\n    plt.show()\n    \nexcept:\n    pass","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"X = train.drop(columns=['label'])\nY =  train['label']","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"from sklearn.model_selection import train_test_split","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"X_train,X_test , Y_train , Y_test = train_test_split(X,Y ,test_size=0.2,random_state=42)","execution_count":null,"outputs":[]},{"metadata":{"scrolled":true,"trusted":true},"cell_type":"code","source":"print(\"X_train:: \",X_train.shape)\nprint(\"X_test:: \",X_test.shape)\nprint(\"Y_train:: \",Y_train.shape)\nprint(\"Y_test:: \",Y_test.shape)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"#normalize the data\ntrain = train/255\ntest = test/255","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"model = Sequential()\nmodel.add(Dense(50, input_dim=784, activation='relu'))\nmodel.add(Dense(40, activation='relu'))\nmodel.add(Dense(30, activation='relu'))\nmodel.add(Dense(20, activation='relu'))\nmodel.add(Dense(10, activation='softmax'))\nmodel.compile(optimizer='adam',loss = \"sparse_categorical_crossentropy\",metrics=['accuracy'])","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"model.fit(X_train,Y_train,validation_data=(X_test,Y_test),verbose=1,epochs=100,batch_size=200)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"import numpy as np\ntest = test.drop(columns='id')\nlables = model.predict_classes(test)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"data = pd.DataFrame()\nfor i in range(len(lables)):\n    index = pd.DataFrame([i])\n    value =  pd.DataFrame([i])\n    row = pd.concat([index,value],axis=1)\n    data = pd.concat([data,row],axis=0)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"data.columns=['id','label']","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"data.head(600)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"submission = pd.read_csv(\"../input/Kannada-MNIST/sample_submission.csv\")\nsubmission['label'] = lables\nsubmission.to_csv(\"submission.csv\",index=False)\n","execution_count":null,"outputs":[]}],"metadata":{"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.8"},"varInspector":{"cols":{"lenName":16,"lenType":16,"lenVar":40},"kernels_config":{"python":{"delete_cmd_postfix":"","delete_cmd_prefix":"del ","library":"var_list.py","varRefreshCmd":"print(var_dic_list())"},"r":{"delete_cmd_postfix":") ","delete_cmd_prefix":"rm(","library":"var_list.r","varRefreshCmd":"cat(var_dic_list()) "}},"types_to_exclude":["module","function","builtin_function_or_method","instance","_Feature"],"window_display":false}},"nbformat":4,"nbformat_minor":4}