{
  "fetched_at": "2026-10-19T22:58:33Z",
  "source_url": "https://www.kaggle.com/competitions/course-2/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>File descriptions</h2>\n<ul>\n<li><strong>edges.csv</strong> - the edges set</li>\n<li><strong>ground_truth.csv</strong> - Each category includes 10 labeled nodes</li>\n<li><strong>SubmissionSample.csv</strong> - A submission example</li>\n</ul>\n\n<h2>Data fields</h2>\n<ul>\n<li><strong>Source</strong> - source node id of a directed edge</li>\n<li><strong>Target</strong> - target node id of a directed edge</li>\n</ul>",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Description",
      "content": "<h1>EE226 2020 Spring</h1>\n<p>In this project, you are given a directed citation graph including 31136 nodes and 256426 edges. These papers are divided into 5 categories according to their conferences, e.g., AAAI, IJCAI, CVPR, ICCV, ICML. Your task is to divide all of these papers into 5 clusters using community detection methods. Different from Course Work 1, you are doing clustering on a graph, and you are allowed to choose any method you believe to yield high accuracy. For students using advanced methods such as DeepWalk, it is suggested that they use the PageRank score to design the random walk policy. Click the \"Join Competition\" button to join us.</p>\n\n<h2>Attention</h2>\n<p>Before submitting your predictions, please update your account name with \"STUDENTID_NAME\" before submitting your predictions. You can update your name in the \"Team\" tab.</p>\n<p>Before the submission deadline (2020/5/14), you can only view the accuracy evaluated on 30% of the dataset on the leaderboard. After the deadline, we will reveal your model accuracy evaluated on the entire dataset. Remember that your score depends on the ranges that your accuracy falls into. For fairness, we set a few rules for you to obey --- violation against the rules will lead to score deduction:</p>\n<p>1. Please do not use any existing clustering API directly from libraries. Clustering algorithms should be implemented on your own.</p>\n<p>2. Please do not copy someone else's code. We will run plagiarism check after submission.</p>\n<p>3. Please do not download the dataset somewhere else to train your model. A violation would be considered if there is a big gap between your reported results and our reproduced results.</p>\n<p>4. Please do not use the pre-trained model. Everything should be built from scratch.</p>\n<p>5. For us to reproduce your code, please follow the \"Environment\" instruction.</p>\n\n<h2>Environment</h2>\n<p>You need to use the \"Python\" to write the neural network model, and we highly recommend you to use the \"Python3.7.0\" for us to reproduce your code.</p>\n\n<h2>DataSet</h2>\n<p>You can click the \"Data\" button to get more information about our dataset and download it.</p>\n<p>We provide 1) edges file: each row has the source and target node ID; 2) ground truth file: it contains the ground truth labels of 10 nodes for each cluster. First, you need to divide all papers into 5 clusters using your designed algorithm. Second, you should label all nodes in your detected community based on the given ground truth file. For example, you detect a community [0,1,2,3,4,5,6], in which [0,1] belongs to cluster 1, [3] belongs to cluster 2 according to ground truth file, and others are unknown. You should label each node in this community as cluster 1 since most of the known data belong to cluster 1.</p>\n\n<h2>Submission</h2>\n<p>You can click the \" Submit Prediction\" button on the upper-right corner, and upload your prediction. The prediction file should be a CSV file, and the first column name is \"ID,\" the second is \"Category.\"<p>\n<p>When you upload the CSV file successfully, you can get a score about the Category Accuracy (CA) for your prediction simultaneously.</p>\n<p>\\[CA =  \\frac{N_{true}}{N}\\]</p>\n<p>, where N is the number of papers, and N_true is the number of papers whose category index is equal to the ground truth. Typically, clustering algorithms do not have `accuracy.’ Here we just need a way to evaluate your algorithm performance.</p>\n<p>Two submissions are allowed for each account per day. Please carefully arrange your submission schedule.</p>\n\n<h2>Requirements for uploading</h2>\n<p>You need to zip and upload the following files before the deadline: ①your codes ②a readme.txt, which includes the scripts or instructions to run your codes. The final zip file should be uploaded via our course website: https://oc.sjtu.edu.cn</p>\n\n<h2>Deadline of this project</h2>\n<p>Deadline for submitting your predictions on Kaggle: 2020/5/14</p>\n<p>Deadline for uploading your readme and code via our course website: 2019/5/15</p>\n\n",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Evaluation",
      "content": "<p>The evaluation metric for this competition is <a href=\"https://www.kaggle.com/wiki/MeanFScore\"> Category Accuracy</a>. The Category Accuracy, commonly used in classification task, measures accuracy of prediction. The Category Accuracy is given by:</p>\n<p>\\[ CA = \\frac{N_{true}}{N} \\]</p>\n<h2>Submission Format</h2>\n<p>The file should contain a header and have the following format:</p>\n<pre>id,category<br />0,1<br /><span style=\"font-size: 14px; line-height: 1.4em;\">1,3<br />2,4 <br /></span><span style=\"font-size: 14px; line-height: 1.4em;\">3,2<br /></span><span style=\"font-size: 14px; line-height: 1.4em;\">etc.</span></pr>",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    }
  ]
}