{
  "fetched_at": "2026-10-19T16:59:29Z",
  "source_url": "https://www.kaggle.com/competitions/ds26-water-pump-challenge/data",
  "pages": [
    {
      "name": "data-description",
      "content": "# File descriptions\n - `train_features.csv` : the training set features\n - `train_labels.csv` : the training set labels\n - `test_features.csv` : the test set features\n - `sample_submission.csv` :  a sample submission file in the correct format\n\n# Features\n\nYour goal is to predict the operating condition of a waterpoint for each record in the dataset. You are provided the following set of information about the waterpoints:\n\n- `amount_tsh` : Total static head (amount water available to waterpoint)\n- `date_recorded` : The date the row was entered\n- `funder` : Who funded the well\n- `gps_height` : Altitude of the well\n- `installer` : Organization that installed the well\n- `longitude` : GPS coordinate\n- `latitude` : GPS coordinate\n- `wpt_name` : Name of the waterpoint if there is one\n- `num_private` :  \n- `basin` : Geographic water basin\n- `subvillage` : Geographic location\n- `region` : Geographic location\n- `region_code` : Geographic location (coded)\n- `district_code` : Geographic location (coded)\n- `lga` : Geographic location\n- `ward` : Geographic location\n- `population` : Population around the well\n- `public_meeting` : True/False\n- `recorded_by` : Group entering this row of data\n- `scheme_management` : Who operates the waterpoint\n- `scheme_name` : Who operates the waterpoint\n- `permit` : If the waterpoint is permitted\n- `construction_year` : Year the waterpoint was constructed\n- `extraction_type` : The kind of extraction the waterpoint uses\n- `extraction_type_group` : The kind of extraction the waterpoint uses\n- `extraction_type_class` : The kind of extraction the waterpoint uses\n- `management` : How the waterpoint is managed\n- `management_group` : How the waterpoint is managed\n- `payment` : What the water costs\n- `payment_type` : What the water costs\n- `water_quality` : The quality of the water\n- `quality_group` : The quality of the water\n- `quantity` : The quantity of water\n- `quantity_group` : The quantity of water\n- `source` : The source of the water\n- `source_type` : The source of the water\n- `source_class` : The source of the water\n- `waterpoint_type` : The kind of waterpoint\n- `waterpoint_type_group` : The kind of waterpoint\n\n# Labels\n\nThere are three possible values:\n\n- `functional` : the waterpoint is operational and there are no repairs needed\n- `functional needs repair` : the waterpoint is operational, but needs repairs\n- `non functional` : the waterpoint is not operational",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Description",
      "content": "![](http://drivendata.materials.s3.amazonaws.com/pumps/pumping.jpg)\n\n# Can you predict which water pumps are faulty?\n\nUsing data from Taarifa and the Tanzanian Ministry of Water, can you predict which pumps are functional, which need some repairs, and which don't work at all? Predict one of these three classes based on a number of variables about what kind of pump is operating, when it was installed, and how it is managed. A smart understanding of which waterpoints will fail can improve maintenance operations and ensure that clean, potable water is available to communities across Tanzania.\n\nThis predictive modeling challenge comes from [DrivenData](https://www.drivendata.org/competitions/7/pump-it-up-data-mining-the-water-table/), an organization who helps non-profits by hosting data science competitions for social impact. The competition has open licensing: \"The data is available for use outside of DrivenData.\" We are reusing the data on Kaggle's InClass platform so we can run a weeklong challenge just for your Lambda School Data Science cohort.  \n\nThe data comes from the Taarifa waterpoints dashboard, which aggregates data from the Tanzania Ministry of Water. In their own words:\n\n<blockquote>Taarifa is an open source platform for the crowd sourced reporting and triaging of infrastructure related issues. Think of it as a bug tracker for the real world which helps to engage citizens with their local government. We are currently working on an Innovation Project in Tanzania, with various partners.</blockquote>\n\n![](http://drivendata.materials.s3.amazonaws.com/pumps/taarifadashboard.png)",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Evaluation",
      "content": "# Evaluation Metric\n\nThe metric used for this competition is classification accuracy, which calculates the percentage of rows where the predicted class ŷ  in the submission matches the actual class, y in the test set. The maximum is 1 and the minimum is 0. The goal is to maximize the classification accuracy.\n\n\n# Submission Process\n\nThe format for the submission file is simply the row id and the predicted label (for an example, see `sample_submission.csv` on the data download page).\n\nFor example, if you just predicted that all the waterpoints were functional you would have the following predictions:\n\n<pre>id,status_group\n50785,functional\n51630,functional\n17168,functional\n45559,functional\n49871,functional\n</pre>\n\nYour code to generate a submission file may look like this: \n<pre># estimator is your model or pipeline, which you've fit on X_train\n\n# X_test is your pandas dataframe or numpy array, \n# with the same number of rows, in the same order, as test_features.csv, \n# and the same number of columns, in the same order, as X_train\n\ny_pred = estimator.predict(X_test)\n\n\n# Makes a dataframe with two columns, id and status_group, \n# and writes to a csv file, without the index\n\nDATA_PATH = 'https://raw.githubusercontent.com/LambdaSchool/DS-Unit-2-Kaggle-Challenge/master/data/'\nsample_submission = pd.read_csv(DATA_PATH+'waterpumps/sample_submission.csv')\nsubmission = sample_submission.copy()\nsubmission['status_group'] = y_pred\nsubmission.to_csv('your-submission-filename.csv', index=False)\n</pre>\n\nIf you're working locally, the csv file is saved in the same directory as your notebook.\n\nIf you're using Google Colab, you can use this code to download your submission csv file.\n\n<pre>from google.colab import files\nfiles.download('your-submission-filename.csv')\n</pre>\n\nThen click the blue **Submit Predictions** button on Kaggle.",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "rules",
      "content": "# Evaluation Metric\n\nThe metric used for this competition is classification accuracy, which calculates the percentage of rows where the predicted class ŷ  in the submission matches the actual class, y in the test set. The maximum is 1 and the minimum is 0. The goal is to maximize the classification accuracy.\n\n\n# Submission Process\n\nThe format for the submission file is simply the row id and the predicted label (for an example, see `sample_submission.csv` on the data download page).\n\nFor example, if you just predicted that all the waterpoints were functional you would have the following predictions:\n\n<pre>id,status_group\n50785,functional\n51630,functional\n17168,functional\n45559,functional\n49871,functional\n</pre>\n\nYour code to generate a submission file may look like this: \n<pre># estimator is your model or pipeline, which you've fit on X_train\n\n# X_test is your pandas dataframe or numpy array, \n# with the same number of rows, in the same order, as test_features.csv, \n# and the same number of columns, in the same order, as X_train\n\ny_pred = estimator.predict(X_test)\n\n\n# Makes a dataframe with two columns, id and status_group, \n# and writes to a csv file, without the index\n\nDATA_PATH = 'https://raw.githubusercontent.com/LambdaSchool/DS-Unit-2-Kaggle-Challenge/master/data/'\nsample_submission = pd.read_csv(DATA_PATH+'waterpumps/sample_submission.csv')\nsubmission = sample_submission.copy()\nsubmission['status_group'] = y_pred\nsubmission.to_csv('your-submission-filename.csv', index=False)\n</pre>\n\nIf you're working locally, the csv file is saved in the same directory as your notebook.\n\nIf you're using Google Colab, you can use this code to download your submission csv file.\n\n<pre>from google.colab import files\nfiles.download('your-submission-filename.csv')\n</pre>\n\nThen click the blue **Submit Predictions** button on Kaggle.",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    }
  ]
}