{
  "fetched_at": "2026-10-24T17:19:35Z",
  "source_url": "https://www.kaggle.com/competitions/cisc873-dm-f21-a2/data",
  "pages": [
    {
      "name": "data-description",
      "content": "",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Description",
      "content": "### Speed Dating Match Prediction\n\n<img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F4409738%2Fbfec644abd12b3ec43c8b06aa3d27653%2F5f0dd150ec40c.jpeg?generation=1602296689548875&alt=media\" width=300/>\n\n\nIn this assignment, we are going to predict the outcome of a specific speed dating session based on the profile of two people, so we can implement a recommendation system to better match people in speed dating events. We did have another online dating dataset (Tinder-like) but that one is super dirty which requires extensive cleaning, so we do this one instead. This is a binary classification task. Given a data sample (information about the dating session), we are going to predict the probability (0-1, float) that the dating session will lead to a successful match. \n\nThe dataset is clean, but has a lot of missing values. The strategy for missing value replacement has to be tuned. Also, as you can guess, this dataset is highly unbalanced (mostly unmatched). The idea of this assignment is to treat the complete workflow from data preprocessing to model training as a single pipeline, and search for the hyperparameters for this pipeline. \nEnjoy! \n\n\n### Tasks:\n\n✔️ Meme competition:\nInclude/find a MEME that you liked related to data science/data mining/machine learning\n\n✔️ Understand the template:\nPut detailed comment on each line of the code to show your understanding of the template (you can find it at the Data tab). Then describe: What is the experimental protocol used and how was it carried out? How did we tune hyper-parameters in the template? What is the search space and what is the criteria to determine good/bad hyper-parameters? \n\n✔️ Problem Formulation:\nDefine the problem. What is the input? What is the output? What data mining function is required? What could be the challenges?  What is the impact? What is an ideal solution?\n\n✔️ Model Tuning and Documentation:\nNow based on the template, try to improve the model's performance on the public leaderboard by following the data science life-cycle for tuning. You can try different features, different hyperparameters/configurations of the model, and even a different model. For each trial, document the reason why you want to make the certain change and the expected outcome, before running the code. Record the observed performance and your thought on it. Recall that we have a DS life-cycle and we should know what to do when underfit/overfit. The final result is not important, but the process is. Documentation of your thought process is very important, since most people forgot why they test certain model/hyperparameter after they got the result (it takes time). It also helps a lot when you got stuck. You can organize the notebook by listing \n\n- thoughts and observations for trial 0, plan for trial 1\n- code for trial 1\n- thoughts and observations for trial 1, plan for trial 2\n- code for trial 2\n...\n\nYou have to tune at least 10 times. All the tried solutions should be different (e.g. different feature sets/different preprocessing). The tried solutions should cover at least:\n- one grid search trial\n- one random search trial\n- one bayesian search trial\n\n✔️ Answer the questions below (**briefly**):\n\n🌈 Why a simple linear regression model (without any activation function) is not good for classification task, compared to Perceptron/Logistic regression?\n🌈What's a decision tree and how it is different to a logistic regression model?\n🌈We discussed three variants of decision tree (single-tree) in our lecture, what are their differences?\n🌈What is the difference between the random forest model, and a bagging ensemble of CART models?\n🌈How is gradient boosting different to boosting (adaboost)?\n\n### Deliverable:\n\n🔥 A python notebook containing the documentation of how you reach the final design as well as the answers to the questions. \n\n\n### Marking:\n\n👍 2 for technical soundness of the final script (whether you did things right e.g. not using ID as a feature, tuning ranges reasonable e.g. not a giant search space for grid search)\n👍 4 for clarity, organization and soundness of the documentation (how & why you adjust your design to improve the performance) (example deduction: decision tree with observed high bias -> trim more, linear model with observed high bias in testing set -> more regularizations)\n👍 2 for the clarity of your own code (all the code should have comments)\n👍 2 your answers to the questions (deductions based on errors)\n\nNote: Emoji allowed and encouraged so it will be more fun for us to grade it.\n",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Evaluation",
      "content": "In this assignment, we will use AUROC as a metric on the predicted probability:\n\nhttps://en.wikipedia.org/wiki/Receiver_operating_characteristic",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "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
    }
  ]
}