Data Every Day: ニューヨーク州環境修復サイト

# tldr

Kggleの[NYS Environmental Remediation Sites](https://www.kaggle.com/new-york-state/nys-environmental-remediation-sites)を[Classifying Environmental Program Types - Data Every Day #041](https://www.youtube.com/watch?v=35a7YOV_HTU&list=PLs_CQl4mUvI7Z9HnwoeOS5EUu9gyvekjK&index=41)に沿ってやっていきます。

実行環境はGoogle Colaboratorです。

# インポート


```python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

import sklearn.preprocessing as sp
from sklearn.model_selection import train_test_split
import sklearn.linear_model as slm

import tensorflow as tf
```

# データのダウンロード

Google Driveをマウントします。


```python
from google.colab import drive
drive.mount('/content/drive')
```

    Mounted at /content/drive


KaggleのAPIクライアントを初期化し、認証します。
認証情報はGoogle Drive内（`/content/drive/My Drive/Colab Notebooks/Kaggle`）に`kaggle.json`として置いてあります。


```python
import os
kaggle_path = "/content/drive/My Drive/Colab Notebooks/Kaggle"
os.environ['KAGGLE_CONFIG_DIR'] = kaggle_path

from kaggle.api.kaggle_api_extended import KaggleApi
api = KaggleApi()
api.authenticate() 
```

Kaggle APIを使ってデータをダウンロードします。


```python
dataset_id = 'new-york-state/nys-environmental-remediation-sites'
dataset = api.dataset_list_files(dataset_id)
file_name = dataset.files[0].name
file_path = os.path.join(api.get_default_download_dir(), file_name)
file_path
```




    '/content/environmental-remediation-sites.csv'




```python
api.dataset_download_file(dataset_id, file_name, force=True, quiet=False)
```

    100%|██████████| 4.82M/4.82M [00:00<00:00, 50.2MB/s]

    Downloading environmental-remediation-sites.csv.zip to /content
    


    





    True



# データの読み込み

Pedumagalhaes/quality-prediction-in-a-mining-processadasを使ってダウンロードしてきたCSVファイルを読み込みます。


```python
data = pd.read_csv(file_path + '.zip')
```


```python
data
```




<div>
<style scoped>
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>Program Number</th>
      <th>Program Type</th>
      <th>Program Facility Name</th>
      <th>Site Class</th>
      <th>Address1</th>
      <th>Address2</th>
      <th>Locality</th>
      <th>County</th>
      <th>ZIPCode</th>
      <th>SWIS Code</th>
      <th>DEC Region</th>
      <th>Latitude</th>
      <th>Longitude</th>
      <th>Control Code</th>
      <th>Control Type</th>
      <th>OU</th>
      <th>Project Name</th>
      <th>Project Completion Date</th>
      <th>Waste Name</th>
      <th>Contaminants</th>
      <th>Owner Name</th>
      <th>Owner Address1</th>
      <th>Owner Address2</th>
      <th>Owner City</th>
      <th>Owner State</th>
      <th>Owner ZIP</th>
      <th>Disposal Name</th>
      <th>Disposal Address1</th>
      <th>Disposal Address2</th>
      <th>Disposal City</th>
      <th>Disposal ZIP</th>
      <th>Disposal State</th>
      <th>Operator Name</th>
      <th>Operator Address1</th>
      <th>Operator Address2</th>
      <th>Operator City</th>
      <th>Operator State</th>
      <th>Operator Zip</th>
      <th>Georeference</th>
      <th>NYS Municipal Boundaries 2</th>
      <th>New York Zip Codes 2</th>
      <th>Counties 2</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>0</th>
      <td>C241159</td>
      <td>BCP</td>
      <td>11-28 31st Drive</td>
      <td>C</td>
      <td>11-28 31st Drive</td>
      <td>NaN</td>
      <td>Queens</td>
      <td>Queens</td>
      <td>11106</td>
      <td>4101</td>
      <td>2</td>
      <td>40.768000</td>
      <td>-73.935028</td>
      <td>Environmental Easement</td>
      <td>Environmental Easement</td>
      <td>01</td>
      <td>Remedial Design</td>
      <td>2016-09-12T00:00:00.000</td>
      <td>NaN</td>
      <td>tetrachloroethene (PCE)</td>
      <td>George Man</td>
      <td>1083 Maple Lane</td>
      <td>NaN</td>
      <td>New Hyde Park</td>
      <td>NY</td>
      <td>11040</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>{'type': 'Point', 'coordinates': [-73.93502777...</td>
      <td>196</td>
      <td>878.0</td>
      <td>2137.0</td>
    </tr>
    <tr>
      <th>1</th>
      <td>E633060</td>
      <td>ERP</td>
      <td>1333 East Dominick Street</td>
      <td>A</td>
      <td>1313-1333 East Dominick Street</td>
      <td>NaN</td>
      <td>Rome</td>
      <td>Oneida</td>
      <td>13440</td>
      <td>3313</td>
      <td>6</td>
      <td>43.204978</td>
      <td>-75.434194</td>
      <td>Environmental Easement</td>
      <td>Environmental Easement</td>
      <td>01</td>
      <td>NaN</td>
      <td>2018-03-01T00:00:00.000</td>
      <td>NaN</td>
      <td>benzo(a)anthracene</td>
      <td>JAMES F. BROWN</td>
      <td>198 N. WASHINGTON ST.</td>
      <td>NaN</td>
      <td>ROME</td>
      <td>NY</td>
      <td>13440</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>{'type': 'Point', 'coordinates': [-75.43419382...</td>
      <td>989</td>
      <td>1366.0</td>
      <td>625.0</td>
    </tr>
    <tr>
      <th>2</th>
      <td>C915320</td>
      <td>BCP</td>
      <td>166 Chandler Street</td>
      <td>C</td>
      <td>166 Chandler Street</td>
      <td>NaN</td>
      <td>Buffalo</td>
      <td>Erie</td>
      <td>14207</td>
      <td>1502</td>
      <td>9</td>
      <td>42.943614</td>
      <td>-78.885092</td>
      <td>Environmental Easement</td>
      <td>Environmental Easement</td>
      <td>01</td>
      <td>Remedial Investigation</td>
      <td>2018-12-12T00:00:00.000</td>
      <td>NaN</td>
      <td>mercury</td>
      <td>Rocco Termini</td>
      <td>391 Washington Street</td>
      <td>NaN</td>
      <td>Buffalo</td>
      <td>NY</td>
      <td>14203</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>{'type': 'Point', 'coordinates': [-78.88509166...</td>
      <td>300</td>
      <td>63.0</td>
      <td>2041.0</td>
    </tr>
    <tr>
      <th>3</th>
      <td>C828192</td>
      <td>BCP</td>
      <td>1777 East Henrietta Road</td>
      <td>A</td>
      <td>1777 East Henrietta Road</td>
      <td>NaN</td>
      <td>Henrietta</td>
      <td>Monroe</td>
      <td>14623</td>
      <td>2832</td>
      <td>8</td>
      <td>43.084683</td>
      <td>-77.610928</td>
      <td>Environmental Easement</td>
      <td>Environmental Easement</td>
      <td>01</td>
      <td>NaN</td>
      <td>2020-12-31T00:00:00.000</td>
      <td>NaN</td>
      <td>benzo(a)pyrene</td>
      <td>Kerry Ventures Tech Park, LLC</td>
      <td>195 Middle road, suite 400</td>
      <td>NaN</td>
      <td>henrietta</td>
      <td>NY</td>
      <td>14467</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>{'type': 'Point', 'coordinates': [-77.61092777...</td>
      <td>546</td>
      <td>1682.0</td>
      <td>2093.0</td>
    </tr>
    <tr>
      <th>4</th>
      <td>V00669</td>
      <td>VCP</td>
      <td>192 Ralph Avenue</td>
      <td>C</td>
      <td>192 Ralph Ave</td>
      <td>NaN</td>
      <td>Brooklyn</td>
      <td>Kings</td>
      <td>11233</td>
      <td>2401</td>
      <td>2</td>
      <td>40.683078</td>
      <td>-73.922924</td>
      <td>Deed Restriction</td>
      <td>Deed Restriction</td>
      <td>01A</td>
      <td>Remedial Action</td>
      <td>2008-06-11T00:00:00.000</td>
      <td>NaN</td>
      <td>tetrachloroethene (PCE)</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>{'type': 'Point', 'coordinates': [-73.92292392...</td>
      <td>894</td>
      <td>816.0</td>
      <td>2090.0</td>
    </tr>
    <tr>
      <th>...</th>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
    </tr>
    <tr>
      <th>82605</th>
      <td>704005</td>
      <td>HW</td>
      <td>Tri-City Barrel Company</td>
      <td>04</td>
      <td>Old Route 7</td>
      <td>NaN</td>
      <td>Fenton (Port Crane)</td>
      <td>Broome</td>
      <td>13833</td>
      <td>432</td>
      <td>7</td>
      <td>42.158504</td>
      <td>-75.811645</td>
      <td>Other Controls</td>
      <td>Other Controls</td>
      <td>01</td>
      <td>Remedial Design</td>
      <td>2003-01-16T00:00:00.000</td>
      <td>DICHLOROETHYLENE, XYLENE, STYRENE,</td>
      <td>styrene</td>
      <td>Gary Warner</td>
      <td>RD 1  /  PO Box 88</td>
      <td>NaN</td>
      <td>Port Crane</td>
      <td>NY</td>
      <td>13833</td>
      <td>TRI-CITY BARREL COMPANY, INC.</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>ZZ</td>
      <td>WARNER GARY</td>
      <td>R.D. 1, PO BOX 88</td>
      <td>NaN</td>
      <td>PORT CRANE</td>
      <td>NY</td>
      <td>NaN</td>
      <td>{'type': 'Point', 'coordinates': [-75.811645, ...</td>
      <td>945</td>
      <td>453.0</td>
      <td>2033.0</td>
    </tr>
    <tr>
      <th>82606</th>
      <td>C224043</td>
      <td>BCP</td>
      <td>U. S. Dredging Shipyard Site</td>
      <td>C</td>
      <td>One Beard Street</td>
      <td>NaN</td>
      <td>Brooklyn</td>
      <td>Kings</td>
      <td>11231</td>
      <td>2401</td>
      <td>2</td>
      <td>40.671538</td>
      <td>-74.011473</td>
      <td>Environmental Easement</td>
      <td>Environmental Easement</td>
      <td>01</td>
      <td>Remedial Investigation</td>
      <td>2006-03-31T00:00:00.000</td>
      <td>NaN</td>
      <td>methylene chloride</td>
      <td>cLAUDE bOISVERT</td>
      <td>420 Alan Wood Road</td>
      <td>NaN</td>
      <td>Conshohocken</td>
      <td>PA</td>
      <td>19428</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>{'type': 'Point', 'coordinates': [-74.011473, ...</td>
      <td>894</td>
      <td>814.0</td>
      <td>2090.0</td>
    </tr>
    <tr>
      <th>82607</th>
      <td>130043H</td>
      <td>HW</td>
      <td>Utility Manufacturing/Wonder King</td>
      <td>04</td>
      <td>700-712 Main Street</td>
      <td>NaN</td>
      <td>Westbury</td>
      <td>Nassau</td>
      <td>11590</td>
      <td>3022</td>
      <td>1</td>
      <td>40.756999</td>
      <td>-73.556776</td>
      <td>Decision Document</td>
      <td>Decision Document</td>
      <td>01</td>
      <td>Remedial Investigation</td>
      <td>2003-03-19T00:00:00.000</td>
      <td>TETRACHLOROETHYLENE</td>
      <td>tetrachloroethene (PCE)</td>
      <td>Audie Kranz and Wilbur Kranz</td>
      <td>700-712 Main Street</td>
      <td>NaN</td>
      <td>Westbury</td>
      <td>NY</td>
      <td>11590</td>
      <td>NEST EQUITIES, INC.</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>ZZ</td>
      <td>Audie Kranz and Wilbur Kranz</td>
      <td>700-712 Main Street</td>
      <td>NaN</td>
      <td>Westbury</td>
      <td>NY</td>
      <td>11590</td>
      <td>{'type': 'Point', 'coordinates': [-73.55677553...</td>
      <td>60</td>
      <td>997.0</td>
      <td>2094.0</td>
    </tr>
    <tr>
      <th>82608</th>
      <td>704005</td>
      <td>HW</td>
      <td>Tri-City Barrel Company</td>
      <td>04</td>
      <td>Old Route 7</td>
      <td>NaN</td>
      <td>Fenton (Port Crane)</td>
      <td>Broome</td>
      <td>13833</td>
      <td>432</td>
      <td>7</td>
      <td>42.158504</td>
      <td>-75.811645</td>
      <td>Deed Restriction</td>
      <td>Deed Restriction</td>
      <td>01</td>
      <td>Remedial Investigation</td>
      <td>2000-03-31T00:00:00.000</td>
      <td>DICHLOROETHYLENE, XYLENE, STYRENE,</td>
      <td>styrene</td>
      <td>Tri-Cities Barrel Co Inc</td>
      <td>319 NYS Rte 7  PO Box 88</td>
      <td>NaN</td>
      <td>Port Crane</td>
      <td>NY</td>
      <td>13833</td>
      <td>TRI-CITY BARREL COMPANY, INC.</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>ZZ</td>
      <td>WARNER GARY</td>
      <td>R.D. 1, PO BOX 88</td>
      <td>NaN</td>
      <td>PORT CRANE</td>
      <td>NY</td>
      <td>NaN</td>
      <td>{'type': 'Point', 'coordinates': [-75.811645, ...</td>
      <td>945</td>
      <td>453.0</td>
      <td>2033.0</td>
    </tr>
    <tr>
      <th>82609</th>
      <td>413010</td>
      <td>HW</td>
      <td>West Well and Parking Area (Amphenol)</td>
      <td>02</td>
      <td>40-60 Delaware Street</td>
      <td>NaN</td>
      <td>Sidney</td>
      <td>Delaware</td>
      <td>13838</td>
      <td>1350</td>
      <td>4</td>
      <td>42.307482</td>
      <td>-75.399926</td>
      <td>Deed Restriction</td>
      <td>Deed Restriction</td>
      <td>01</td>
      <td>Remedial Design</td>
      <td>1987-11-01T00:00:00.000</td>
      <td>NaN</td>
      <td>trans-1,2-dichloroethene</td>
      <td>joseph m bianchi</td>
      <td>40-60 Delaware Avenue</td>
      <td>NaN</td>
      <td>Sidney</td>
      <td>NY</td>
      <td>13838</td>
      <td>bendix corporation</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NY</td>
      <td>joseph m bianchi</td>
      <td>40-60 Delaware Avenue</td>
      <td>NaN</td>
      <td>Sidney</td>
      <td>NY</td>
      <td>13838</td>
      <td>{'type': 'Point', 'coordinates': [-75.39992579...</td>
      <td>558</td>
      <td>456.0</td>
      <td>2039.0</td>
    </tr>
  </tbody>
</table>
<p>82610 rows × 42 columns</p>
</div>



# 下準備


```python
data.info()
```

    <class 'pandas.core.frame.DataFrame'>
    RangeIndex: 82610 entries, 0 to 82609
    Data columns (total 42 columns):
     #   Column                      Non-Null Count  Dtype  
    ---  ------                      --------------  -----  
     0   Program Number              82610 non-null  object 
     1   Program Type                82610 non-null  object 
     2   Program Facility Name       82610 non-null  object 
     3   Site Class                  82610 non-null  object 
     4   Address1                    82610 non-null  object 
     5   Address2                    1190 non-null   object 
     6   Locality                    82448 non-null  object 
     7   County                      82610 non-null  object 
     8   ZIPCode                     82610 non-null  object 
     9   SWIS Code                   82610 non-null  int64  
     10  DEC Region                  82610 non-null  int64  
     11  Latitude                    82610 non-null  float64
     12  Longitude                   82610 non-null  float64
     13  Control Code                82610 non-null  object 
     14  Control Type                82610 non-null  object 
     15  OU                          82610 non-null  object 
     16  Project Name                68153 non-null  object 
     17  Project Completion Date     82549 non-null  object 
     18  Waste Name                  36047 non-null  object 
     19  Contaminants                53667 non-null  object 
     20  Owner Name                  79344 non-null  object 
     21  Owner Address1              78689 non-null  object 
     22  Owner Address2              11719 non-null  object 
     23  Owner City                  78843 non-null  object 
     24  Owner State                 79344 non-null  object 
     25  Owner ZIP                   78547 non-null  object 
     26  Disposal Name               31861 non-null  object 
     27  Disposal Address1           8037 non-null   object 
     28  Disposal Address2           1354 non-null   object 
     29  Disposal City               6534 non-null   object 
     30  Disposal ZIP                5516 non-null   object 
     31  Disposal State              31927 non-null  object 
     32  Operator Name               55801 non-null  object 
     33  Operator Address1           53337 non-null  object 
     34  Operator Address2           2915 non-null   object 
     35  Operator City               53489 non-null  object 
     36  Operator State              55859 non-null  object 
     37  Operator Zip                51438 non-null  object 
     38  Georeference                82610 non-null  object 
     39  NYS Municipal Boundaries 2  82610 non-null  int64  
     40  New York Zip Codes 2        82056 non-null  float64
     41  Counties 2                  82517 non-null  float64
    dtypes: float64(4), int64(3), object(35)
    memory usage: 26.5+ MB



```python
null_columns = data.loc[:, data.isna().sum() > 0.25 * data.shape[0]]
```


```python
null_columns
```




<div>
<style scoped>
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>Address2</th>
      <th>Waste Name</th>
      <th>Contaminants</th>
      <th>Owner Address2</th>
      <th>Disposal Name</th>
      <th>Disposal Address1</th>
      <th>Disposal Address2</th>
      <th>Disposal City</th>
      <th>Disposal ZIP</th>
      <th>Disposal State</th>
      <th>Operator Name</th>
      <th>Operator Address1</th>
      <th>Operator Address2</th>
      <th>Operator City</th>
      <th>Operator State</th>
      <th>Operator Zip</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>0</th>
      <td>NaN</td>
      <td>NaN</td>
      <td>tetrachloroethene (PCE)</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
    </tr>
    <tr>
      <th>1</th>
      <td>NaN</td>
      <td>NaN</td>
      <td>benzo(a)anthracene</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
    </tr>
    <tr>
      <th>2</th>
      <td>NaN</td>
      <td>NaN</td>
      <td>mercury</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
    </tr>
    <tr>
      <th>3</th>
      <td>NaN</td>
      <td>NaN</td>
      <td>benzo(a)pyrene</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
    </tr>
    <tr>
      <th>4</th>
      <td>NaN</td>
      <td>NaN</td>
      <td>tetrachloroethene (PCE)</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
    </tr>
    <tr>
      <th>...</th>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
    </tr>
    <tr>
      <th>82605</th>
      <td>NaN</td>
      <td>DICHLOROETHYLENE, XYLENE, STYRENE,</td>
      <td>styrene</td>
      <td>NaN</td>
      <td>TRI-CITY BARREL COMPANY, INC.</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>ZZ</td>
      <td>WARNER GARY</td>
      <td>R.D. 1, PO BOX 88</td>
      <td>NaN</td>
      <td>PORT CRANE</td>
      <td>NY</td>
      <td>NaN</td>
    </tr>
    <tr>
      <th>82606</th>
      <td>NaN</td>
      <td>NaN</td>
      <td>methylene chloride</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
    </tr>
    <tr>
      <th>82607</th>
      <td>NaN</td>
      <td>TETRACHLOROETHYLENE</td>
      <td>tetrachloroethene (PCE)</td>
      <td>NaN</td>
      <td>NEST EQUITIES, INC.</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>ZZ</td>
      <td>Audie Kranz and Wilbur Kranz</td>
      <td>700-712 Main Street</td>
      <td>NaN</td>
      <td>Westbury</td>
      <td>NY</td>
      <td>11590</td>
    </tr>
    <tr>
      <th>82608</th>
      <td>NaN</td>
      <td>DICHLOROETHYLENE, XYLENE, STYRENE,</td>
      <td>styrene</td>
      <td>NaN</td>
      <td>TRI-CITY BARREL COMPANY, INC.</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>ZZ</td>
      <td>WARNER GARY</td>
      <td>R.D. 1, PO BOX 88</td>
      <td>NaN</td>
      <td>PORT CRANE</td>
      <td>NY</td>
      <td>NaN</td>
    </tr>
    <tr>
      <th>82609</th>
      <td>NaN</td>
      <td>NaN</td>
      <td>trans-1,2-dichloroethene</td>
      <td>NaN</td>
      <td>bendix corporation</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NaN</td>
      <td>NY</td>
      <td>joseph m bianchi</td>
      <td>40-60 Delaware Avenue</td>
      <td>NaN</td>
      <td>Sidney</td>
      <td>NY</td>
      <td>13838</td>
    </tr>
  </tbody>
</table>
<p>82610 rows × 16 columns</p>
</div>




```python
data = data.drop(null_columns, axis=1)
```


```python
unneeded_columns = [
    'Program Number', 
    'Project Name', 
    'Program Facility Name', 
    'Address1', 
    'Locality', 
    'ZIPCode', 
    'SWIS Code', 
    'Owner Name',
    'Owner Address1', 
    'Owner City', 
    'Owner State', 
    'Owner ZIP',
    'Georeference',
]

data = data.drop(unneeded_columns, axis=1)
```


```python
data
```




<div>
<style scoped>
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>Program Type</th>
      <th>Site Class</th>
      <th>County</th>
      <th>DEC Region</th>
      <th>Latitude</th>
      <th>Longitude</th>
      <th>Control Code</th>
      <th>Control Type</th>
      <th>OU</th>
      <th>Project Completion Date</th>
      <th>NYS Municipal Boundaries 2</th>
      <th>New York Zip Codes 2</th>
      <th>Counties 2</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>0</th>
      <td>BCP</td>
      <td>C</td>
      <td>Queens</td>
      <td>2</td>
      <td>40.768000</td>
      <td>-73.935028</td>
      <td>Environmental Easement</td>
      <td>Environmental Easement</td>
      <td>01</td>
      <td>2016-09-12T00:00:00.000</td>
      <td>196</td>
      <td>878.0</td>
      <td>2137.0</td>
    </tr>
    <tr>
      <th>1</th>
      <td>ERP</td>
      <td>A</td>
      <td>Oneida</td>
      <td>6</td>
      <td>43.204978</td>
      <td>-75.434194</td>
      <td>Environmental Easement</td>
      <td>Environmental Easement</td>
      <td>01</td>
      <td>2018-03-01T00:00:00.000</td>
      <td>989</td>
      <td>1366.0</td>
      <td>625.0</td>
    </tr>
    <tr>
      <th>2</th>
      <td>BCP</td>
      <td>C</td>
      <td>Erie</td>
      <td>9</td>
      <td>42.943614</td>
      <td>-78.885092</td>
      <td>Environmental Easement</td>
      <td>Environmental Easement</td>
      <td>01</td>
      <td>2018-12-12T00:00:00.000</td>
      <td>300</td>
      <td>63.0</td>
      <td>2041.0</td>
    </tr>
    <tr>
      <th>3</th>
      <td>BCP</td>
      <td>A</td>
      <td>Monroe</td>
      <td>8</td>
      <td>43.084683</td>
      <td>-77.610928</td>
      <td>Environmental Easement</td>
      <td>Environmental Easement</td>
      <td>01</td>
      <td>2020-12-31T00:00:00.000</td>
      <td>546</td>
      <td>1682.0</td>
      <td>2093.0</td>
    </tr>
    <tr>
      <th>4</th>
      <td>VCP</td>
      <td>C</td>
      <td>Kings</td>
      <td>2</td>
      <td>40.683078</td>
      <td>-73.922924</td>
      <td>Deed Restriction</td>
      <td>Deed Restriction</td>
      <td>01A</td>
      <td>2008-06-11T00:00:00.000</td>
      <td>894</td>
      <td>816.0</td>
      <td>2090.0</td>
    </tr>
    <tr>
      <th>...</th>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
    </tr>
    <tr>
      <th>82605</th>
      <td>HW</td>
      <td>04</td>
      <td>Broome</td>
      <td>7</td>
      <td>42.158504</td>
      <td>-75.811645</td>
      <td>Other Controls</td>
      <td>Other Controls</td>
      <td>01</td>
      <td>2003-01-16T00:00:00.000</td>
      <td>945</td>
      <td>453.0</td>
      <td>2033.0</td>
    </tr>
    <tr>
      <th>82606</th>
      <td>BCP</td>
      <td>C</td>
      <td>Kings</td>
      <td>2</td>
      <td>40.671538</td>
      <td>-74.011473</td>
      <td>Environmental Easement</td>
      <td>Environmental Easement</td>
      <td>01</td>
      <td>2006-03-31T00:00:00.000</td>
      <td>894</td>
      <td>814.0</td>
      <td>2090.0</td>
    </tr>
    <tr>
      <th>82607</th>
      <td>HW</td>
      <td>04</td>
      <td>Nassau</td>
      <td>1</td>
      <td>40.756999</td>
      <td>-73.556776</td>
      <td>Decision Document</td>
      <td>Decision Document</td>
      <td>01</td>
      <td>2003-03-19T00:00:00.000</td>
      <td>60</td>
      <td>997.0</td>
      <td>2094.0</td>
    </tr>
    <tr>
      <th>82608</th>
      <td>HW</td>
      <td>04</td>
      <td>Broome</td>
      <td>7</td>
      <td>42.158504</td>
      <td>-75.811645</td>
      <td>Deed Restriction</td>
      <td>Deed Restriction</td>
      <td>01</td>
      <td>2000-03-31T00:00:00.000</td>
      <td>945</td>
      <td>453.0</td>
      <td>2033.0</td>
    </tr>
    <tr>
      <th>82609</th>
      <td>HW</td>
      <td>02</td>
      <td>Delaware</td>
      <td>4</td>
      <td>42.307482</td>
      <td>-75.399926</td>
      <td>Deed Restriction</td>
      <td>Deed Restriction</td>
      <td>01</td>
      <td>1987-11-01T00:00:00.000</td>
      <td>558</td>
      <td>456.0</td>
      <td>2039.0</td>
    </tr>
  </tbody>
</table>
<p>82610 rows × 13 columns</p>
</div>




```python
def get_uniques(df, columns):
    return {column: list(df[column].unique()) for column in columns}

def get_categorical_columns(df):
    return [column for column in df.columns if df.dtypes[column] == 'object']
```


```python
get_uniques(data, get_categorical_columns(data))
```




    {'Control Code': ['Environmental Easement',
      'Deed Restriction',
      'Environmental Notice',
      'Other Controls',
      'Decision Document'],
     'Control Type': ['Environmental Easement',
      'Deed Restriction',
      'Environmental Notice',
      'Other Controls',
      'Decision Document'],
     'County': ['Queens',
      'Oneida',
      'Erie',
      'Monroe',
      'Kings',
      'Bronx',
      'Cattaraugus',
      'Schenectady',
      'Broome',
      'Franklin',
      'Onondaga',
      'Delaware',
      'Richmond',
      'Nassau',
      'Dutchess',
      'Westchester',
      'Chenango',
      'Niagara',
      'New York',
      'Ulster',
      'Orleans',
      'Chemung',
      'Lewis',
      'Ontario',
      'Montgomery',
      'Herkimer',
      'Wayne',
      'Saratoga',
      'Rockland',
      'Jefferson',
      'Suffolk',
      'Washington',
      'Orange',
      'Rensselaer',
      'Oswego',
      'Fulton',
      'Albany',
      'Clinton',
      'St Lawrence',
      'Seneca',
      'Cayuga',
      'Chautauqua',
      'Tompkins',
      'Genesee',
      'Tioga',
      'Putnam',
      'Madison',
      'Greene',
      'Yates',
      'Sullivan',
      'Allegany',
      'Warren',
      'Schoharie',
      'Livingston',
      'Steuben',
      'Cortland',
      'Wyoming',
      'Columbia',
      'Schuyler',
      'Otsego',
      'Essex'],
     'OU': ['01',
      '01A',
      '02',
      '03',
      '04B',
      '00',
      '05',
      '09',
      '12',
      '21',
      '11',
      '16',
      '17',
      '04',
      '06',
      '01B',
      '02A',
      '01C',
      '01E',
      '05A',
      '03A',
      '06A',
      '04A',
      '03B',
      '02B',
      '04C',
      '07',
      '04D',
      '03C',
      '01H',
      '01J',
      '01F',
      '01D',
      '01K',
      '08',
      '01a',
      '02C',
      '18',
      '20',
      '14',
      '25',
      '15',
      '13',
      '19',
      '42'],
     'Program Type': ['BCP', 'ERP', 'VCP', 'HW', 'RCRA'],
     'Project Completion Date': ['2016-09-12T00:00:00.000',
      '2018-03-01T00:00:00.000',
      '2018-12-12T00:00:00.000',
      '2020-12-31T00:00:00.000',
      '2008-06-11T00:00:00.000',
      '2011-08-16T00:00:00.000',
      '2016-11-30T00:00:00.000',
      '2014-03-19T00:00:00.000',
      '2012-04-10T00:00:00.000',
      '2021-07-31T00:00:00.000',
      '2010-03-17T00:00:00.000',
      '2000-03-27T00:00:00.000',
      '1991-08-01T00:00:00.000',
      nan,
      '1999-03-01T00:00:00.000',
      '2000-12-22T00:00:00.000',
      '2007-07-30T00:00:00.000',
      '2001-05-04T00:00:00.000',
      '2014-10-30T00:00:00.000',
      '2012-11-16T00:00:00.000',
      '2008-01-10T00:00:00.000',
      '1995-09-01T00:00:00.000',
      '2014-05-14T00:00:00.000',
      '2020-05-29T00:00:00.000',
      '1990-10-01T00:00:00.000',
      '2005-10-27T00:00:00.000',
      '2022-06-30T00:00:00.000',
      '2010-09-30T00:00:00.000',
      '2011-03-15T00:00:00.000',
      '2003-09-25T00:00:00.000',
      '2003-09-30T00:00:00.000',
      '2016-12-20T00:00:00.000',
      '1993-03-01T00:00:00.000',
      '2003-09-04T00:00:00.000',
      '2019-12-31T00:00:00.000',
      '2016-12-21T00:00:00.000',
      '2002-03-26T00:00:00.000',
      '2021-08-31T00:00:00.000',
      '2015-03-20T00:00:00.000',
      '2018-02-21T00:00:00.000',
      '2002-03-19T00:00:00.000',
      '2014-10-15T00:00:00.000',
      '2001-03-26T00:00:00.000',
      '2012-07-03T00:00:00.000',
      '2011-03-29T00:00:00.000',
      '1994-09-01T00:00:00.000',
      '2006-12-26T00:00:00.000',
      '1987-01-01T00:00:00.000',
      '2021-08-30T00:00:00.000',
      '2021-02-05T00:00:00.000',
      '2014-03-31T00:00:00.000',
      '2018-02-12T00:00:00.000',
      '2020-10-31T00:00:00.000',
      '2011-05-13T00:00:00.000',
      '2019-05-08T00:00:00.000',
      '2018-07-12T00:00:00.000',
      '2021-10-31T00:00:00.000',
      '1989-10-01T00:00:00.000',
      '2021-06-30T00:00:00.000',
      '2001-09-14T00:00:00.000',
      '2021-04-30T00:00:00.000',
      '2007-07-09T00:00:00.000',
      '2009-12-04T00:00:00.000',
      '1991-12-01T00:00:00.000',
      '2017-07-12T00:00:00.000',
      '1995-02-01T00:00:00.000',
      '1998-06-17T00:00:00.000',
      '1991-11-01T00:00:00.000',
      '2007-03-30T00:00:00.000',
      '2009-03-25T00:00:00.000',
      '2010-03-30T00:00:00.000',
      '2014-09-02T00:00:00.000',
      '2002-11-12T00:00:00.000',
      '2021-12-31T00:00:00.000',
      '1999-01-01T00:00:00.000',
      '2018-07-23T00:00:00.000',
      '2001-04-01T00:00:00.000',
      '1992-09-01T00:00:00.000',
      '1988-01-01T00:00:00.000',
      '2021-03-01T00:00:00.000',
      '2014-04-11T00:00:00.000',
      '2007-04-30T00:00:00.000',
      '2002-08-19T00:00:00.000',
      '2021-05-31T00:00:00.000',
      '2011-03-31T00:00:00.000',
      '2021-11-30T00:00:00.000',
      '2016-03-25T00:00:00.000',
      '2011-10-12T00:00:00.000',
      '1995-07-01T00:00:00.000',
      '2004-05-18T00:00:00.000',
      '2004-03-30T00:00:00.000',
      '2003-11-14T00:00:00.000',
      '1998-03-01T00:00:00.000',
      '1995-06-01T00:00:00.000',
      '2014-12-01T00:00:00.000',
      '2008-09-02T00:00:00.000',
      '2005-11-25T00:00:00.000',
      '2002-12-31T00:00:00.000',
      '2008-12-29T00:00:00.000',
      '2021-10-29T00:00:00.000',
      '2008-03-31T00:00:00.000',
      '2008-04-29T00:00:00.000',
      '2006-10-17T00:00:00.000',
      '2007-01-31T00:00:00.000',
      '2021-01-29T00:00:00.000',
      '2016-10-28T00:00:00.000',
      '2001-10-20T00:00:00.000',
      '2008-03-28T00:00:00.000',
      '2012-02-07T00:00:00.000',
      '2018-03-31T00:00:00.000',
      '2021-05-30T00:00:00.000',
      '2010-09-17T00:00:00.000',
      '2007-12-11T00:00:00.000',
      '1997-07-01T00:00:00.000',
      '2003-01-21T00:00:00.000',
      '2013-04-30T00:00:00.000',
      '2009-03-31T00:00:00.000',
      '2014-12-22T00:00:00.000',
      '2016-08-16T00:00:00.000',
      '2003-11-20T00:00:00.000',
      '2011-06-15T00:00:00.000',
      '1991-09-01T00:00:00.000',
      '2007-05-03T00:00:00.000',
      '2000-05-30T00:00:00.000',
      '2016-03-31T00:00:00.000',
      '1998-06-01T00:00:00.000',
      '2015-11-20T00:00:00.000',
      '2019-09-27T00:00:00.000',
      '2008-03-21T00:00:00.000',
      '2015-09-30T00:00:00.000',
      '1996-08-01T00:00:00.000',
      '1994-03-01T00:00:00.000',
      '1987-02-01T00:00:00.000',
      '2020-09-25T00:00:00.000',
      '2020-08-04T00:00:00.000',
      '2011-12-30T00:00:00.000',
      '2003-12-16T00:00:00.000',
      '2000-06-01T00:00:00.000',
      '2014-07-28T00:00:00.000',
      '2017-06-30T00:00:00.000',
      '2009-08-25T00:00:00.000',
      '2012-11-05T00:00:00.000',
      '2020-05-21T00:00:00.000',
      '1998-10-01T00:00:00.000',
      '2006-03-28T00:00:00.000',
      '2015-11-05T00:00:00.000',
      '2018-12-18T00:00:00.000',
      '1998-12-01T00:00:00.000',
      '2016-02-22T00:00:00.000',
      '2015-04-24T00:00:00.000',
      '2019-12-23T00:00:00.000',
      '2017-11-03T00:00:00.000',
      '2016-12-16T00:00:00.000',
      '2010-07-07T00:00:00.000',
      '2018-09-14T00:00:00.000',
      '2013-04-25T00:00:00.000',
      '2005-03-24T00:00:00.000',
      '2008-02-28T00:00:00.000',
      '2015-12-29T00:00:00.000',
      '2017-08-23T00:00:00.000',
      '2015-10-01T00:00:00.000',
      '2019-09-11T00:00:00.000',
      '2013-01-30T00:00:00.000',
      '1998-01-01T00:00:00.000',
      '2015-01-22T00:00:00.000',
      '2015-11-30T00:00:00.000',
      '1993-08-01T00:00:00.000',
      '2010-09-01T00:00:00.000',
      '2014-12-19T00:00:00.000',
      '2015-02-27T00:00:00.000',
      '2019-03-04T00:00:00.000',
      '2015-03-30T00:00:00.000',
      '2000-03-31T00:00:00.000',
      '2014-05-15T00:00:00.000',
      '2013-01-08T00:00:00.000',
      '2005-03-31T00:00:00.000',
      '2017-03-25T00:00:00.000',
      '2021-09-01T00:00:00.000',
      '1997-08-01T00:00:00.000',
      '2017-09-25T00:00:00.000',
      '1997-03-01T00:00:00.000',
      '1996-02-01T00:00:00.000',
      '2007-12-24T00:00:00.000',
      '2016-04-20T00:00:00.000',
      '2003-12-30T00:00:00.000',
      '2014-04-02T00:00:00.000',
      '2013-02-04T00:00:00.000',
      '2015-06-05T00:00:00.000',
      '2010-01-29T00:00:00.000',
      '2015-11-06T00:00:00.000',
      '2015-05-14T00:00:00.000',
      '2017-12-28T00:00:00.000',
      '2014-10-28T00:00:00.000',
      '2014-03-26T00:00:00.000',
      '2009-03-30T00:00:00.000',
      '2009-11-13T00:00:00.000',
      '2011-03-24T00:00:00.000',
      '2018-05-18T00:00:00.000',
      '2021-03-31T00:00:00.000',
      '1999-08-01T00:00:00.000',
      '1995-03-01T00:00:00.000',
      '2013-08-07T00:00:00.000',
      '2017-11-17T00:00:00.000',
      '1992-03-01T00:00:00.000',
      '2010-03-31T00:00:00.000',
      '2019-12-27T00:00:00.000',
      '2010-10-18T00:00:00.000',
      '2005-11-12T00:00:00.000',
      '1994-07-01T00:00:00.000',
      '2019-05-07T00:00:00.000',
      '2016-08-26T00:00:00.000',
      '1993-12-01T00:00:00.000',
      '1998-02-01T00:00:00.000',
      '2003-03-31T00:00:00.000',
      '2019-12-19T00:00:00.000',
      '2014-11-25T00:00:00.000',
      '2019-02-11T00:00:00.000',
      '2025-12-31T00:00:00.000',
      '2018-10-15T00:00:00.000',
      '2018-11-30T00:00:00.000',
      '2012-01-18T00:00:00.000',
      '2006-03-31T00:00:00.000',
      '2014-06-30T00:00:00.000',
      '2003-11-25T00:00:00.000',
      '2017-04-17T00:00:00.000',
      '2006-03-22T00:00:00.000',
      '2003-01-20T00:00:00.000',
      '2005-07-26T00:00:00.000',
      '2014-10-21T00:00:00.000',
      '2013-12-09T00:00:00.000',
      '2016-07-13T00:00:00.000',
      '2015-11-16T00:00:00.000',
      '1999-04-01T00:00:00.000',
      '2013-09-30T00:00:00.000',
      '2015-06-10T00:00:00.000',
      '2020-05-26T00:00:00.000',
      '2012-12-24T00:00:00.000',
      '2019-09-30T00:00:00.000',
      '2008-01-14T00:00:00.000',
      '1998-08-01T00:00:00.000',
      '2014-06-12T00:00:00.000',
      '2004-03-31T00:00:00.000',
      '2000-11-27T00:00:00.000',
      '2014-12-12T00:00:00.000',
      '2010-10-19T00:00:00.000',
      '2017-12-29T00:00:00.000',
      '2021-09-15T00:00:00.000',
      '2015-11-10T00:00:00.000',
      '2011-11-25T00:00:00.000',
      '1997-12-01T00:00:00.000',
      '1991-03-01T00:00:00.000',
      '2015-04-15T00:00:00.000',
      '1984-12-01T00:00:00.000',
      '2015-12-14T00:00:00.000',
      '2008-12-01T00:00:00.000',
      '2019-12-18T00:00:00.000',
      '2010-09-27T00:00:00.000',
      '2001-05-31T00:00:00.000',
      '1996-03-01T00:00:00.000',
      '2013-09-27T00:00:00.000',
      '2012-08-30T00:00:00.000',
      '2013-04-05T00:00:00.000',
      '2014-04-03T00:00:00.000',
      '2015-09-28T00:00:00.000',
      '2015-07-13T00:00:00.000',
      '2019-01-07T00:00:00.000',
      '2006-12-29T00:00:00.000',
      '2019-01-14T00:00:00.000',
      '2019-12-13T00:00:00.000',
      '2016-12-09T00:00:00.000',
      '1993-03-24T00:00:00.000',
      '2009-11-16T00:00:00.000',
      '2013-05-22T00:00:00.000',
      '2014-07-10T00:00:00.000',
      '1987-05-01T00:00:00.000',
      '2015-05-28T00:00:00.000',
      '2006-04-27T00:00:00.000',
      '2014-12-23T00:00:00.000',
      '2011-09-14T00:00:00.000',
      '2015-10-19T00:00:00.000',
      '2012-10-26T00:00:00.000',
      '2003-12-04T00:00:00.000',
      '2013-03-29T00:00:00.000',
      '2005-01-12T00:00:00.000',
      '2023-09-30T00:00:00.000',
      '2005-08-30T00:00:00.000',
      '2006-10-12T00:00:00.000',
      '1994-12-01T00:00:00.000',
      '2008-04-01T00:00:00.000',
      '2009-01-26T00:00:00.000',
      '2012-12-31T00:00:00.000',
      '2017-08-09T00:00:00.000',
      '2006-05-25T00:00:00.000',
      '2015-09-01T00:00:00.000',
      '2004-03-16T00:00:00.000',
      '2002-03-28T00:00:00.000',
      '2019-01-02T00:00:00.000',
      '2013-08-23T00:00:00.000',
      '2005-09-20T00:00:00.000',
      '2015-03-12T00:00:00.000',
      '2016-03-30T00:00:00.000',
      '2012-03-15T00:00:00.000',
      '2018-10-16T00:00:00.000',
      '2019-01-11T00:00:00.000',
      '2009-05-29T00:00:00.000',
      '2019-08-19T00:00:00.000',
      '2019-10-11T00:00:00.000',
      '2014-08-01T00:00:00.000',
      '2003-08-11T00:00:00.000',
      '2015-12-08T00:00:00.000',
      '2006-12-28T00:00:00.000',
      '2019-12-16T00:00:00.000',
      '2018-03-28T00:00:00.000',
      '2009-04-06T00:00:00.000',
      '2018-08-09T00:00:00.000',
      '2011-03-28T00:00:00.000',
      '2003-01-06T00:00:00.000',
      '2014-03-28T00:00:00.000',
      '2013-12-30T00:00:00.000',
      '2015-07-06T00:00:00.000',
      '2014-03-04T00:00:00.000',
      '2000-03-30T00:00:00.000',
      '2001-09-13T00:00:00.000',
      '2015-11-12T00:00:00.000',
      '2020-05-19T00:00:00.000',
      '2018-12-20T00:00:00.000',
      '2021-01-31T00:00:00.000',
      '2017-03-30T00:00:00.000',
      '2014-10-09T00:00:00.000',
      '1996-11-08T00:00:00.000',
      '2011-08-24T00:00:00.000',
      '2018-12-03T00:00:00.000',
      '1996-09-01T00:00:00.000',
      '2017-02-15T00:00:00.000',
      '2011-09-20T00:00:00.000',
      '2019-05-20T00:00:00.000',
      '2018-11-02T00:00:00.000',
      '2008-12-30T00:00:00.000',
      '1995-01-01T00:00:00.000',
      '2011-07-05T00:00:00.000',
      '2018-05-29T00:00:00.000',
      '2019-12-24T00:00:00.000',
      '2020-11-30T00:00:00.000',
      '2013-12-31T00:00:00.000',
      '2004-03-24T00:00:00.000',
      '1996-10-01T00:00:00.000',
      '2016-11-21T00:00:00.000',
      '1988-05-01T00:00:00.000',
      '2015-12-22T00:00:00.000',
      '2013-11-25T00:00:00.000',
      '2015-05-15T00:00:00.000',
      '1991-07-01T00:00:00.000',
      '2010-12-17T00:00:00.000',
      '2011-10-13T00:00:00.000',
      '2014-07-21T00:00:00.000',
      '2015-10-07T00:00:00.000',
      '2018-06-29T00:00:00.000',
      '2009-07-31T00:00:00.000',
      '2012-02-28T00:00:00.000',
      '2017-08-24T00:00:00.000',
      '1999-08-30T00:00:00.000',
      '2016-12-28T00:00:00.000',
      '1999-10-01T00:00:00.000',
      '2015-01-06T00:00:00.000',
      '2015-06-01T00:00:00.000',
      '2017-10-31T00:00:00.000',
      '2015-02-03T00:00:00.000',
      '2009-02-17T00:00:00.000',
      '2017-10-17T00:00:00.000',
      '1992-04-01T00:00:00.000',
      '1994-10-01T00:00:00.000',
      '2019-04-26T00:00:00.000',
      '2015-01-20T00:00:00.000',
      '2008-08-12T00:00:00.000',
      '2019-08-28T00:00:00.000',
      '2010-03-29T00:00:00.000',
      '2074-04-02T00:00:00.000',
      '2019-10-03T00:00:00.000',
      '2003-01-03T00:00:00.000',
      '2020-05-20T00:00:00.000',
      '2020-12-30T00:00:00.000',
      '2014-09-29T00:00:00.000',
      '2000-05-15T00:00:00.000',
      '1989-09-01T00:00:00.000',
      '2013-12-19T00:00:00.000',
      '2010-06-08T00:00:00.000',
      '2003-08-04T00:00:00.000',
      '1982-01-01T00:00:00.000',
      '2001-08-30T00:00:00.000',
      '2018-06-11T00:00:00.000',
      '2019-08-16T00:00:00.000',
      '2015-12-17T00:00:00.000',
      '2016-01-19T00:00:00.000',
      '2015-04-28T00:00:00.000',
      '2008-11-20T00:00:00.000',
      '1994-11-01T00:00:00.000',
      '2015-12-21T00:00:00.000',
      '2005-05-10T00:00:00.000',
      '1992-10-01T00:00:00.000',
      '2012-12-21T00:00:00.000',
      '2011-09-28T00:00:00.000',
      '2005-03-18T00:00:00.000',
      '2015-03-16T00:00:00.000',
      '2018-03-19T00:00:00.000',
      '2016-12-05T00:00:00.000',
      '1999-09-01T00:00:00.000',
      '2012-12-07T00:00:00.000',
      '1996-07-01T00:00:00.000',
      '2017-12-27T00:00:00.000',
      '2012-05-03T00:00:00.000',
      '2000-08-30T00:00:00.000',
      '2024-12-02T00:00:00.000',
      '2020-09-30T00:00:00.000',
      '2019-03-21T00:00:00.000',
      '2009-11-30T00:00:00.000',
      '1996-01-01T00:00:00.000',
      '2004-08-27T00:00:00.000',
      '2006-09-19T00:00:00.000',
      '2003-10-20T00:00:00.000',
      '2012-06-19T00:00:00.000',
      '2010-06-02T00:00:00.000',
      '1993-02-01T00:00:00.000',
      '1999-07-01T00:00:00.000',
      '2007-12-12T00:00:00.000',
      '2007-03-27T00:00:00.000',
      '2009-01-07T00:00:00.000',
      '2014-09-19T00:00:00.000',
      '1996-12-01T00:00:00.000',
      '2007-02-13T00:00:00.000',
      '2003-06-23T00:00:00.000',
      '2010-12-28T00:00:00.000',
      '2016-11-04T00:00:00.000',
      '2001-06-26T00:00:00.000',
      '2018-12-28T00:00:00.000',
      '2018-10-03T00:00:00.000',
      '2014-04-23T00:00:00.000',
      '2006-02-15T00:00:00.000',
      '1990-09-01T00:00:00.000',
      '1995-12-01T00:00:00.000',
      '2012-12-19T00:00:00.000',
      '2018-03-21T00:00:00.000',
      '2011-10-18T00:00:00.000',
      '2020-06-15T00:00:00.000',
      '2015-12-11T00:00:00.000',
      '2001-06-11T00:00:00.000',
      '1990-03-01T00:00:00.000',
      '2019-03-22T00:00:00.000',
      '2012-07-27T00:00:00.000',
      '1989-03-01T00:00:00.000',
      '2013-09-04T00:00:00.000',
      '2015-06-02T00:00:00.000',
      '2001-12-30T00:00:00.000',
      '2016-07-06T00:00:00.000',
      '2021-07-30T00:00:00.000',
      '2013-03-19T00:00:00.000',
      '2014-12-09T00:00:00.000',
      '2020-06-10T00:00:00.000',
      '2016-03-10T00:00:00.000',
      '2002-03-27T00:00:00.000',
      '2011-02-15T00:00:00.000',
      '2005-06-30T00:00:00.000',
      '2015-12-01T00:00:00.000',
      '2018-12-26T00:00:00.000',
      '2007-12-17T00:00:00.000',
      '2013-11-15T00:00:00.000',
      '2011-06-24T00:00:00.000',
      '1991-10-01T00:00:00.000',
      '2018-02-15T00:00:00.000',
      '2018-03-30T00:00:00.000',
      '2015-05-29T00:00:00.000',
      '1995-10-01T00:00:00.000',
      '2016-01-26T00:00:00.000',
      '2021-05-07T00:00:00.000',
      '1995-11-01T00:00:00.000',
      '2003-08-25T00:00:00.000',
      '2013-05-15T00:00:00.000',
      '1991-01-01T00:00:00.000',
      '2018-06-25T00:00:00.000',
      '2009-03-27T00:00:00.000',
      '2014-12-18T00:00:00.000',
      '2010-07-22T00:00:00.000',
      '2014-05-08T00:00:00.000',
      '2008-03-10T00:00:00.000',
      '2012-12-04T00:00:00.000',
      '2006-05-29T00:00:00.000',
      '2003-09-15T00:00:00.000',
      '2018-03-08T00:00:00.000',
      '2012-04-06T00:00:00.000',
      '2017-09-06T00:00:00.000',
      '2017-11-14T00:00:00.000',
      '2008-04-10T00:00:00.000',
      '2014-06-25T00:00:00.000',
      '2011-01-21T00:00:00.000',
      '2015-12-10T00:00:00.000',
      '2015-02-18T00:00:00.000',
      '1993-06-01T00:00:00.000',
      '2006-03-23T00:00:00.000',
      '2018-06-28T00:00:00.000',
      '2016-05-19T00:00:00.000',
      '2018-06-01T00:00:00.000',
      '2018-05-17T00:00:00.000',
      '2002-11-29T00:00:00.000',
      '2007-09-17T00:00:00.000',
      '2014-11-19T00:00:00.000',
      '2014-08-14T00:00:00.000',
      '2017-04-30T00:00:00.000',
      '2002-03-29T00:00:00.000',
      '2012-03-31T00:00:00.000',
      '1986-01-01T00:00:00.000',
      '2019-01-03T00:00:00.000',
      '2020-10-23T00:00:00.000',
      '1992-01-01T00:00:00.000',
      '2008-09-09T00:00:00.000',
      '2013-10-28T00:00:00.000',
      '2019-03-27T00:00:00.000',
      '2000-06-08T00:00:00.000',
      '2008-12-16T00:00:00.000',
      '2013-10-11T00:00:00.000',
      '2016-11-18T00:00:00.000',
      '2006-12-14T00:00:00.000',
      '2006-10-06T00:00:00.000',
      '2014-12-17T00:00:00.000',
      '2015-03-31T00:00:00.000',
      '2010-10-01T00:00:00.000',
      '1995-08-01T00:00:00.000',
      '2012-12-13T00:00:00.000',
      '2006-12-22T00:00:00.000',
      '2015-03-19T00:00:00.000',
      '2015-08-15T00:00:00.000',
      '2017-08-18T00:00:00.000',
      '2009-06-22T00:00:00.000',
      '2009-08-06T00:00:00.000',
      '2004-04-27T00:00:00.000',
      '2008-08-14T00:00:00.000',
      '2019-11-15T00:00:00.000',
      '2007-03-22T00:00:00.000',
      '1999-06-01T00:00:00.000',
      '2001-11-20T00:00:00.000',
      '2004-11-19T00:00:00.000',
      '2013-05-16T00:00:00.000',
      '2014-09-26T00:00:00.000',
      '2016-11-09T00:00:00.000',
      '1987-09-01T00:00:00.000',
      '2014-12-30T00:00:00.000',
      '2012-09-06T00:00:00.000',
      '2000-02-29T00:00:00.000',
      '2001-03-30T00:00:00.000',
      '2009-01-30T00:00:00.000',
      '2007-03-29T00:00:00.000',
      '2019-12-20T00:00:00.000',
      '2019-03-25T00:00:00.000',
      '2017-09-21T00:00:00.000',
      '2013-05-14T00:00:00.000',
      '2018-08-03T00:00:00.000',
      '2019-11-08T00:00:00.000',
      '2022-03-31T00:00:00.000',
      '2008-03-27T00:00:00.000',
      '2012-03-27T00:00:00.000',
      '2016-02-18T00:00:00.000',
      '2024-09-01T00:00:00.000',
      '2004-03-29T00:00:00.000',
      '2000-03-20T00:00:00.000',
      '2020-04-28T00:00:00.000',
      '2015-12-09T00:00:00.000',
      '2003-03-29T00:00:00.000',
      '2019-12-11T00:00:00.000',
      '2010-01-04T00:00:00.000',
      '2016-12-22T00:00:00.000',
      '2018-03-29T00:00:00.000',
      '2012-03-19T00:00:00.000',
      '2015-06-11T00:00:00.000',
      '2000-10-04T00:00:00.000',
      '2023-03-15T00:00:00.000',
      '2011-12-22T00:00:00.000',
      '2010-11-29T00:00:00.000',
      '2000-06-09T00:00:00.000',
      '2015-12-15T00:00:00.000',
      '2017-02-21T00:00:00.000',
      '2014-03-24T00:00:00.000',
      '2015-03-06T00:00:00.000',
      '2015-04-16T00:00:00.000',
      '2013-09-25T00:00:00.000',
      '2008-05-16T00:00:00.000',
      '2020-08-13T00:00:00.000',
      '1997-11-01T00:00:00.000',
      '2018-04-16T00:00:00.000',
      '2015-12-23T00:00:00.000',
      '2016-12-27T00:00:00.000',
      '2017-05-30T00:00:00.000',
      '2018-04-02T00:00:00.000',
      '2010-03-18T00:00:00.000',
      '2012-11-28T00:00:00.000',
      '2002-12-19T00:00:00.000',
      '1988-03-01T00:00:00.000',
      '2012-01-20T00:00:00.000',
      '2002-11-18T00:00:00.000',
      '2015-03-26T00:00:00.000',
      '2012-03-14T00:00:00.000',
      '2006-10-19T00:00:00.000',
      '2007-07-31T00:00:00.000',
      '2009-12-01T00:00:00.000',
      '2009-07-17T00:00:00.000',
      '2008-05-28T00:00:00.000',
      '2007-12-14T00:00:00.000',
      '2015-06-04T00:00:00.000',
      '2010-01-08T00:00:00.000',
      '2017-08-04T00:00:00.000',
      '2007-06-27T00:00:00.000',
      '2019-04-19T00:00:00.000',
      '2020-10-15T00:00:00.000',
      '2019-10-29T00:00:00.000',
      '2000-07-10T00:00:00.000',
      '2001-06-27T00:00:00.000',
      '1988-08-01T00:00:00.000',
      '2018-11-16T00:00:00.000',
      '1992-07-01T00:00:00.000',
      '2004-09-27T00:00:00.000',
      '2002-01-31T00:00:00.000',
      '1997-09-01T00:00:00.000',
      '2022-12-01T00:00:00.000',
      '2013-02-05T00:00:00.000',
      '2015-05-31T00:00:00.000',
      '2004-03-01T00:00:00.000',
      '1993-04-01T00:00:00.000',
      '2011-09-30T00:00:00.000',
      '2018-01-24T00:00:00.000',
      '2018-08-10T00:00:00.000',
      '2011-09-09T00:00:00.000',
      '2015-05-27T00:00:00.000',
      '2013-02-25T00:00:00.000',
      '2000-11-29T00:00:00.000',
      '2011-02-14T00:00:00.000',
      '1994-05-01T00:00:00.000',
      '2012-03-30T00:00:00.000',
      '2004-04-14T00:00:00.000',
      '2022-09-16T00:00:00.000',
      '2016-12-13T00:00:00.000',
      '2006-09-05T00:00:00.000',
      '1988-07-01T00:00:00.000',
      '2018-11-15T00:00:00.000',
      '2010-12-22T00:00:00.000',
      '2018-09-25T00:00:00.000',
      '2004-04-04T00:00:00.000',
      '2014-09-18T00:00:00.000',
      '1998-05-01T00:00:00.000',
      '2013-10-18T00:00:00.000',
      '2000-02-25T00:00:00.000',
      '2017-03-01T00:00:00.000',
      '2016-01-07T00:00:00.000',
      '2015-09-15T00:00:00.000',
      '2003-09-12T00:00:00.000',
      '2006-07-27T00:00:00.000',
      '2019-07-26T00:00:00.000',
      '2015-08-03T00:00:00.000',
      '2000-11-09T00:00:00.000',
      '2011-03-30T00:00:00.000',
      '2002-12-30T00:00:00.000',
      '1981-01-01T00:00:00.000',
      '2004-12-31T00:00:00.000',
      '2008-02-13T00:00:00.000',
      '2007-05-01T00:00:00.000',
      '2017-11-16T00:00:00.000',
      '2016-05-24T00:00:00.000',
      '2000-10-02T00:00:00.000',
      '2014-07-24T00:00:00.000',
      '2003-04-09T00:00:00.000',
      '2009-06-02T00:00:00.000',
      '2009-10-27T00:00:00.000',
      '2014-06-03T00:00:00.000',
      '2019-06-12T00:00:00.000',
      '2007-04-27T00:00:00.000',
      '2004-06-28T00:00:00.000',
      '2002-02-05T00:00:00.000',
      '2008-03-05T00:00:00.000',
      '1997-10-01T00:00:00.000',
      '2004-12-20T00:00:00.000',
      '2019-09-19T00:00:00.000',
      '2008-12-11T00:00:00.000',
      '2002-03-25T00:00:00.000',
      '2004-07-30T00:00:00.000',
      '2008-12-31T00:00:00.000',
      '2008-09-25T00:00:00.000',
      '2011-07-06T00:00:00.000',
      '1999-03-15T00:00:00.000',
      '2010-12-13T00:00:00.000',
      '2010-07-14T00:00:00.000',
      '2021-09-02T00:00:00.000',
      '2011-11-18T00:00:00.000',
      '2020-07-27T00:00:00.000',
      '2002-05-22T00:00:00.000',
      '2009-01-16T00:00:00.000',
      '2018-12-14T00:00:00.000',
      '2003-07-03T00:00:00.000',
      '2010-05-24T00:00:00.000',
      '1999-07-21T00:00:00.000',
      '2017-05-25T00:00:00.000',
      '1998-06-30T00:00:00.000',
      '2004-06-01T00:00:00.000',
      '2005-12-22T00:00:00.000',
      '2002-09-24T00:00:00.000',
      '2003-06-30T00:00:00.000',
      '2012-06-14T00:00:00.000',
      '2007-08-27T00:00:00.000',
      '2000-10-06T00:00:00.000',
      '2020-08-06T00:00:00.000',
      '1992-11-01T00:00:00.000',
      '2006-01-17T00:00:00.000',
      '2011-06-23T00:00:00.000',
      '2016-03-23T00:00:00.000',
      '2008-05-29T00:00:00.000',
      '1993-01-01T00:00:00.000',
      '2008-07-17T00:00:00.000',
      '2001-10-22T00:00:00.000',
      '2014-05-20T00:00:00.000',
      '2001-08-15T00:00:00.000',
      '2010-05-03T00:00:00.000',
      '2014-03-06T00:00:00.000',
      '2012-04-04T00:00:00.000',
      '2013-03-12T00:00:00.000',
      '2006-04-19T00:00:00.000',
      '2016-09-23T00:00:00.000',
      '2000-12-20T00:00:00.000',
      '2012-01-19T00:00:00.000',
      '1992-12-01T00:00:00.000',
      '2017-03-06T00:00:00.000',
      '2013-03-22T00:00:00.000',
      '1988-12-31T00:00:00.000',
      '2014-01-27T00:00:00.000',
      '2007-11-27T00:00:00.000',
      '2004-01-30T00:00:00.000',
      '2012-11-21T00:00:00.000',
      '2010-03-08T00:00:00.000',
      '1986-09-01T00:00:00.000',
      '2003-12-23T00:00:00.000',
      '2016-10-31T00:00:00.000',
      '2012-07-13T00:00:00.000',
      '2012-03-21T00:00:00.000',
      '2000-02-02T00:00:00.000',
      '2011-11-22T00:00:00.000',
      '2018-07-18T00:00:00.000',
      '1998-05-20T00:00:00.000',
      '1998-04-01T00:00:00.000',
      '2006-10-25T00:00:00.000',
      '2012-03-02T00:00:00.000',
      '2008-01-23T00:00:00.000',
      '2002-03-04T00:00:00.000',
      '2011-06-27T00:00:00.000',
      '2007-03-28T00:00:00.000',
      '2011-09-27T00:00:00.000',
      '1999-11-01T00:00:00.000',
      '2000-02-23T00:00:00.000',
      '2024-04-30T00:00:00.000',
      '1991-05-01T00:00:00.000',
      '2005-10-25T00:00:00.000',
      '2013-10-01T00:00:00.000',
      '1999-08-24T00:00:00.000',
      '2003-08-05T00:00:00.000',
      '2015-03-25T00:00:00.000',
      '2015-07-08T00:00:00.000',
      '2006-08-08T00:00:00.000',
      '1995-04-01T00:00:00.000',
      '2012-02-02T00:00:00.000',
      '2015-01-16T00:00:00.000',
      '2017-03-31T00:00:00.000',
      '2000-10-30T00:00:00.000',
      '2002-11-27T00:00:00.000',
      '1996-11-01T00:00:00.000',
      '2011-12-19T00:00:00.000',
      '2010-07-12T00:00:00.000',
      '2010-12-06T00:00:00.000',
      '2001-06-15T00:00:00.000',
      '2006-04-14T00:00:00.000',
      '2000-09-28T00:00:00.000',
      '2013-11-13T00:00:00.000',
      '2013-08-14T00:00:00.000',
      '2018-03-13T00:00:00.000',
      '2017-07-07T00:00:00.000',
      '2007-08-13T00:00:00.000',
      '2012-12-11T00:00:00.000',
      '2000-02-01T00:00:00.000',
      '2011-08-15T00:00:00.000',
      '2012-07-10T00:00:00.000',
      '2008-01-28T00:00:00.000',
      '2009-02-26T00:00:00.000',
      '2012-06-06T00:00:00.000',
      '2007-10-19T00:00:00.000',
      '2007-12-27T00:00:00.000',
      '2011-06-17T00:00:00.000',
      '2012-03-05T00:00:00.000',
      '2013-02-22T00:00:00.000',
      '2006-10-26T00:00:00.000',
      '2007-12-28T00:00:00.000',
      '2006-09-11T00:00:00.000',
      '2018-04-19T00:00:00.000',
      '2000-09-15T00:00:00.000',
      '2006-06-30T00:00:00.000',
      '1998-12-14T00:00:00.000',
      '2021-03-19T00:00:00.000',
      '2014-12-31T00:00:00.000',
      '2016-10-03T00:00:00.000',
      '2011-02-25T00:00:00.000',
      '2015-09-14T00:00:00.000',
      '2019-03-07T00:00:00.000',
      '2007-02-01T00:00:00.000',
      '2010-03-11T00:00:00.000',
      '2018-06-18T00:00:00.000',
      '2018-07-06T00:00:00.000',
      '2017-11-29T00:00:00.000',
      '2018-08-27T00:00:00.000',
      '2020-07-10T00:00:00.000',
      '2006-08-30T00:00:00.000',
      '2014-12-08T00:00:00.000',
      '2013-06-26T00:00:00.000',
      '2013-10-16T00:00:00.000',
      '2021-02-28T00:00:00.000',
      '1982-02-01T00:00:00.000',
      '2014-08-15T00:00:00.000',
      '2008-07-31T00:00:00.000',
      '2011-07-07T00:00:00.000',
      '2008-09-18T00:00:00.000',
      '1991-06-01T00:00:00.000',
      '2000-12-30T00:00:00.000',
      '2004-07-13T00:00:00.000',
      '2018-12-21T00:00:00.000',
      '1992-02-01T00:00:00.000',
      '2005-12-02T00:00:00.000',
      '2019-12-30T00:00:00.000',
      '2000-03-23T00:00:00.000',
      '2010-10-05T00:00:00.000',
      '2017-08-02T00:00:00.000',
      '2013-03-05T00:00:00.000',
      '2015-08-11T00:00:00.000',
      '2015-09-03T00:00:00.000',
      '2012-03-29T00:00:00.000',
      '1986-06-01T00:00:00.000',
      '2015-10-30T00:00:00.000',
      '2000-10-27T00:00:00.000',
      '1988-12-01T00:00:00.000',
      '2014-08-21T00:00:00.000',
      '1984-11-01T00:00:00.000',
      '2003-03-14T00:00:00.000',
      '2016-06-30T00:00:00.000',
      '2015-09-17T00:00:00.000',
      '2010-06-11T00:00:00.000',
      '1996-05-01T00:00:00.000',
      '2011-04-04T00:00:00.000',
      '2000-09-22T00:00:00.000',
      '2012-10-15T00:00:00.000',
      '2012-09-04T00:00:00.000',
      '2015-04-30T00:00:00.000',
      '2019-12-06T00:00:00.000',
      '2006-08-23T00:00:00.000',
      '2019-12-12T00:00:00.000',
      '2019-09-12T00:00:00.000',
      '2016-09-15T00:00:00.000',
      '2019-11-29T00:00:00.000',
      '2009-05-22T00:00:00.000',
      '2018-10-17T00:00:00.000',
      '2014-12-05T00:00:00.000',
      '2001-06-30T00:00:00.000',
      '1997-05-01T00:00:00.000',
      '2006-03-03T00:00:00.000',
      '2002-06-24T00:00:00.000',
      '2014-01-22T00:00:00.000',
      '2014-04-17T00:00:00.000',
      '2011-09-02T00:00:00.000',
      '2003-02-19T00:00:00.000',
      '2006-08-31T00:00:00.000',
      '1985-12-01T00:00:00.000',
      '2005-09-30T00:00:00.000',
      '2007-07-05T00:00:00.000',
      '1994-01-01T00:00:00.000',
      '2017-05-17T00:00:00.000',
      '2017-01-19T00:00:00.000',
      '2018-04-20T00:00:00.000',
      '2017-08-21T00:00:00.000',
      '2010-03-24T00:00:00.000',
      '2003-12-02T00:00:00.000',
      '2000-06-30T00:00:00.000',
      '2013-10-07T00:00:00.000',
      '2002-05-16T00:00:00.000',
      '2008-09-12T00:00:00.000',
      '2006-07-25T00:00:00.000',
      '2015-04-13T00:00:00.000',
      '2007-12-19T00:00:00.000',
      '2013-09-23T00:00:00.000',
      '1986-12-01T00:00:00.000',
      '2018-08-31T00:00:00.000',
      '2009-10-29T00:00:00.000',
      '2007-12-21T00:00:00.000',
      '1993-05-01T00:00:00.000',
      '2017-12-05T00:00:00.000',
      '1983-03-01T00:00:00.000',
      '2019-10-22T00:00:00.000',
      '2018-02-09T00:00:00.000',
      '2020-07-01T00:00:00.000',
      '1990-11-01T00:00:00.000',
      '2002-05-01T00:00:00.000',
      '2017-05-09T00:00:00.000',
      '2015-09-16T00:00:00.000',
      '2007-02-15T00:00:00.000',
      '2007-02-07T00:00:00.000',
      '2015-06-16T00:00:00.000',
      '2017-10-12T00:00:00.000',
      '2008-06-30T00:00:00.000',
      '1987-10-01T00:00:00.000',
      '2014-03-27T00:00:00.000',
      '2008-09-30T00:00:00.000',
      '2013-01-31T00:00:00.000',
      '2019-07-22T00:00:00.000',
      '2000-09-13T00:00:00.000',
      '2014-09-16T00:00:00.000',
      '1989-07-01T00:00:00.000',
      '2015-11-23T00:00:00.000',
      '2004-08-06T00:00:00.000',
      '2004-03-23T00:00:00.000',
      '2001-03-23T00:00:00.000',
      '2018-07-13T00:00:00.000',
      '2001-12-18T00:00:00.000',
      '1998-09-01T00:00:00.000',
      '2022-07-31T00:00:00.000',
      '2004-09-30T00:00:00.000',
      '2017-03-09T00:00:00.000',
      '2019-04-02T00:00:00.000',
      '1991-02-01T00:00:00.000',
      '2013-09-13T00:00:00.000',
      '2011-06-03T00:00:00.000',
      '2005-11-03T00:00:00.000',
      '2015-11-24T00:00:00.000',
      '2011-10-04T00:00:00.000',
      '2017-10-19T00:00:00.000',
      '2020-12-23T00:00:00.000',
      '2014-03-20T00:00:00.000',
      '2009-10-22T00:00:00.000',
      '1998-01-21T00:00:00.000',
      '2014-11-18T00:00:00.000',
      '2006-01-09T00:00:00.000',
      '2011-03-04T00:00:00.000',
      '2006-10-04T00:00:00.000',
      '2014-09-04T00:00:00.000',
      '2015-01-07T00:00:00.000',
      '2016-07-21T00:00:00.000',
      '2009-11-05T00:00:00.000',
      '2012-12-12T00:00:00.000',
      '2013-05-02T00:00:00.000',
      '2007-02-12T00:00:00.000',
      '2007-03-21T00:00:00.000',
      '2012-09-24T00:00:00.000',
      '2012-12-18T00:00:00.000',
      '2015-08-27T00:00:00.000',
      '2008-02-22T00:00:00.000',
      '2012-02-17T00:00:00.000',
      '2009-07-07T00:00:00.000',
      '1989-01-01T00:00:00.000',
      '2016-06-24T00:00:00.000',
      '2000-01-12T00:00:00.000',
      '1986-12-31T00:00:00.000',
      '1987-12-01T00:00:00.000',
      '2009-09-25T00:00:00.000',
      '2016-12-29T00:00:00.000',
      '2018-02-20T00:00:00.000',
      '1999-02-25T00:00:00.000',
      '2005-07-28T00:00:00.000',
      '2002-09-30T00:00:00.000',
      '2018-02-23T00:00:00.000',
      '2006-06-28T00:00:00.000',
      '2010-05-25T00:00:00.000',
      '2016-10-24T00:00:00.000',
      '2009-11-10T00:00:00.000',
      '2015-06-30T00:00:00.000',
      '2012-06-08T00:00:00.000',
      '2013-01-04T00:00:00.000',
      '2003-04-15T00:00:00.000',
      '2014-06-20T00:00:00.000',
      '2018-11-21T00:00:00.000',
      '2010-10-15T00:00:00.000',
      '2014-04-18T00:00:00.000',
      '2018-07-02T00:00:00.000',
      '1999-03-30T00:00:00.000',
      '2012-10-10T00:00:00.000',
      '2024-09-15T00:00:00.000',
      '2006-12-07T00:00:00.000',
      '2017-10-06T00:00:00.000',
      '1990-01-01T00:00:00.000',
      '1998-07-01T00:00:00.000',
      '1996-06-01T00:00:00.000',
      '2008-02-27T00:00:00.000',
      '2007-10-03T00:00:00.000',
      '2019-09-06T00:00:00.000',
      '2017-09-29T00:00:00.000',
      '2012-09-28T00:00:00.000',
      '2015-07-31T00:00:00.000',
      '2021-01-01T00:00:00.000',
      '2010-02-24T00:00:00.000',
      '2015-10-31T00:00:00.000',
      '2010-08-30T00:00:00.000',
      '2006-11-28T00:00:00.000',
      '2001-09-17T00:00:00.000',
      '2014-04-08T00:00:00.000',
      '2025-03-31T00:00:00.000',
      ...],
     'Site Class': ['C', 'A', '04', '02', 'N', 'P', '03']}




```python
data['Project Completion Date'] = data['Project Completion Date'].apply(lambda x: x[0:7] if str(x) != 'nan' else x)
```


```python
data['Year'] = data['Project Completion Date'].apply(lambda x: np.float(x[0:4]) if str(x) != 'nan' else x)
data['Month'] = data['Project Completion Date'].apply(lambda x: np.float(x[5:7]) if str(x) != 'nan' else x)

data = data.drop('Project Completion Date', axis=1)
```


```python
for column in ['New York Zip Codes 2', 'Year', 'Month', 'Counties 2']:
    data[column] = data[column].fillna(data[column].mean())
```


```python
data.isna().sum()
```




    Program Type                  0
    Site Class                    0
    County                        0
    DEC Region                    0
    Latitude                      0
    Longitude                     0
    Control Code                  0
    Control Type                  0
    OU                            0
    NYS Municipal Boundaries 2    0
    New York Zip Codes 2          0
    Counties 2                    0
    Year                          0
    Month                         0
    dtype: int64



# エンコード


```python
def onehot_encode(df, column):
    df = df.copy()
    dummies = pd.get_dummies(df[column])
    df = pd.concat([df, dummies], axis=1)
    df = df.drop(column, axis=1)
    return df
```


```python
get_categorical_columns(data)
```




    ['Program Type', 'Site Class', 'County', 'Control Code', 'Control Type', 'OU']




```python
nominal_features = get_categorical_columns(data)
nominal_features.remove('Program Type')

for feature in nominal_features:
    data = onehot_encode(data, feature)
```


```python
label_encoder = sp.LabelEncoder()
data['Program Type'] = label_encoder.fit_transform(data['Program Type'])
target_mapppings = {index: column for index, column in enumerate(label_encoder.classes_)}
target_mapppings
```




    {0: 'BCP', 1: 'ERP', 2: 'HW', 3: 'RCRA', 4: 'VCP'}



# データの分割とスケーリング


```python
X
```




<div>
<style scoped>
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>DEC Region</th>
      <th>Latitude</th>
      <th>Longitude</th>
      <th>NYS Municipal Boundaries 2</th>
      <th>New York Zip Codes 2</th>
      <th>Counties 2</th>
      <th>Year</th>
      <th>Month</th>
      <th>02</th>
      <th>03</th>
      <th>04</th>
      <th>A</th>
      <th>C</th>
      <th>N</th>
      <th>P</th>
      <th>Albany</th>
      <th>Allegany</th>
      <th>Bronx</th>
      <th>Broome</th>
      <th>Cattaraugus</th>
      <th>Cayuga</th>
      <th>Chautauqua</th>
      <th>Chemung</th>
      <th>Chenango</th>
      <th>Clinton</th>
      <th>Columbia</th>
      <th>Cortland</th>
      <th>Delaware</th>
      <th>Dutchess</th>
      <th>Erie</th>
      <th>Essex</th>
      <th>Franklin</th>
      <th>Fulton</th>
      <th>Genesee</th>
      <th>Greene</th>
      <th>Herkimer</th>
      <th>Jefferson</th>
      <th>Kings</th>
      <th>Lewis</th>
      <th>Livingston</th>
      <th>...</th>
      <th>01D</th>
      <th>01E</th>
      <th>01F</th>
      <th>01H</th>
      <th>01J</th>
      <th>01K</th>
      <th>01a</th>
      <th>02</th>
      <th>02A</th>
      <th>02B</th>
      <th>02C</th>
      <th>03</th>
      <th>03A</th>
      <th>03B</th>
      <th>03C</th>
      <th>04</th>
      <th>04A</th>
      <th>04B</th>
      <th>04C</th>
      <th>04D</th>
      <th>05</th>
      <th>05A</th>
      <th>06</th>
      <th>06A</th>
      <th>07</th>
      <th>08</th>
      <th>09</th>
      <th>11</th>
      <th>12</th>
      <th>13</th>
      <th>14</th>
      <th>15</th>
      <th>16</th>
      <th>17</th>
      <th>18</th>
      <th>19</th>
      <th>20</th>
      <th>21</th>
      <th>25</th>
      <th>42</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>0</th>
      <td>-0.748714</td>
      <td>-0.963589</td>
      <td>0.637439</td>
      <td>-0.689064</td>
      <td>0.093366</td>
      <td>0.314497</td>
      <td>1.002552</td>
      <td>0.535128</td>
      <td>-0.625374</td>
      <td>-0.020588</td>
      <td>-0.492479</td>
      <td>-0.233580</td>
      <td>1.819035</td>
      <td>-0.094942</td>
      <td>-0.547296</td>
      <td>-0.097821</td>
      <td>-0.067979</td>
      <td>-0.156868</td>
      <td>-0.139954</td>
      <td>-0.081267</td>
      <td>-0.049016</td>
      <td>-0.07772</td>
      <td>-0.079897</td>
      <td>-0.042793</td>
      <td>-0.047504</td>
      <td>-0.075805</td>
      <td>-0.072589</td>
      <td>-0.062163</td>
      <td>-0.166678</td>
      <td>-0.251353</td>
      <td>-0.017047</td>
      <td>-0.015167</td>
      <td>-0.060473</td>
      <td>-0.025337</td>
      <td>-0.038141</td>
      <td>-0.082093</td>
      <td>-0.061967</td>
      <td>-0.175413</td>
      <td>-0.013918</td>
      <td>-0.059045</td>
      <td>...</td>
      <td>-0.015167</td>
      <td>-0.012546</td>
      <td>-0.006959</td>
      <td>-0.009841</td>
      <td>-0.009841</td>
      <td>-0.006959</td>
      <td>-0.00492</td>
      <td>-0.186021</td>
      <td>-0.024609</td>
      <td>-0.012053</td>
      <td>-0.00492</td>
      <td>-0.138008</td>
      <td>-0.020291</td>
      <td>-0.008523</td>
      <td>-0.00492</td>
      <td>-0.087171</td>
      <td>-0.006026</td>
      <td>-0.00492</td>
      <td>-0.00492</td>
      <td>-0.00492</td>
      <td>-0.055972</td>
      <td>-0.006026</td>
      <td>-0.072673</td>
      <td>-0.006026</td>
      <td>-0.047504</td>
      <td>-0.058318</td>
      <td>-0.065041</td>
      <td>-0.093767</td>
      <td>-0.038141</td>
      <td>-0.04673</td>
      <td>-0.058318</td>
      <td>-0.044052</td>
      <td>-0.064286</td>
      <td>-0.144079</td>
      <td>-0.04673</td>
      <td>-0.02696</td>
      <td>-0.044052</td>
      <td>-0.115094</td>
      <td>-0.031134</td>
      <td>-0.015561</td>
    </tr>
    <tr>
      <th>1</th>
      <td>0.533197</td>
      <td>1.277122</td>
      <td>-0.140194</td>
      <td>1.777746</td>
      <td>1.188601</td>
      <td>-4.472172</td>
      <td>1.219252</td>
      <td>-1.042891</td>
      <td>-0.625374</td>
      <td>-0.020588</td>
      <td>-0.492479</td>
      <td>4.281179</td>
      <td>-0.549742</td>
      <td>-0.094942</td>
      <td>-0.547296</td>
      <td>-0.097821</td>
      <td>-0.067979</td>
      <td>-0.156868</td>
      <td>-0.139954</td>
      <td>-0.081267</td>
      <td>-0.049016</td>
      <td>-0.07772</td>
      <td>-0.079897</td>
      <td>-0.042793</td>
      <td>-0.047504</td>
      <td>-0.075805</td>
      <td>-0.072589</td>
      <td>-0.062163</td>
      <td>-0.166678</td>
      <td>-0.251353</td>
      <td>-0.017047</td>
      <td>-0.015167</td>
      <td>-0.060473</td>
      <td>-0.025337</td>
      <td>-0.038141</td>
      <td>-0.082093</td>
      <td>-0.061967</td>
      <td>-0.175413</td>
      <td>-0.013918</td>
      <td>-0.059045</td>
      <td>...</td>
      <td>-0.015167</td>
      <td>-0.012546</td>
      <td>-0.006959</td>
      <td>-0.009841</td>
      <td>-0.009841</td>
      <td>-0.006959</td>
      <td>-0.00492</td>
      <td>-0.186021</td>
      <td>-0.024609</td>
      <td>-0.012053</td>
      <td>-0.00492</td>
      <td>-0.138008</td>
      <td>-0.020291</td>
      <td>-0.008523</td>
      <td>-0.00492</td>
      <td>-0.087171</td>
      <td>-0.006026</td>
      <td>-0.00492</td>
      <td>-0.00492</td>
      <td>-0.00492</td>
      <td>-0.055972</td>
      <td>-0.006026</td>
      <td>-0.072673</td>
      <td>-0.006026</td>
      <td>-0.047504</td>
      <td>-0.058318</td>
      <td>-0.065041</td>
      <td>-0.093767</td>
      <td>-0.038141</td>
      <td>-0.04673</td>
      <td>-0.058318</td>
      <td>-0.044052</td>
      <td>-0.064286</td>
      <td>-0.144079</td>
      <td>-0.04673</td>
      <td>-0.02696</td>
      <td>-0.044052</td>
      <td>-0.115094</td>
      <td>-0.031134</td>
      <td>-0.015561</td>
    </tr>
    <tr>
      <th>2</th>
      <td>1.494630</td>
      <td>1.036807</td>
      <td>-1.930211</td>
      <td>-0.365548</td>
      <td>-1.735766</td>
      <td>0.010582</td>
      <td>1.219252</td>
      <td>1.324138</td>
      <td>-0.625374</td>
      <td>-0.020588</td>
      <td>-0.492479</td>
      <td>-0.233580</td>
      <td>1.819035</td>
      <td>-0.094942</td>
      <td>-0.547296</td>
      <td>-0.097821</td>
      <td>-0.067979</td>
      <td>-0.156868</td>
      <td>-0.139954</td>
      <td>-0.081267</td>
      <td>-0.049016</td>
      <td>-0.07772</td>
      <td>-0.079897</td>
      <td>-0.042793</td>
      <td>-0.047504</td>
      <td>-0.075805</td>
      <td>-0.072589</td>
      <td>-0.062163</td>
      <td>-0.166678</td>
      <td>3.978476</td>
      <td>-0.017047</td>
      <td>-0.015167</td>
      <td>-0.060473</td>
      <td>-0.025337</td>
      <td>-0.038141</td>
      <td>-0.082093</td>
      <td>-0.061967</td>
      <td>-0.175413</td>
      <td>-0.013918</td>
      <td>-0.059045</td>
      <td>...</td>
      <td>-0.015167</td>
      <td>-0.012546</td>
      <td>-0.006959</td>
      <td>-0.009841</td>
      <td>-0.009841</td>
      <td>-0.006959</td>
      <td>-0.00492</td>
      <td>-0.186021</td>
      <td>-0.024609</td>
      <td>-0.012053</td>
      <td>-0.00492</td>
      <td>-0.138008</td>
      <td>-0.020291</td>
      <td>-0.008523</td>
      <td>-0.00492</td>
      <td>-0.087171</td>
      <td>-0.006026</td>
      <td>-0.00492</td>
      <td>-0.00492</td>
      <td>-0.00492</td>
      <td>-0.055972</td>
      <td>-0.006026</td>
      <td>-0.072673</td>
      <td>-0.006026</td>
      <td>-0.047504</td>
      <td>-0.058318</td>
      <td>-0.065041</td>
      <td>-0.093767</td>
      <td>-0.038141</td>
      <td>-0.04673</td>
      <td>-0.058318</td>
      <td>-0.044052</td>
      <td>-0.064286</td>
      <td>-0.144079</td>
      <td>-0.04673</td>
      <td>-0.02696</td>
      <td>-0.044052</td>
      <td>-0.115094</td>
      <td>-0.031134</td>
      <td>-0.015561</td>
    </tr>
    <tr>
      <th>3</th>
      <td>1.174152</td>
      <td>1.166515</td>
      <td>-1.269289</td>
      <td>0.399692</td>
      <td>1.897811</td>
      <td>0.175202</td>
      <td>1.435952</td>
      <td>1.324138</td>
      <td>-0.625374</td>
      <td>-0.020588</td>
      <td>-0.492479</td>
      <td>4.281179</td>
      <td>-0.549742</td>
      <td>-0.094942</td>
      <td>-0.547296</td>
      <td>-0.097821</td>
      <td>-0.067979</td>
      <td>-0.156868</td>
      <td>-0.139954</td>
      <td>-0.081267</td>
      <td>-0.049016</td>
      <td>-0.07772</td>
      <td>-0.079897</td>
      <td>-0.042793</td>
      <td>-0.047504</td>
      <td>-0.075805</td>
      <td>-0.072589</td>
      <td>-0.062163</td>
      <td>-0.166678</td>
      <td>-0.251353</td>
      <td>-0.017047</td>
      <td>-0.015167</td>
      <td>-0.060473</td>
      <td>-0.025337</td>
      <td>-0.038141</td>
      <td>-0.082093</td>
      <td>-0.061967</td>
      <td>-0.175413</td>
      <td>-0.013918</td>
      <td>-0.059045</td>
      <td>...</td>
      <td>-0.015167</td>
      <td>-0.012546</td>
      <td>-0.006959</td>
      <td>-0.009841</td>
      <td>-0.009841</td>
      <td>-0.006959</td>
      <td>-0.00492</td>
      <td>-0.186021</td>
      <td>-0.024609</td>
      <td>-0.012053</td>
      <td>-0.00492</td>
      <td>-0.138008</td>
      <td>-0.020291</td>
      <td>-0.008523</td>
      <td>-0.00492</td>
      <td>-0.087171</td>
      <td>-0.006026</td>
      <td>-0.00492</td>
      <td>-0.00492</td>
      <td>-0.00492</td>
      <td>-0.055972</td>
      <td>-0.006026</td>
      <td>-0.072673</td>
      <td>-0.006026</td>
      <td>-0.047504</td>
      <td>-0.058318</td>
      <td>-0.065041</td>
      <td>-0.093767</td>
      <td>-0.038141</td>
      <td>-0.04673</td>
      <td>-0.058318</td>
      <td>-0.044052</td>
      <td>-0.064286</td>
      <td>-0.144079</td>
      <td>-0.04673</td>
      <td>-0.02696</td>
      <td>-0.044052</td>
      <td>-0.115094</td>
      <td>-0.031134</td>
      <td>-0.015561</td>
    </tr>
    <tr>
      <th>4</th>
      <td>-0.748714</td>
      <td>-1.041672</td>
      <td>0.643717</td>
      <td>1.482227</td>
      <td>-0.045783</td>
      <td>0.165705</td>
      <td>0.135751</td>
      <td>-0.253882</td>
      <td>-0.625374</td>
      <td>-0.020588</td>
      <td>-0.492479</td>
      <td>-0.233580</td>
      <td>1.819035</td>
      <td>-0.094942</td>
      <td>-0.547296</td>
      <td>-0.097821</td>
      <td>-0.067979</td>
      <td>-0.156868</td>
      <td>-0.139954</td>
      <td>-0.081267</td>
      <td>-0.049016</td>
      <td>-0.07772</td>
      <td>-0.079897</td>
      <td>-0.042793</td>
      <td>-0.047504</td>
      <td>-0.075805</td>
      <td>-0.072589</td>
      <td>-0.062163</td>
      <td>-0.166678</td>
      <td>-0.251353</td>
      <td>-0.017047</td>
      <td>-0.015167</td>
      <td>-0.060473</td>
      <td>-0.025337</td>
      <td>-0.038141</td>
      <td>-0.082093</td>
      <td>-0.061967</td>
      <td>5.700842</td>
      <td>-0.013918</td>
      <td>-0.059045</td>
      <td>...</td>
      <td>-0.015167</td>
      <td>-0.012546</td>
      <td>-0.006959</td>
      <td>-0.009841</td>
      <td>-0.009841</td>
      <td>-0.006959</td>
      <td>-0.00492</td>
      <td>-0.186021</td>
      <td>-0.024609</td>
      <td>-0.012053</td>
      <td>-0.00492</td>
      <td>-0.138008</td>
      <td>-0.020291</td>
      <td>-0.008523</td>
      <td>-0.00492</td>
      <td>-0.087171</td>
      <td>-0.006026</td>
      <td>-0.00492</td>
      <td>-0.00492</td>
      <td>-0.00492</td>
      <td>-0.055972</td>
      <td>-0.006026</td>
      <td>-0.072673</td>
      <td>-0.006026</td>
      <td>-0.047504</td>
      <td>-0.058318</td>
      <td>-0.065041</td>
      <td>-0.093767</td>
      <td>-0.038141</td>
      <td>-0.04673</td>
      <td>-0.058318</td>
      <td>-0.044052</td>
      <td>-0.064286</td>
      <td>-0.144079</td>
      <td>-0.04673</td>
      <td>-0.02696</td>
      <td>-0.044052</td>
      <td>-0.115094</td>
      <td>-0.031134</td>
      <td>-0.015561</td>
    </tr>
    <tr>
      <th>...</th>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
      <td>...</td>
    </tr>
    <tr>
      <th>82605</th>
      <td>0.853675</td>
      <td>0.314928</td>
      <td>-0.335982</td>
      <td>1.640874</td>
      <td>-0.860476</td>
      <td>-0.014745</td>
      <td>-0.406000</td>
      <td>-1.568898</td>
      <td>-0.625374</td>
      <td>-0.020588</td>
      <td>2.030542</td>
      <td>-0.233580</td>
      <td>-0.549742</td>
      <td>-0.094942</td>
      <td>-0.547296</td>
      <td>-0.097821</td>
      <td>-0.067979</td>
      <td>-0.156868</td>
      <td>7.145222</td>
      <td>-0.081267</td>
      <td>-0.049016</td>
      <td>-0.07772</td>
      <td>-0.079897</td>
      <td>-0.042793</td>
      <td>-0.047504</td>
      <td>-0.075805</td>
      <td>-0.072589</td>
      <td>-0.062163</td>
      <td>-0.166678</td>
      <td>-0.251353</td>
      <td>-0.017047</td>
      <td>-0.015167</td>
      <td>-0.060473</td>
      <td>-0.025337</td>
      <td>-0.038141</td>
      <td>-0.082093</td>
      <td>-0.061967</td>
      <td>-0.175413</td>
      <td>-0.013918</td>
      <td>-0.059045</td>
      <td>...</td>
      <td>-0.015167</td>
      <td>-0.012546</td>
      <td>-0.006959</td>
      <td>-0.009841</td>
      <td>-0.009841</td>
      <td>-0.006959</td>
      <td>-0.00492</td>
      <td>-0.186021</td>
      <td>-0.024609</td>
      <td>-0.012053</td>
      <td>-0.00492</td>
      <td>-0.138008</td>
      <td>-0.020291</td>
      <td>-0.008523</td>
      <td>-0.00492</td>
      <td>-0.087171</td>
      <td>-0.006026</td>
      <td>-0.00492</td>
      <td>-0.00492</td>
      <td>-0.00492</td>
      <td>-0.055972</td>
      <td>-0.006026</td>
      <td>-0.072673</td>
      <td>-0.006026</td>
      <td>-0.047504</td>
      <td>-0.058318</td>
      <td>-0.065041</td>
      <td>-0.093767</td>
      <td>-0.038141</td>
      <td>-0.04673</td>
      <td>-0.058318</td>
      <td>-0.044052</td>
      <td>-0.064286</td>
      <td>-0.144079</td>
      <td>-0.04673</td>
      <td>-0.02696</td>
      <td>-0.044052</td>
      <td>-0.115094</td>
      <td>-0.031134</td>
      <td>-0.015561</td>
    </tr>
    <tr>
      <th>82606</th>
      <td>-0.748714</td>
      <td>-1.052282</td>
      <td>0.597786</td>
      <td>1.482227</td>
      <td>-0.050271</td>
      <td>0.165705</td>
      <td>-0.080949</td>
      <td>-1.042891</td>
      <td>-0.625374</td>
      <td>-0.020588</td>
      <td>-0.492479</td>
      <td>-0.233580</td>
      <td>1.819035</td>
      <td>-0.094942</td>
      <td>-0.547296</td>
      <td>-0.097821</td>
      <td>-0.067979</td>
      <td>-0.156868</td>
      <td>-0.139954</td>
      <td>-0.081267</td>
      <td>-0.049016</td>
      <td>-0.07772</td>
      <td>-0.079897</td>
      <td>-0.042793</td>
      <td>-0.047504</td>
      <td>-0.075805</td>
      <td>-0.072589</td>
      <td>-0.062163</td>
      <td>-0.166678</td>
      <td>-0.251353</td>
      <td>-0.017047</td>
      <td>-0.015167</td>
      <td>-0.060473</td>
      <td>-0.025337</td>
      <td>-0.038141</td>
      <td>-0.082093</td>
      <td>-0.061967</td>
      <td>5.700842</td>
      <td>-0.013918</td>
      <td>-0.059045</td>
      <td>...</td>
      <td>-0.015167</td>
      <td>-0.012546</td>
      <td>-0.006959</td>
      <td>-0.009841</td>
      <td>-0.009841</td>
      <td>-0.006959</td>
      <td>-0.00492</td>
      <td>-0.186021</td>
      <td>-0.024609</td>
      <td>-0.012053</td>
      <td>-0.00492</td>
      <td>-0.138008</td>
      <td>-0.020291</td>
      <td>-0.008523</td>
      <td>-0.00492</td>
      <td>-0.087171</td>
      <td>-0.006026</td>
      <td>-0.00492</td>
      <td>-0.00492</td>
      <td>-0.00492</td>
      <td>-0.055972</td>
      <td>-0.006026</td>
      <td>-0.072673</td>
      <td>-0.006026</td>
      <td>-0.047504</td>
      <td>-0.058318</td>
      <td>-0.065041</td>
      <td>-0.093767</td>
      <td>-0.038141</td>
      <td>-0.04673</td>
      <td>-0.058318</td>
      <td>-0.044052</td>
      <td>-0.064286</td>
      <td>-0.144079</td>
      <td>-0.04673</td>
      <td>-0.02696</td>
      <td>-0.044052</td>
      <td>-0.115094</td>
      <td>-0.031134</td>
      <td>-0.015561</td>
    </tr>
    <tr>
      <th>82607</th>
      <td>-1.069191</td>
      <td>-0.973704</td>
      <td>0.833642</td>
      <td>-1.112123</td>
      <td>0.360442</td>
      <td>0.178368</td>
      <td>-0.406000</td>
      <td>-1.042891</td>
      <td>-0.625374</td>
      <td>-0.020588</td>
      <td>2.030542</td>
      <td>-0.233580</td>
      <td>-0.549742</td>
      <td>-0.094942</td>
      <td>-0.547296</td>
      <td>-0.097821</td>
      <td>-0.067979</td>
      <td>-0.156868</td>
      <td>-0.139954</td>
      <td>-0.081267</td>
      <td>-0.049016</td>
      <td>-0.07772</td>
      <td>-0.079897</td>
      <td>-0.042793</td>
      <td>-0.047504</td>
      <td>-0.075805</td>
      <td>-0.072589</td>
      <td>-0.062163</td>
      <td>-0.166678</td>
      <td>-0.251353</td>
      <td>-0.017047</td>
      <td>-0.015167</td>
      <td>-0.060473</td>
      <td>-0.025337</td>
      <td>-0.038141</td>
      <td>-0.082093</td>
      <td>-0.061967</td>
      <td>-0.175413</td>
      <td>-0.013918</td>
      <td>-0.059045</td>
      <td>...</td>
      <td>-0.015167</td>
      <td>-0.012546</td>
      <td>-0.006959</td>
      <td>-0.009841</td>
      <td>-0.009841</td>
      <td>-0.006959</td>
      <td>-0.00492</td>
      <td>-0.186021</td>
      <td>-0.024609</td>
      <td>-0.012053</td>
      <td>-0.00492</td>
      <td>-0.138008</td>
      <td>-0.020291</td>
      <td>-0.008523</td>
      <td>-0.00492</td>
      <td>-0.087171</td>
      <td>-0.006026</td>
      <td>-0.00492</td>
      <td>-0.00492</td>
      <td>-0.00492</td>
      <td>-0.055972</td>
      <td>-0.006026</td>
      <td>-0.072673</td>
      <td>-0.006026</td>
      <td>-0.047504</td>
      <td>-0.058318</td>
      <td>-0.065041</td>
      <td>-0.093767</td>
      <td>-0.038141</td>
      <td>-0.04673</td>
      <td>-0.058318</td>
      <td>-0.044052</td>
      <td>-0.064286</td>
      <td>-0.144079</td>
      <td>-0.04673</td>
      <td>-0.02696</td>
      <td>-0.044052</td>
      <td>-0.115094</td>
      <td>-0.031134</td>
      <td>-0.015561</td>
    </tr>
    <tr>
      <th>82608</th>
      <td>0.853675</td>
      <td>0.314928</td>
      <td>-0.335982</td>
      <td>1.640874</td>
      <td>-0.860476</td>
      <td>-0.014745</td>
      <td>-0.731050</td>
      <td>-1.042891</td>
      <td>-0.625374</td>
      <td>-0.020588</td>
      <td>2.030542</td>
      <td>-0.233580</td>
      <td>-0.549742</td>
      <td>-0.094942</td>
      <td>-0.547296</td>
      <td>-0.097821</td>
      <td>-0.067979</td>
      <td>-0.156868</td>
      <td>7.145222</td>
      <td>-0.081267</td>
      <td>-0.049016</td>
      <td>-0.07772</td>
      <td>-0.079897</td>
      <td>-0.042793</td>
      <td>-0.047504</td>
      <td>-0.075805</td>
      <td>-0.072589</td>
      <td>-0.062163</td>
      <td>-0.166678</td>
      <td>-0.251353</td>
      <td>-0.017047</td>
      <td>-0.015167</td>
      <td>-0.060473</td>
      <td>-0.025337</td>
      <td>-0.038141</td>
      <td>-0.082093</td>
      <td>-0.061967</td>
      <td>-0.175413</td>
      <td>-0.013918</td>
      <td>-0.059045</td>
      <td>...</td>
      <td>-0.015167</td>
      <td>-0.012546</td>
      <td>-0.006959</td>
      <td>-0.009841</td>
      <td>-0.009841</td>
      <td>-0.006959</td>
      <td>-0.00492</td>
      <td>-0.186021</td>
      <td>-0.024609</td>
      <td>-0.012053</td>
      <td>-0.00492</td>
      <td>-0.138008</td>
      <td>-0.020291</td>
      <td>-0.008523</td>
      <td>-0.00492</td>
      <td>-0.087171</td>
      <td>-0.006026</td>
      <td>-0.00492</td>
      <td>-0.00492</td>
      <td>-0.00492</td>
      <td>-0.055972</td>
      <td>-0.006026</td>
      <td>-0.072673</td>
      <td>-0.006026</td>
      <td>-0.047504</td>
      <td>-0.058318</td>
      <td>-0.065041</td>
      <td>-0.093767</td>
      <td>-0.038141</td>
      <td>-0.04673</td>
      <td>-0.058318</td>
      <td>-0.044052</td>
      <td>-0.064286</td>
      <td>-0.144079</td>
      <td>-0.04673</td>
      <td>-0.02696</td>
      <td>-0.044052</td>
      <td>-0.115094</td>
      <td>-0.031134</td>
      <td>-0.015561</td>
    </tr>
    <tr>
      <th>82609</th>
      <td>-0.107758</td>
      <td>0.451908</td>
      <td>-0.122419</td>
      <td>0.437021</td>
      <td>-0.853743</td>
      <td>0.004250</td>
      <td>-2.139601</td>
      <td>1.061135</td>
      <td>1.599044</td>
      <td>-0.020588</td>
      <td>-0.492479</td>
      <td>-0.233580</td>
      <td>-0.549742</td>
      <td>-0.094942</td>
      <td>-0.547296</td>
      <td>-0.097821</td>
      <td>-0.067979</td>
      <td>-0.156868</td>
      <td>-0.139954</td>
      <td>-0.081267</td>
      <td>-0.049016</td>
      <td>-0.07772</td>
      <td>-0.079897</td>
      <td>-0.042793</td>
      <td>-0.047504</td>
      <td>-0.075805</td>
      <td>-0.072589</td>
      <td>16.086637</td>
      <td>-0.166678</td>
      <td>-0.251353</td>
      <td>-0.017047</td>
      <td>-0.015167</td>
      <td>-0.060473</td>
      <td>-0.025337</td>
      <td>-0.038141</td>
      <td>-0.082093</td>
      <td>-0.061967</td>
      <td>-0.175413</td>
      <td>-0.013918</td>
      <td>-0.059045</td>
      <td>...</td>
      <td>-0.015167</td>
      <td>-0.012546</td>
      <td>-0.006959</td>
      <td>-0.009841</td>
      <td>-0.009841</td>
      <td>-0.006959</td>
      <td>-0.00492</td>
      <td>-0.186021</td>
      <td>-0.024609</td>
      <td>-0.012053</td>
      <td>-0.00492</td>
      <td>-0.138008</td>
      <td>-0.020291</td>
      <td>-0.008523</td>
      <td>-0.00492</td>
      <td>-0.087171</td>
      <td>-0.006026</td>
      <td>-0.00492</td>
      <td>-0.00492</td>
      <td>-0.00492</td>
      <td>-0.055972</td>
      <td>-0.006026</td>
      <td>-0.072673</td>
      <td>-0.006026</td>
      <td>-0.047504</td>
      <td>-0.058318</td>
      <td>-0.065041</td>
      <td>-0.093767</td>
      <td>-0.038141</td>
      <td>-0.04673</td>
      <td>-0.058318</td>
      <td>-0.044052</td>
      <td>-0.064286</td>
      <td>-0.144079</td>
      <td>-0.04673</td>
      <td>-0.02696</td>
      <td>-0.044052</td>
      <td>-0.115094</td>
      <td>-0.031134</td>
      <td>-0.015561</td>
    </tr>
  </tbody>
</table>
<p>82610 rows × 131 columns</p>
</div>




```python
y = data['Program Type']
X = data.drop(['Program Type'], axis=1)
```


```python
scaler = sp.StandardScaler()
X = pd.DataFrame(scaler.fit_transform(X), index=X.index, columns=X.columns)
```


```python
X_train, X_test, y_train, y_test = train_test_split(X, y, train_size=0.7)
```

# トレーニング


```python
X.shape
```




    (82610, 131)




```python
y.value_counts()
```




    2    61673
    0    14403
    1     3455
    4     3022
    3       57
    Name: Program Type, dtype: int64




```python
model = tf.keras.Sequential([
    tf.keras.layers.Dense(64, activation='relu', input_shape=(131,)),
    tf.keras.layers.Dense(64, activation='relu'),
    tf.keras.layers.Dense(5, activation='softmax'),
])

model.summary()

model.compile(
    optimizer='adam',
    loss='sparse_categorical_crossentropy',
    metrics=['accuracy'],
)

batch_size=64
epochs=100

history = model.fit(
    X_train,
    y_train,
    validation_split=0.2,
    batch_size=batch_size,
    epochs=epochs,
    callbacks=[tf.keras.callbacks.ReduceLROnPlateau()],
    verbose=0,
)
```

    Model: "sequential_2"
    _________________________________________________________________
    Layer (type)                 Output Shape              Param #   
    =================================================================
    dense_6 (Dense)              (None, 64)                8448      
    _________________________________________________________________
    dense_7 (Dense)              (None, 64)                4160      
    _________________________________________________________________
    dense_8 (Dense)              (None, 5)                 325       
    =================================================================
    Total params: 12,933
    Trainable params: 12,933
    Non-trainable params: 0
    _________________________________________________________________



```python
plt.figure(figsize=(14, 10))

epochs_range = range(1, epochs+1)
train_loss = history.history['loss']
val_loss = history.history['val_loss']

plt.plot(epochs_range, train_loss, label='Training Loss')
plt.plot(epochs_range, val_loss, label='Validation Loss')

plt.title('Training and Validation Loss')
plt.xlabel('Epoch')
plt.ylabel('Loss')
plt.legend()

plt.show()
```


![png](NYS_Environmental_Remediation_Sites_files/NYS_Environmental_Remediation_Sites_41_0.png)



```python
model.evaluate(X_test, y_test)
```

    775/775 [==============================] - 1s 884us/step - loss: 0.0262 - accuracy: 0.9958





    [0.026238199323415756, 0.9958440661430359]




```python
for label in range(5):
    label_indices = y_test[y_test == label].index
    label_acc = model.evaluate(X_test.loc[label_indices, :], y_test.loc[label_indices], verbose=0)
    print(f'Class {label} Accuracy: {label_acc[1]}')
```

    Class 0 Accuracy: 0.9960345029830933
    Class 1 Accuracy: 0.9609895348548889
    Class 2 Accuracy: 0.9981631636619568
    Class 3 Accuracy: 0.9230769276618958
    Class 4 Accuracy: 0.9891657829284668


すべてのタイプで良い精度が出ていることを確認できました。