{
  "fetched_at": "2026-10-19T09:27:28Z",
  "source_url": "https://www.kaggle.com/competitions/data-challenge-kernel-methods-2023-2024-extension/data",
  "pages": [
    {
      "name": "data-description",
      "content": "This page shows up underneath the data files. \n\n##File descriptions\n- Xtr.csv - the training images.\n- Xte.csv - the test images\n- Ytr.csv - the image labels of the training images, in the same format as a submission file\n\nXtr.csv contains a matrix of size 5000 x 3072.  One row represents a color image of size 32 x 32 pixels. The first 1024 values represent pixel intensities on the red channel, then the next 1024 represent the green channel, and the last 1024 entries, the blue channel. To make sure that you are reading the data correctly, you need to find a way to visualize images. Note that images have been pre-processed, and do not appear as a natural image.\n\nSimilarly, Xte.csv contains 2000 test images. These are the ones you need to classify. The first row corresponds to image Id=1, then the last row corresponds to image Id=2000.\n\nYtr.csv contains a vector of labels corresponding to the training data, in the same format as a submission file. \nYou can find more details in this format in the Overview/Evaluation section.  \n\n\n",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Description",
      "content": "##Introduction\n\nThe goal of the data challenge is to learn how to implement machine learning algorithms, gain understanding about them and adapt them to structural data. For this reason, we have chosen a simple image classification task. There are specific **rules** that are described below.\n\n##What is expected\nTwo days after the deadline of the data challenge, you will have to provide\n- a small report on what you did (in pdf format, 11pt, 2 pages A4 max, with your team name and member names written under the title). You will need to upload it on gradescope.\n- your source code (zip archive), with a simple script \"start\" (that may be called from Matlab, Python, R, or Julia) which will reproduce your submission and saves it in Yte.csv\n\n##Rules\n- You need to implement **kernel methods** for this challenge.\n- You can form teams of at most 2 persons. \n- You can submit results up to twice per day during the challenge.\n- A leader board will be available during the challenge, which shows the best results per team, as measured on a subset of the test set. A different part of the test set will be used after the challenge to evaluate the results.\n- The most important rule is: **DO IT YOURSELF**. The goal of the data challenge is not get the best recognition rate on this data set at all costs, but instead to learn how to implement things in practice, and gain practical experience with the machine learning techniques involved.\n\n**For this reason, the use of external machine learning libraries is forbidden. For instance, this includes, but is not limited to, libsvm, liblinear, scikit-learn, …**\n\nOn the other hand, you are welcome to use general purpose libraries, such as library for linear algebra (e.g., svd, eigenvalue decompositions), optimization libraries (e.g., for solving linear or quadratic programs).",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Evaluation",
      "content": "The evaluation pages describes how submissions will be scored and how students should format their submissions. The metric is the classification accuracy. The data contains 10 classes.\n\n##Submission Format\nSubmission files should contain two columns: Id and Prediction. The file should contain a header and have the format described below. Id represents the number of the test example, ranging from 1 to 2000.  The prediction is the corresponding label, from 0 to 9.  \nEx:\n```\nId,Prediction\n1,4\n2,8\n3,8\n4,1\n5,9\n6,0\n7,8\n```\n\nBelow, you will also find a piece of code for reading/writing the data.\n```python\nimport numpy as np\nimport pandas as pd\n\nXtr = np.array(pd.read_csv('Xtr.csv',header=None,sep=',',usecols=range(3072)))\nXte = np.array(pd.read_csv('Xte.csv',header=None,sep=',',usecols=range(3072)))\nYtr = np.array(pd.read_csv('Ytr.csv',sep=',',usecols=[1])).squeeze()\n\n# define your learning algorithm here\n# for instance, define an object called ``classifier''  \n# classifier.train(Ytr,Xtr)\n\n\n# predict on the test data\n# for instance, Yte = classifier.fit(Xte)\n\nYte = {'Prediction' : Yte}\ndataframe = pd.DataFrame(Yte)\ndataframe.index += 1\ndataframe.to_csv('Yte_pred.csv',index_label='Id')\n```",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "rules",
      "content": "- The names of the teams should consist of your last names\n- Teams can be up to 2 people. ",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    }
  ]
}