{
  "fetched_at": "2026-10-19T08:00:06Z",
  "source_url": "https://www.kaggle.com/competitions/ch-2017/data",
  "pages": [
    {
      "name": "rules",
      "content": "\r\n\t<!-- Begin Base Rules -->\r\n    <h3>One account per participant</h3>\r\n    <p>You cannot sign up to Kaggle from multiple accounts and therefore you cannot submit from multiple accounts.</p>\r\n    <h3>No private sharing outside teams</h3>\r\n    <p>\r\n        Privately sharing code or data outside of teams is not permitted.\r\n        It's okay to share code if made available to all participants on the forums.\r\n    </p>\r\n    <h3>Team Mergers</h3>\r\n    <p>Team mergers are not allowed in this competition.</p>\r\n\r\n    <h3>Team Limits</h3>\r\n    <p>There is no maximum team size.</p>\r\n    <h3>Submission Limits</h3>\r\n    <p>You may submit a maximum of 2 entries per day.</p>\r\n    <p>You may select up to 2 final submissions for judging.</p>\r\n    <h3>Competition Timeline</h3>\r\n    <p>Start Date: <strong>TBA</strong></p>\r\n    <p>Merger Deadline: <strong>None</strong></p>\r\n    <p>Entry Deadline: <strong>None</strong></p>\r\n    <p>End Date: <strong>2/1/2014 12:00 AM UTC</strong></p>\r\n\t<!-- End Base Rules -->\r\n<p>The rules page is a bit special: it will auto-update the text based on the parameters of the competition. The rules you need to add here are any additional rules relating to dataset usage. You may also put grading information here.</p>",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "data-description",
      "content": "<h2>Data</h2>\nData stored as numpy arrays (use function [numpy.load](https://docs.scipy.org/doc/numpy/reference/generated/numpy.load.html) to restore data) and compressed with bzip2.\n\nTrain set is splitted into 4 parts. Each file econtains matrix of shape [Nх2]. Grayscale image of character is stored at the first column. At the second column is unicode number of character.\n\nTest set is just array of grayscale images.\n\n<h2>Example</h2>\n    import numpy as np\n    import matplotlib as pyplot\n\n    data = np.load('train-1.npy')\n    width, height = 8, 8\n\n    plt.figure(figsize=(16, 20))\n    for n, (image, tag) in enumerate(data, 1):\n        if n > width * height:\n            break\n        plt.subplot(height, width, n)\n        plt.title(tag)\n        plt.imshow(image, cmap='gray')",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Description",
      "content": "<h2>Overview</h2>\nThe dataset consists of 332987 Chinese characters (1K classes). Train the best classifier based on cnn to outperform other participants.",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Evaluation",
      "content": "<h2>Evaluation</h2>\nAccuracy is used as score metric. The test dataset has public (25%) and private (75%) parts.  The final results are determined by score on private set only.\n\n<h2>Submission Format</h2>\n<p>Submission is csv file, which has header at the first line and two collumns: id of character and predicted unicode number.  You can seed small example below:</p>\n<pre>Id,Category<br />1,61362<br /><span style=\"font-size: 14px; line-height: 1.4em;\">2,62644<br />3,60861<br /><span style=\"font-size: 14px; line-height: 1.4em;\">etc...<br /></pre>",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    }
  ]
}