{
  "fetched_at": "2026-10-20T04:57:15Z",
  "source_url": "https://www.kaggle.com/competitions/cisc-873-dm-f22-a1/data",
  "pages": [
    {
      "name": "data-description",
      "content": "✔️ The related datasets for this assignment. You can download the datasets and directly upload them to Google Colab through the web interface. Or, you can mount your google drive to the Google Colab notebook.\n\nSample code to generate submission file:\n\npred_test = clf.predict(test_data)\n\npred_df = pd.DataFrame(data={'id': np.asarray(_id), 'rating': pred_test})\n\npred_df.to_csv('pred_walkthrough.csv', index=False)\n\n- test_data is the dataframe read from the test_new.csv file`\n- cls is your model\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F1488294%2F308810459ae5232399672ba3eef228ef%2Fannotated-search-results-wish-website.jpg?generation=1598785563117062&alt=media)\n",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Description",
      "content": "Notes: Again thank you all for joining this course. I hope that you would enjoy the assignments. We used to put exams instead but I think hands-on should be more of the focus of this course. Any feedbacks will be highly appreciated. \n \n### Wish.com Product Rating Prediction\n\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F4409738%2Fa89e55ba3a0204c78be0eb154c79a6a0%2FA21ADFF0-AB9D-44E7-ABE0-F2E91CB19E1D.jpeg?generation=1601161987220890&alt=media)\n\n\nSo in this assignment, you will be working with a tabular dataset. The dataset is not clean, and you will need some preprocessing depending on the models of your choice. The dataset is the wish.com product dataset. We collected the data combined with some available data. Some nosies are added to the dataset. The goal is to predict the product ratings given the other features known for a product on Wish.com. Ratings are in categories from 1 to 5. For one product, the higher the rating is, the more the customers like the product. In this way, when you have a new product to be put on wish.com, you can estimate how likely people will like your product, without actually listing out there. Also, by doing this, it helps us to understand under what certain conditions that a product will be highly rated, as a way to understand the customer base of the wish.com. \n\nYou are encouraged to use the Google Colab environment for this assignment to run your experiments through Jupiter Notebook. \n\n### For the first-time Kaggle Users:\n\nIf you are first-time user of Kaggle, basically it is a platform for data science project competitions. In this case, we have a training set (with labels), and a testing set (without labels). You can play around with the training set to build models, and generate the predictions following the format of our sample submission csv file. Then you can submit your csv file through the Kaggle website. You will be able to see how well your sample submission performs on the leader board. There are two leaderboards: public and private. Public leaderboard is the one you will be able to see, which shows the performance of your submission with 50% of the testing data. Private leaderboard, with the rest 50% percent of the testing data, will be only shown after the deadline of this competition. \n\n### Steps:\n\n✔️ Meme competition [optional]:\nInclude/find a MEME that you liked related to data science/data mining/machine learning. You can upload yours [here](https://github.com/CISC-873/Information-2022/issues/1).\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(You can put your answers in markdown format in your notebook - Text Cell)\n\n✔️ Document your code:\nPut detailed comment on each line of the code to show your understanding of the your code. Also describe: What is the experimental protocol used and how was it carried out? What preprocessing steps are used? \n(You can put your answers in markdown format in your notebook - Text Cell)\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. 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 5 times. All the tried solutions should be different (e.g. different feature sets/different preprocessing). Requirements:\n- Tried decision tree model with at least 2 different configurations/hyper-parameters\n- Tried SVM model with at least 2 different configurations/hyper-parameters\n- Tried Naive Bayesian model.\n\n✔️ Answer the questions below (**briefly**):\n\n🌈 Why Data Mining is a misnomer? What is another preferred name?\n🌈 What is the general knowledge discovery process? What is the difference between a data engineer and data scientist/AI engineer?\n🌈 In data mining, what is the difference between prediction and categorization?\n🌈 Why data science/machine learning is a bad idea in the context of information security? \n🌈 What is CIA principle and how can we use it to access the security/privacy aspect of the AI system/pipelines?\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, directly submit to the onQ system.\n\n### Marking:\n👍 2 for technical soundness of the final script (whether you did things right e.g. not using ID as a feature)\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👍 1.5 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👍 .5 is based on your performance - if it is beyond certain baselines in the leaderboards.\n\nNote: Emoji allowed and encouraged so it will be more fun for us to grade it.\n\nThere are a lot of resources available online, especially for medium.com. For posts that requires tokens/credits, you can open and read that page in incognito mode of your browser. \n",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Evaluation",
      "content": "### Metric:\n\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>\n<p>\\[ F1 = 2\\frac{p \\cdot r}{p+r}\\ \\ \\mathrm{where}\\ \\ p = \\frac{tp}{tp+fp},\\ \\ r = \\frac{tp}{tp+fn} \\]</p>\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>\n\n",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "rules",
      "content": " - Don't cheat!\n - Have fun!",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    }
  ]
}