{
  "fetched_at": "2026-10-19T09:15:53Z",
  "source_url": "https://www.kaggle.com/competitions/108-1-ntut-ml-hw1/data",
  "pages": [
    {
      "name": "rules",
      "content": "This is a page where you can include rules that participants must accept before joining. You may wish to include rules like:\n\n - Don't cheat!\n - Apply yourself!\n - Have fun!",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "data-description",
      "content": "<h2> Data Format </h2>\nThe training and testing images are 28x28 gray images.  There are 62 classes (0 ~ 9 & A ~ Z & a ~z) in EMNIST dataset, which are labeled sequentially as 0, 1, 2, ..., 61. The original data are saved in both binary and MATLAB format. We've converted it into NumPy format so you can easily load the data.\n\n<h2>File descriptions</h2>\n<ul>\n<li><strong>emnist-byclass-train.npz</strong> - the training images and labels</li>\n<li><strong>emnist-byclass-test.npz</strong> - the test images</li>\n<li><strong>simple_nn_train.ipynb</strong> - A Jupyter notebook example of training a simple DNN model </li>\n</ul>",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Description",
      "content": "<h2>Objective</h2>\n<p>In this homework, we will train a deep learning model that can classify handwritten letters and digits in Extended-MNIST (EMNIST) dataset. The EMNIST include 52 letters (capital and small letters) and 10 digits. We will use the default test dataset (emnist-byclass-test) to evaluate your model.   </p>\n<p>\nYou are free to use any neural network architecture, any DL library (PyTorch, TensorFlow, ...), or even any language (C, Java, JavaScript). This is just a warm-up homework so don't worry about the accuracy too much. As long as your accuracy is better than random guess, you will get the credit.\n</p>\n<p>\nPlease register a Kaggle account with your student ID. Because Kaggle only accepts output results, please upload your source code to NTUT i-School.\n</p>\n<h2>Input Data</h2>\n<p>We've converted the EMNIST binary data to NumPy npz format. The code below shows how to load training data:</p>\n<pre>\nimport numpy as np\n# Load training data\ndata = np.load('emnist-byclass-train.npz')\ntrain_labels = data['training_labels']\ntrain_data = data['training_images']\n\n# Load testing data\ntest_data = np.load('emnist-byclass-test.npz')['testing_images']\n</pre>\n<p>You are free to download the original EMNIST from its official website. However <b>DON'T USE ByClass Testing Images for Training!</b>\nThe statistics of the EMNIST is shown in the table below: </p>\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F1978103%2F22d9375e2ccf3684eb2d2732314f57ec%2Femnist_stats.png?generation=1569073009753035&alt=media)\n\n<p>The <b>By_Class</b> split includes 62 classes comprising [0-9], [a-z] and [A-Z], while the <b>By_Merge</b> split has merged the uppercase and lowercase letters of C, I, J, K, L, M, O, P, S, U,  V, W, X, Y and Z, and include only 47 classes. </p>\n<br/>\n\n<h2>Output Format</h2>\n<p>A submission file of prediction results should be a CSV file containing two columns: Id and Category, separated by ','. </p>\n<p>The file should contain a header and have the following format:</p>\n<pre>Id,Category\n0,15\n1,7\n2,30\n3,22\n...\n</pre>\n\nWe will use Category Accuracy as the metric. There are 62 classes (0 ~ 9 & A ~ Z & a ~z) in ByClass split of EMNIST dataset, which are labeled sequentially as 0, 1, 2, ..., 61.\n\n<h2>Kaggel Notebook Example</h2>\nYou can refer to the notebook to see how to train a model on Kaggle: \n<a href=\"https://www.kaggle.com/kuantinglai/kernel172124573b\">https://www.kaggle.com/kuantinglai/kernel172124573b</a>\n\n<h2>References</h2>\n<ol>\n<li><a href=\"https://www.nist.gov/itl/iad/image-group/emnist-dataset\">EMNIST Official Website</a></li>\n<li><a href=\"https://arxiv.org/abs/1702.05373v1\">EMNIST paper</a></li>\n</ol>\n",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Evaluation",
      "content": "<p>The evaluation pages describes how submissions will be scored and how students should format their submissions. You don't need a sub-title at the top (the page title appears above). For an example of a high quality evaluation page, see the 2013 KDD Cup page, which we have copied here:</p>\r\n<hr />\r\n<p>The evaluation metric for this competition is <a href=\"https://www.kaggle.com/wiki/MeanFScore\"> Mean F1-Score</a>. The F1 score, commonly used in information retrieval, measures accuracy using the statistics precision p and recall r. Precision is the ratio of true positives (tp) to all predicted positives (tp + fp). Recall is the ratio of true positives to all actual positives (tp + fn). The F1 score is given by:</p>\r\n<p>\\[ F1 = 2\\frac{p \\cdot r}{p+r}\\ \\ \\mathrm{where}\\ \\ p = \\frac{tp}{tp+fp},\\ \\ r = \\frac{tp}{tp+fn} \\]</p>\r\n<p>The F1 metric weights recall and precision equally, and a good retrieval algorithm will maximize both precision and recall simultaneously. Thus, moderately good performance on both will be favored over extremely good performance on one and poor performance on the other.</p>\r\n<h2>Submission Format</h2>\r\n<p><strong>For every author in the dataset</strong>, submission files should contain two columns: AuthorId and DuplicateAuthorIds. DuplicateAuthorIds should be a space-delimited list. Every AuthorId counts as his/her own duplicate, and every duplicate should be listed under each of its respective ids. For example, if you suspect author A, B, and C are the same, you should list (A,A B C), (B,B A C), (C,C A B).</p>\r\n<p>The file should contain a header and have the following format:</p>\r\n<pre>AuthorId,DuplicateAuthorIds<br />1,1<br /><span style=\"font-size: 14px; line-height: 1.4em;\">8,8<br />9,9 10<br /></span><span style=\"font-size: 14px; line-height: 1.4em;\">10,10 9<br /></span><span style=\"font-size: 14px; line-height: 1.4em;\">etc.</span></pre>",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    }
  ]
}