{
  "fetched_at": "2026-10-19T15:36:53Z",
  "source_url": "https://www.kaggle.com/competitions/caltech-cs-155-2021-mp1-part-1/data",
  "pages": [
    {
      "name": "data-description",
      "content": "## File descriptions\n* WILDFIRE_TRAIN.csv - the training set, including labels\n* WILDFIRE_TEST.csv - the test set, excluding labels\n* WIDFIRE_SAMPLE_SUBMISSION.csv - a sample submission file in the correct format.  There should be 5 columns: an ID column, and four columns (P1, P2, P3, P4). For example, for row **i**, columns P2 will contain the probability of sample **i** being from class 2. The four columns should sum up to 1 for each row.\n\n## Data Fields\n\n* `LATITUDE` = Latitude (NAD83) for point location of the fire (decimal degrees).\n* `LONGITUDE` = Longitude (NAD83) for point location of the fire (decimal degrees).\n* `STATE` = Two-letter alphabetic code for the state in which the fire burned (or originated), based on the nominal designation in the fire report.\n* `DISCOVERY_TIME` = Time of day that the fire was discovered or confirmed to exist.\n* `FIRE_SIZE` = Estimate of acres within the final perimeter of the fire.\n* `FIPS_NAME` = County name from the FIPS publication 6-4 for representation of counties and equivalent entities.\n* `FIPS_CODE` = Three-digit code from the Federal Information Process Standards (FIPS) publication 6-4 for representation of counties and equivalent entities.\n* `SOURCE_REPORTING_UNIT_NAME` = Name of reporting agency unit preparing the fire report, based on code/name in the source dataset.\n* `DATE` = Date that the fire was first discovered, in YYYY-MM-DD format\n* `LABEL` = Description of the (statistical) cause of the fire.\n    * `1` = Natural cause (Lightning)\n    * `2` = Accidental cause (in order of decreasing frequency: Debris Burning, Equipment Use, Children, Campfire, Smoking, Railroad, Powerline, Fireworks, Structure)\n    * `3` = Malicious cause (Arson)\n    * `4` = Other (Miscellaneous, or Missing/Undefined)\n\n## Task\nYour task is to predict the target in `WILDFIRES_TEST.csv` to the best of your ability. It is generally encouraged to submit probabilities from your models instead of 0/1 predictions, as you get rewarded for having a non-zero probability of the correct class even if it is not the highest probability for that sample. This also represents real world conditions, where you would like to know the relative likelihoods of each class being the right one.",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Description",
      "content": "## Miniproject #1.\nFor this Kaggle competition, you will use data about the size, location, and time of reported wildfires to predict their cause. These wildfires were reported from the states of California and Georgia from 1992 to 2015, from small flames to massive forest fires.\n\nThere can be 10 submissions per day per team and submission window will close on Wednesday 10 February 2021 at 2:00PM PST.\n\nYou may not use any additional data sources.\n\n## Acknowledgements\nWe thank the national Fire Program Analysis (FPA) fire-occurrence database and Rachael Tatman for this data, in addition to Paul O'Neill for the data cleaning. This dataset was sourced from a different Kaggle competition (1.88 Million US Wildfires). **It is not permitted to visit that Kaggle page, read/use the associated Notebooks in any way, nor use any code online that was made for modeling this dataset, in order to make the competition fair. Doing so will be considered a violation of the Honor Code. Thanks for understanding!**",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Evaluation",
      "content": "## Metric\nThe evaluation metric for this competition is the Mean Column ROC AUC. This means we treat each column as its own binary classification problem, and calculate the area under curve (AUC) of the receiver operating curve (ROC). It allows us to measure a balance of the false positive and true positive rate. It is elaborated on [here](https://scikit-learn.org/stable/modules/generated/sklearn.metrics.roc_auc_score.html).\n\nThe equivalent [sklearn command](https://scikit-learn.org/stable/modules/generated/sklearn.metrics.roc_auc_score.html) used by the Kaggle grader would be: `sklearn.metrics.roc_auc_score(y_ground_truth, y_predicted_probabilities, multi_class='ovr')`\n\n## Submission Format\n\nFor every row of data in WILDFIRES_TEST.csv, submission files should contain five columns:\n* `id`: contains integers equal to the id's in the WILDFIRES_TEST.csv file\n* `P1`: contains the probability (float from 0 to 1) that the label is 1 (natural cause of fire)\n* `P2`: contains the probability (float from 0 to 1) that the label is 2 (accidental cause of fire)\n* `P3`: contains the probability (float from 0 to 1) that the label is 3 (malicious cause of fire)\n* `P4`: contains the probability  float from 0 to 1) that the label is 4 (other cause of fire)\n\nThe file should contain a header and have the following format:\n```\nid,P1,P2,P3,P4\n285382,0.16,0.64,0.09,0.11\n285383,0.17,0.2,0.411,0.219\n...\n358416,0.53,0.12,0.17,0.18\n```",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "rules",
      "content": "<h2>No Additional Data</h2>\n<p>You are not allowed to use any data outside that which has been provided on the two Kaggle sites. Any infractions will be treated as a violation of the honor code</p>\n\n<h2>One account per participant</h2>\n<p>You cannot sign up to Kaggle from multiple accounts and therefore you cannot submit from multiple accounts.</p>\n\n<h2>No private sharing outside teams</h2>\n<p>Privately sharing code or data outside of teams is not permitted. It's okay to share code if made available to all participants on the forums.</p>\n\n<h2>Team Mergers</h2>\n<p>Team mergers are not allowed in this competition.</p>\n\n<h2>Team Limits</h2>\n<p>The maximum size of a team is 4 participants.</p>\n\n<h2>Submission Limits</h2>\n<p>You may submit a maximum of 10 entries per day.</p>\n<p>You may select up to 2 final submissions for judging.</p>\n\n<h2>Competition Timeline</h2>\n<p>Start Date: 2/3/2021</p>\n<p>End Date: 2/10/2021 2:00pm PST</p>",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Tips",
      "content": "Credits to Jim Zhang for helping with these tips\n\n## Anaconda\nIf using Python, pandas is recommended for data manipulation. For prediction, one can start with some typical models in scikit-learn. pandas, numpy, sklearn are all included in Anaconda.\n\n## Useful pandas functions\n`pd.read_csv('filename.csv', index_col='id')`\n`pd.DataFrame.to_csv('submission.csv', index_label='id')`\n\n## Don't be afraid to try things you haven't heard of before\nAfter some basic models, one can progress to some more advanced models in other libraries. Maybe search around a bit for cool or successful models that people have used for classification.\n\n## IDE/Shortcuts\nLearn all the shortcuts to your development environment. Spyder and Jupyter are both included in Anaconda, and there are plenty of shortcuts to run specific code sections swiftly.\n\n## Missing data\nThink of how to fill in the missing/nan data.\n\n## Feature engineering\nSee if you can create new features out of the existing columns, that would make the model perform better / have an easier time fitting the data\n\n## Model blending\nWhy use one model when you can take the average of multiple model outputs, or even use another model on top of the model outputs?\n\n## Probability calibration\nSome models don't have accurate classification probabilities, but one can calibrate them using various techniques. This doesn't help much for individual models due to the AUC metric, but allows for \"fairer\" model blending if you plan to take a simple average.\n\n## Hyperparameter tuning\nGain some intuition and then try some automatic tuners! Be aware, poor model types usually will not improve much with tuning.",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    }
  ]
}