Modeling - Decision Trees


Overview


Decision Trees are a heuristic based classification model which are useful for capturing non-linear trends and patterns in data. The heuristic aspect means that it follows a set of rules to provide an answer, whereas an algorithm follows steps to provide an answer which is always optimal. The tree aspect comes from the flowchart-like structure which features nodes and branches depending on decisions calculated from the data, constructing a logical pathway for classification.


Partitioning Example.

The example above, from this [documentation], shows how decision trees can partition non-linear data. This is two-dimensional dataset example, but the same idea holds true for higher dimensions.


Basic Tree Example.

The example above, from this [website], shows the flowchart like structure, illustrating how a decision can be made by splitting logically on a criteria.

Notice that this example uses both qualitative and quantitative data. Decision Trees are effective on even mixed data. In fact, given at least a single column of quantitivate data, there are an infinite number of trees that can be made depending on how the quantitiatve variables are split. In addition to an infinite number of ways to split the quantitative variables (especially continuous data), tree depth can add to the complexity of a model.

Trees can be shallow or deep, meaning the number of branches and subsequent nodes that are allowed. A tree can be split until each node is pure or even only contains a single value. Purity in a node refers to the amount of labels within it. For example, given a decision tree whose task is to model a binary label dataset, if a node contains only a single label type, it is considered pure. Investigating the purity (and impurity) of a node is how "goodness" of split is measured. How are criteria for a split formed and how does this relate to purity? The common heuristics that are used in this process are:


Gini and Entropy calculate the impurity of a node, and Information Gain measures the overall impurity after a split is made and either Gini or Impurity is calculated. The attribute with the highest Information Gain is chosen for the split.



\[ Gini(I) = 1 - \sum_\limits{j=1}^{c} p_j^2 \]


\[ Entropy(I) = -\sum_\limits{j=1}^{c} p_jlog_2(p_j) \]


\[ InfoGain = I(parent) - \sum_\limits{j=1}^{c} \frac{N(v_j)}{N} I(v_j) \]

These formulas may seem complicated, but this can be illustrated better with an example using Entropy.


Decision Tree Example


In this small dataset, the data consists of Age, Blood Pressure, and Cholesterol, while the label is if a patient has a certaint disease (what the decision tree will try to predict).


age blood_pressure cholesterol disease
25 120 180 False
34 140 220 True
45 130 200 False
52 150 240 True
23 115 170 False

Entropy Example.

Behind the scenes, the process that takes place is:

  1. Entropy of the entire dataset is calculated (i.e. the 2 classes for every single row)
  2. Entropy for each potential split is calculated
  3. Information Gain is calculated via subtracting the Split Entropy from the System Entropy
  4. The split providing the greatest Information Gain is taken.

In this example, the nodes are pure after the first split. If they weren't pure the process would continue with each node acting like the total system entropy and each potential split within that node being calculated to find the maximum information gain. Note that is a greedy algorithm, and takes the best possible result at each step and continues on.



Data Preparation


The decision tree portion of this project will utitlize the Weather and Ski Resorts data. It will use monthly averaged weather for each resort, and encoded regions, with the label being Pass type. As a reminder, the possible Pass types are Ikon, Epic, and Other. However, the Other category is overwhelming, and will be dropped. Decision Trees will be trained on Ikon and Epic and then will be used to find how well the Other categories would fit in either of the passes. In other words, possible expansion resorts for the popular passes.

Initial Data

Following from the previous sections, this section will use the same datasets. As a reminder, here is a preview of the data that will be used:



Ski Resorts Data
Resort state_province_territory Country City Overall Rating Elevation Difference Elevation Low Elevation High Trails Total Trails Easy Trails Intermediate Trails Difficult Lifts Price Resort Size Run Variety Lifts Quality Latitude Longitude Pass Region
49 Degrees North Mountain Resort Washington United States Chewelah 3.4 564 1196 1760 68.0 20.0 27.0 21.0 7 82.0 3.5 4.0 3.3 48.277375 -117.701815 Other West
Crystal Mountain (WA) Washington United States Sunrise 3.3 796 1341 2137 50.0 8.0 27.0 15.0 11 199.0 3.2 3.6 3.7 46.928167 -121.504535 Ikon West
Mt. Baker Washington United States White Salmon 3.4 455 1070 1525 100.0 24.0 45.0 31.0 10 91.0 3.9 4.3 3.0 45.727775 -121.486699 Other West
Mt. Spokane Washington United States Mead 3.0 610 1185 1795 26.0 6.5 16.0 3.5 7 75.0 2.7 3.1 3.0 47.919072 -117.092505 Other West
Sitzmark Washington United States Tonasket 2.6 155 1330 1485 7.5 2.0 3.0 2.5 2 50.0 1.9 2.4 2.9 48.863907 -119.165077 Other West
Stevens Pass Washington United States Baring 3.3 580 1170 1750 39.0 6.0 18.0 15.0 10 119.0 3.1 3.5 3.6 47.764031 -121.474822 Epic West
The Summit at Snoqualmie Washington United States Snoqualmie Pass 3.0 380 800 1180 27.9 5.2 13.7 9.0 22 135.0 2.6 3.0 3.2 47.405235 -121.412783 Ikon West
Wenatchee Mission Ridge Washington United States Wenatchee 3.2 686 1392 2078 36.0 4.0 21.0 11.0 4 119.0 2.9 3.3 3.6 47.292466 -120.399871 Other West
Abenaki New Hampshire United States Wolfeboro 2.1 70 180 250 2.0 1.2 0.5 0.3 1 24.0 1.4 1.8 1.4 43.609528 -71.229692 Other Northeast
Attitash Mountain Resort New Hampshire United States Bartlett 3.2 533 183 716 37.0 7.4 17.4 12.2 8 129.0 2.9 3.3 3.7 44.084603 -71.221525 Epic Northeast


Weather Data
datetime tempmax tempmin temp feelslikemax feelslikemin feelslike dew humidity precip precipprob precipcover snow snowdepth windgust windspeed winddir pressure cloudcover visibility solarradiation solarenergy uvindex sunrise sunset moonphase icon stations resort tzoffset severerisk type_freezingrain type_ice type_none type_rain type_snow
2019-01-01 16.4 2.0 7.0 10.2 -13.3 -0.6 -1.2 69.1 0.008 100.0 20.83 0.0 20.7 18.30000 10.6 4.9 1014.5 59.0 8.6 116.8 9.9 5.0 07:26:20 16:51:51 0.85 snow ['72467523063', '72206103038', 'CACMC', 'KCCU', 'KEGE', 'KLXV', 'DJTC2', 'K20V', '72467393009'] Vail 0.0 0.0 0 0 0 0 1
2019-01-02 24.3 -0.9 11.4 21.9 -11.9 5.4 -10.5 39.9 0.004 100.0 4.17 0.0 20.8 29.77377 8.7 353.1 1021.4 0.0 9.9 121.6 10.7 5.0 07:26:27 16:52:41 0.89 snow ['72467523063', '72206103038', 'CACMC', 'KCCU', 'KEGE', 'KLXV', 'DJTC2', 'K20V', '72467393009'] Vail 0.0 0.0 0 0 0 0 1
2019-01-03 29.0 5.3 17.6 21.9 -4.0 8.6 4.1 56.1 0.004 100.0 4.17 0.2 20.8 32.20000 9.8 328.9 1024.7 0.0 9.8 123.3 10.6 5.0 07:26:31 16:53:33 0.92 snow ['72467523063', '72206103038', 'CACMC', 'KCCU', 'KEGE', 'KLXV', 'DJTC2', 'K20V', '72467393009'] Vail 0.0 0.0 0 0 0 1 1
2019-01-04 34.0 11.9 23.4 28.7 3.4 17.1 7.0 50.4 0.001 100.0 4.17 0.1 20.8 20.80000 9.0 311.0 1025.5 0.0 9.9 123.7 10.7 5.0 07:26:34 16:54:26 0.96 snow ['72467523063', '72206103038', 'CACMC', 'KCCU', 'KEGE', 'KLXV', 'DJTC2', 'K20V', '72467393009'] Vail 0.0 0.0 0 0 0 1 1
2019-01-05 34.1 14.3 27.1 29.4 4.3 20.1 1.9 33.9 0.001 100.0 4.17 0.0 20.4 20.80000 10.1 243.5 1022.2 19.4 9.7 110.3 9.6 5.0 07:26:34 16:55:20 0.00 rain ['72467523063', '72206103038', 'CACMC', 'DYGC2', 'KCCU', 'KEGE', 'KLXV', 'DJTC2', 'K20V', '72467393009'] Vail 0.0 0.0 0 0 0 1 1
2019-01-06 29.9 18.5 25.9 22.4 5.1 16.1 18.1 72.5 0.035 100.0 58.33 0.6 20.6 33.30000 16.9 266.7 1009.3 78.7 6.3 47.3 4.1 2.0 07:26:32 16:56:16 0.02 snow ['72467523063', '72206103038', 'CACMC', '72038500419', 'DYGC2', 'KCCU', 'KEGE', 'A0000594076', 'KLXV', 'DJTC2', 'K20V', '72467393009'] Vail 0.0 0.0 0 0 0 1 1
2019-01-07 24.8 14.7 20.3 12.8 2.5 6.5 13.7 75.2 0.004 100.0 8.33 0.4 21.3 45.70000 27.9 271.2 1015.6 83.7 4.8 35.8 3.0 2.0 07:26:27 16:57:13 0.06 snow ['72467523063', '72206103038', 'CACMC', 'DYGC2', 'KCCU', 'KEGE', 'KLXV', 'DJTC2', 'K20V', '72467393009'] Vail 0.0 0.0 0 0 0 0 1
2019-01-08 34.6 17.2 25.1 34.6 5.0 17.8 12.0 59.5 0.013 100.0 8.33 0.0 21.3 27.70000 15.2 312.1 1029.4 34.5 9.5 122.9 10.5 5.0 07:26:21 16:58:11 0.09 rain ['72467523063', '72206103038', 'CACMC', 'KCCU', 'KEGE', 'KLXV', 'DJTC2', 'K20V', '72467393009'] Vail 0.0 0.0 0 0 0 1 1
2019-01-09 38.3 23.0 28.6 38.3 13.6 22.6 9.9 45.4 0.000 0.0 0.00 0.0 21.2 23.00000 13.0 142.9 1029.6 1.0 9.9 114.0 9.8 5.0 07:26:12 16:59:11 0.12 clear-day ['72467523063', '72206103038', 'CACMC', 'KCCU', 'KEGE', 'KLXV', 'DJTC2', 'K20V', '72467393009'] Vail 0.0 0.0 0 0 1 0 0
2019-01-10 33.7 17.0 26.4 33.7 9.8 22.6 14.3 60.6 0.026 100.0 12.50 0.8 21.4 17.20000 8.8 323.7 1023.3 39.9 8.3 75.9 6.6 4.0 07:26:01 17:00:11 0.16 snow ['72467523063', '72206103038', 'CACMC', 'KCCU', 'KEGE', 'KLXV', 'DJTC2', 'K20V', '72467393009'] Vail 0.0 0.0 0 0 0 1 1


Prepared Data


Snippet of Complete Data
month temp dew humidity precip snow snowdepth windspeed pressure cloudcover visibility Elevation Low Elevation High Region_Atlantic region Region_Central Canada Region_Midwest Region_North Region_Northeast Region_Prairie Provinces Region_Southeast Region_Southwest Region_West Region_West Coast Pass
1 18.919355 12.315054 75.732258 0.010086 0.198925 0.945699 11.360753 1018.817742 54.380108 8.500538 280 387 0 0 1 0 0 0 0 0 0 0 Epic
2 19.530588 10.913529 69.935882 0.016547 0.221765 1.698235 12.598824 1018.611176 35.678235 8.908824 280 387 0 0 1 0 0 0 0 0 0 0 Epic
3 33.855376 22.389247 65.591935 0.064457 0.176882 0.518280 13.482258 1017.361828 41.860753 9.093548 280 387 0 0 1 0 0 0 0 0 0 0 Epic
4 45.021111 31.383333 62.634444 0.084917 0.077222 0.076667 14.600000 1012.945556 48.759444 9.296667 280 387 0 0 1 0 0 0 0 0 0 0 Epic
5 59.200000 43.966667 61.048925 0.130043 0.000000 0.000000 12.538172 1014.485484 38.955914 9.448925 280 387 0 0 1 0 0 0 0 0 0 0 Epic
6 71.016111 55.466667 61.342778 0.120122 0.000000 0.000000 12.536667 1012.427222 28.426667 9.587778 280 387 0 0 1 0 0 0 0 0 0 0 Epic
7 73.438172 61.439247 68.785484 0.092344 0.000000 0.000000 11.393548 1014.500538 25.439785 9.441935 280 387 0 0 1 0 0 0 0 0 0 0 Epic
8 71.063978 59.902688 70.329570 0.136382 0.000000 0.000000 11.349462 1015.028495 31.554839 9.562366 280 387 0 0 1 0 0 0 0 0 0 0 Epic
9 63.871333 53.454667 71.610000 0.076847 0.000000 0.000000 11.771333 1015.637333 33.843333 9.435333 280 387 0 0 1 0 0 0 0 0 0 0 Epic
10 48.615484 38.007742 69.115484 0.075039 0.042581 0.047097 12.741290 1015.367742 43.536774 9.428387 280 387 0 0 1 0 0 0 0 0 0 0 Epic

Snippet of Training Data
Unnamed: 0 month temp dew humidity precip snow snowdepth windspeed pressure cloudcover visibility Elevation Low Elevation High Region_Atlantic region Region_Central Canada Region_Midwest Region_North Region_Northeast Region_Prairie Provinces Region_Southeast Region_Southwest Region_West Region_West Coast Pass
0 323 12 34.261935 26.379355 74.356129 0.076703 0.529677 2.006452 14.427097 1017.808387 67.622581 8.565161 609 841 0 0 0 0 1 0 0 0 0 0 Epic
1 132 1 26.490860 19.466129 75.828495 0.103677 0.203763 0.289785 19.003226 1016.851613 63.074194 8.510215 380 623 0 0 0 0 1 0 0 0 0 0 Ikon
2 382 11 39.292667 28.145333 67.578667 0.029320 0.114667 0.101333 13.215333 1019.736667 28.293333 9.233333 1737 2763 0 0 0 0 0 0 0 0 1 0 Ikon
3 265 2 28.482353 12.800000 56.501765 0.053229 2.041765 16.901176 14.575294 1018.057059 29.054118 9.085294 2288 3075 0 0 0 0 0 0 0 0 1 0 Ikon
4 444 1 15.250000 9.917204 79.600538 0.051199 0.342473 22.330108 8.918280 1018.582796 65.618280 8.654762 1150 2365 0 0 0 0 0 0 0 0 0 1 Ikon
5 765 10 43.045161 37.743871 84.084516 0.169761 0.401290 2.631613 3.779355 1018.189032 71.021935 10.255385 675 2284 0 0 0 0 0 0 0 0 0 1 Epic
6 433 2 30.576471 19.279412 66.878824 0.151447 2.750588 61.884706 12.590588 1018.138235 40.965294 8.228824 1890 2745 0 0 0 0 0 0 0 0 1 0 Ikon
7 41 6 45.791111 27.646111 52.837778 0.034878 0.189444 3.445000 22.062222 1029.021111 39.553889 9.344444 3286 3790 0 0 0 0 0 0 0 0 1 0 Ikon
8 778 11 34.124667 25.800667 73.422667 0.083793 0.543333 1.509333 9.143333 1017.808000 56.579333 9.173333 594 1238 0 0 0 0 1 0 0 0 0 0 Epic
9 108 1 17.940323 5.701075 62.345161 0.005672 0.777957 14.529570 21.778495 1016.924731 55.886022 7.200538 2926 3914 0 0 0 0 0 0 0 0 1 0 Epic

Snippet of Testing Data
Unnamed: 0 month temp dew humidity precip snow snowdepth windspeed pressure cloudcover visibility Elevation Low Elevation High Region_Atlantic region Region_Central Canada Region_Midwest Region_North Region_Northeast Region_Prairie Provinces Region_Southeast Region_Southwest Region_West Region_West Coast Pass
0 196 5 60.116667 36.074194 44.791935 0.036290 0.054301 9.459140 15.731183 1011.797849 44.895699 9.812366 2003 2917 0 0 0 0 0 0 0 0 1 0 Ikon
1 299 12 30.851613 23.953548 76.907742 0.079897 0.457419 1.525806 12.330968 1017.126452 65.520000 8.925806 355 1293 0 0 0 0 1 0 0 0 0 0 Ikon
2 744 1 17.583871 6.489247 64.584946 0.008258 1.292473 23.127419 15.975806 1017.840323 54.220430 7.946237 2457 3527 0 0 0 0 0 0 0 0 1 0 Epic
3 227 12 30.152903 22.017419 74.805806 0.170116 1.576129 12.020645 12.032903 1019.313548 40.517419 8.452258 2001 3060 0 0 0 0 0 0 0 0 1 0 Epic
4 541 2 32.726471 19.800000 61.087647 0.048753 0.560000 15.382941 14.786471 1018.059412 48.477059 9.268235 1950 2850 0 0 0 0 0 0 0 0 1 0 Ikon
5 802 11 40.400000 30.354000 69.166667 0.083680 0.126667 0.132000 12.140000 1019.173333 62.405333 9.411333 458 945 0 0 0 0 1 0 0 0 0 0 Ikon
6 199 8 77.822581 46.911828 37.536559 0.030210 0.000000 0.000000 13.712903 1013.451613 27.429570 9.669355 2003 2917 0 0 0 0 0 0 0 0 1 0 Ikon
7 336 1 29.321505 24.786022 83.881720 0.053333 0.241398 0.285484 14.782258 1018.414516 64.264516 8.171505 353 445 0 0 1 0 0 0 0 0 0 0 Epic
8 338 3 41.450538 30.693011 69.789785 0.093737 0.045699 0.025806 17.154301 1018.033333 51.825806 9.026882 353 445 0 0 1 0 0 0 0 0 0 0 Epic
9 529 2 35.973529 19.263529 58.191176 0.058088 0.555882 1.980000 13.159412 1017.894706 25.768824 9.359412 2050 2390 0 0 0 0 0 0 0 0 1 0 Ikon

Additionally, training and testing sets were created. The two sets are disjoint, and must be disjoint. Using non-disjoint data between testing and training won't give an accurate representation of the performance of the model. First, this could result in an overfit of the model, which could end up describing noise, rather than the underlying distribution. Second, the testing set being non-disjoint helps to represent real-world data (i.e. unseen data).

Also, the balance of the labels were examined, which is featured below:


Balance of the Labels in the Overall Dataset.

Code


The code for preparing the data and running the decision tree modeling can be found [here].

Different hyperparameters were ran on the decision tree used to predict the label of Pass type. The goal was to see how the parameters changed (if possible) the root node. The different scenarios test the different parameters of scikit-learn's DecisionTreeClassifier().


Results


Scenario 1: Default Parameters

The default hyperparameters were:


The default case resulted in an accuracy of 87.76% with the head node having the criteria Elevation High <= 1148.0.


Scenario 1: Default Parameters.

Scenario 1: Default Parameters. (expand image)

Scenario 2: Change Entropy

The updated hyperparameters were:


This scenario used entropy instead of gini shows in an increase of accuracy, up to 94.69% with the head node having the criteria Elevation High <= 397.5.


Scenario 2: Entropy.

Scenario 2: Entropy. (expand image)

Scenario 3: Change Log Loss

The updated hyperparameters were:


This scenario used log_loss instead of gini shows in an increase of accuracy, up to 95.51% with the head node having the criteria Elevation High <= 397.5. Interestingly enough, this is the same root node as the scenario which used entropy instead of gini.


Scenario 3: Log Loss.

Scenario 3: Log Loss. (expand image)

Scenario 4: Change Log Loss and Balance

The updated hyperparameters were:


This scenario used log_loss instead of gini, and used balance instead of none for the weighting. This resulting in an accuracy of 97.96% with the head node having the criteria Elevation High <= 1148.0. Although this scenario increased the accuracy again, the root node has the same as the default scenario.


Scenario 4: Log Loss With Balance.

Scenario 4: Log Loss With Balance. (expand image)

Scenario 5: Change Log Loss, Balance, and Randomize

The updated hyperparameters were:


This scenario used log_loss instead of gini, balance instead of none for the weighting, and random instead of best for the splitter. This resulting in an accuracy of 91.84% with the head node having the criteria Region_Midwest <= 0.624. This scenario resulted in the third different root node.


Scenario 5: Log Loss With Balance With Random.

Scenario 5: Log Loss With Balance With Random. (expand image)

Applications


With the high accuracies in these models, this could be a potential decent application. Recall that there are actually three pass types in the data, but the Other has been dropped for balancing measures. However, this provides an opportunity to illustrate possible expansions for the Ikon and Epic companies. To accomplish this, a model was trained with sklearn's GridSearchCV to test different parameters through cross fold validation. The different combinations of parameters tested above were input into the model.

The best parameters resulted in:


Scenario Best.

Scenario Best. (expand image)

The rows containing the label of Pass type Other were originally dropped. Predictions were made on these dropped rows. The result of this was a label prediction for each month for each resort, thus the percentage of each label for each resort was examined. If a resort had a high percentage of being categorized as a certain pass over all its months, this would likely indicate that it could be a logical expansion.

The following table shows the percentage of time the resort was classified as either label.


Resort Predicted Percentage
49 Degrees North Mountain Resort Epic 1.000000
Abenaki Epic 1.000000
Adanac Ski Hill Epic 1.000000
Alpine Mountain Ski & Snow Tubing Center Epic 1.000000
Alpine Ski Club Collingwood Epic 0.916667
Alpine Ski Club Collingwood Ikon 0.083333
Alpine Valley Resort Elkhorn Epic 1.000000
Alpine Valley White Lake Epic 1.000000
Andes Tower Hills Epic 0.833333
Andes Tower Hills Ikon 0.166667
Angel Fire Ikon 1.000000
Antoine Mountain Epic 1.000000
Apache Epic 1.000000
Apex Mountain Resort Ikon 1.000000
Appalachian Ski Mountain Ikon 1.000000
Arizona Snowbowl Epic 1.000000
Asessippi Epic 0.833333
Asessippi Ikon 0.166667
Aspen Highlands Epic 1.000000
Aspen Mountain Ikon 1.000000
Badger Pass Ikon 1.000000
Bald Mountain Sun Valley Ikon 1.000000
Baldy Mountain Resort Ikon 1.000000
Banff Sunshine Ikon 1.000000
Bear Mountain Big Bear Lake Ikon 1.000000
Bear Valley Epic 1.000000
Beaver Mountain Ikon 1.000000
Beaver Valley Ski Club Epic 1.000000
Belle Neige Epic 1.000000
Ben Eoin Ikon 1.000000
Big Squaw Epic 0.666667
Big Squaw Ikon 0.333333
Big White Ikon 1.000000
Black Rapid Ikon 1.000000
Black River Basin (Snowriver Mountain Resort) Epic 1.000000
Blue Mountain Resort Collingwood Epic 0.916667
Blue Mountain Resort Collingwood Ikon 0.083333
Bogus Basin Ikon 1.000000
Boler Mountain London Epic 1.000000
Bolton Valley Ikon 1.000000
Bousquet Epic 0.666667
Bousquet Ikon 0.333333
Bradford Ikon 1.000000
Bretton Woods Ikon 1.000000
Brian Head Ikon 1.000000
Bridger Bowl Bozeman Ikon 1.000000
Brimacombe (Oshawa Ski Club) Epic 1.000000
Bristol Mountain Epic 1.000000
Bromley Mountain Epic 1.000000
Bromont Epic 0.916667
Bromont Ikon 0.083333
Brookvale Ski Park Ikon 1.000000
Brundage Mountain Ikon 1.000000
Bryce Resort Epic 1.000000
Buffalo Epic 0.500000
Buffalo Ikon 0.500000
Buttermilk Mountain Epic 1.000000
Calabogie Peaks Epic 1.000000
Caledon Ski Club Epic 1.000000
Camden Snow Bowl Ikon 1.000000
Camp Fortune Ikon 1.000000
Canada Olympic Park Calgary Ikon 1.000000
Cannon Mountain Ikon 1.000000
Canyon Ski Area Ikon 1.000000
Cape Smokey Ikon 1.000000
Castle Mountain Ikon 1.000000
Cataloochee Ikon 1.000000
Chapman Hill Durango Ikon 1.000000
Chestnut Mountain Epic 1.000000
Chicopee Epic 1.000000
China Peak Epic 1.000000
Christie Mountain Epic 1.000000
Clearwater Ikon 1.000000
Cockaigne Epic 0.916667
Cockaigne Ikon 0.083333
Crabbe Mountain Epic 1.000000
Craigleith Ski Club Epic 0.916667
Craigleith Ski Club Ikon 0.083333
Cranmore Mountain Resort Epic 1.000000
Crystal Mountain (MI) Epic 1.000000
Crystal Mountain Westbank Ikon 1.000000
Dagmar Ski Resort Ikon 1.000000
Devil's Elbow Epic 1.000000
Devil's Glen Epic 0.916667
Devil's Glen Ikon 0.083333
Discovery Ski Area Ikon 1.000000
Do-Mi-Ski Dolbeau-Mistassini Ikon 1.000000
Dodge Ridge Ikon 1.000000
Donner Ski Ranch Ikon 1.000000
Fairmont Hot Springs Ikon 1.000000
Farr's Hill Randolph Epic 1.000000
Fernie Ikon 1.000000
Fort Wainwright/Birch Hill Fairbanks Ikon 1.000000
Fortress Mountain Ikon 1.000000
Gallix Ikon 1.000000
Georgian Peaks Club Epic 0.916667
Georgian Peaks Club Ikon 0.083333
Glen Eden Epic 1.000000
Gore Mountain Epic 1.000000
Grand Targhee Epic 1.000000
Granite Gorge Ikon 1.000000
Granite Peak at Rib Mountain State Park Epic 0.833333
Granite Peak at Rib Mountain State Park Ikon 0.166667
Great Divide Ikon 1.000000
Grouse Mountain Ikon 1.000000
Gunstock Epic 1.000000
Hanson Hills Epic 1.000000
Harper Mountain Ikon 1.000000
Hatley Pointe Ikon 1.000000
Haute Gaspesie Ikon 1.000000
Haystack Mountain The Hermitage Club Epic 1.000000
Hesperus Ski Area Ikon 1.000000
Hidden Valley (AB) Ikon 1.000000
Hidden Valley Highlands Epic 1.000000
Hilltop Anchorage Epic 1.000000
Hogadon Ski Area Ikon 1.000000
Holiday Mountain (MB) Epic 0.500000
Holiday Mountain (MB) Ikon 0.500000
Holiday Mountain (NY) Epic 0.916667
Holiday Mountain (NY) Ikon 0.083333
Holiday Valley Epic 1.000000
Homewood Mountain Resort Ikon 1.000000
Horseshoe Resort Epic 1.000000
Hudson Bay Mountain Smithers Epic 1.000000
Hunt Hollow Ski Club Epic 1.000000
Jay Peak Epic 1.000000
Kicking Horse Golden Ikon 1.000000
Kimberley Ikon 1.000000
King Pine Purity Spring Resort Ikon 1.000000
Kinosoo Ridge Epic 1.000000
La Tuque Epic 1.000000
Lake Louise Epic 1.000000
Lakeridge Resort Epic 1.000000
Las Vegas Ski and Snowboard Resort Lee Canyon Ikon 1.000000
Le Chantecler Epic 1.000000
Le Massif de Charlevoix Ikon 1.000000
Le Mont Grand-Fonds Epic 1.000000
Le Relais Lac Beauport Epic 1.000000
Loch Lomond Epic 1.000000
Lookout Pass Ikon 1.000000
Lost Trail Powder Mountain Epic 1.000000
Loveland Epic 1.000000
Lutsen Mountains Epic 0.916667
Lutsen Mountains Ikon 0.083333
Mad River Glen Epic 1.000000
Manning Park Epic 1.000000
Mansfield Ski Club Epic 1.000000
Marble Mountain Steady Brook (Humber Valley) Ikon 1.000000
Marmot Basin Jasper Epic 1.000000
Martock Ikon 1.000000
Massif du Sud Ikon 1.000000
McCauley Mountain Epic 1.000000
Minnedosa Ski Valley Epic 0.583333
Minnedosa Ski Valley Ikon 0.416667
Misery Mountain Epic 0.750000
Misery Mountain Ikon 0.250000
Mission Ridge Ikon 0.833333
Mission Ridge Epic 0.166667
Monarch Epic 1.000000
Mont Adstock Epic 1.000000
Mont Avalanche Epic 0.916667
Mont Avalanche Ikon 0.083333
Mont Avila Epic 1.000000
Mont Bechervaise Ikon 1.000000
Mont Bellevue Epic 1.000000
Mont Belu Ikon 1.000000
Mont Biencourt Epic 1.000000
Mont Blanc Epic 0.916667
Mont Blanc Ikon 0.083333
Mont Cascades Epic 1.000000
Mont Castor Ikon 1.000000
Mont Chalco Epic 0.916667
Mont Chalco Ikon 0.083333
Mont Comi Epic 0.500000
Mont Comi Ikon 0.500000
Mont Edouard L'Anse-Saint-Jean Epic 0.750000
Mont Edouard L'Anse-Saint-Jean Ikon 0.250000
Mont Farlagne Epic 1.000000
Mont Fortin Ikon 1.000000
Mont Garceau Epic 1.000000
Mont Gleason Epic 1.000000
Mont Habitant Epic 1.000000
Mont Kanasuta Epic 1.000000
Mont La Reserve Saint-Donat-de-Montcalm Epic 1.000000
Mont Lac-Vert Hebertville Ikon 1.000000
Mont Miller Ikon 0.833333
Mont Miller Epic 0.166667
Mont Orford Epic 1.000000
Mont Orignal Lac Etchemin Epic 1.000000
Mont Rigaud Ikon 1.000000
Mont Ripley Epic 1.000000
Mont Saint-Bruno Saint-Bruno-de-Montarville Ikon 1.000000
Mont Ste-Marie Epic 1.000000
Mont Sutton Epic 1.000000
Mont Ti-Basse Baie-Comeau Ikon 1.000000
Mont Video Epic 1.000000
Mont-Saint-Mathieu Ikon 1.000000
Mont-Sainte-Anne Epic 1.000000
Montana Snowbowl Ikon 1.000000
Montcalm Epic 1.000000
Moose Mountain Epic 1.000000
Morin Heights Epic 1.000000
Mount Baldy Thunder Bay Epic 0.750000
Mount Baldy Thunder Bay Ikon 0.250000
Mount Cain Ikon 1.000000
Mount Dufour Ikon 0.583333
Mount Dufour Epic 0.416667
Mount Jamieson Timmins Epic 1.000000
Mount Joy Epic 1.000000
Mount Maichen Ikon 1.000000
Mount Pakenham Ikon 1.000000
Mount Pleasant Epic 1.000000
Mount Seymour Ikon 1.000000
Mount Sima Epic 1.000000
Mount St. Louis Moonstone Epic 1.000000
Mount Timothy Epic 1.000000
Mount Washington Ikon 1.000000
Mountain Creek Vernon Ikon 1.000000
Mountain High North Ikon 1.000000
Mt. Ashwabay Salmo Epic 1.000000
Mt. Baker Ikon 1.000000
Mt. Eyak Ikon 1.000000
Mt. Holiday Epic 1.000000
Mt. Hood Meadows Ikon 1.000000
Mt. Hood Skibowl Ikon 1.000000
Mt. Jefferson Ikon 1.000000
Mt. La Crosse Epic 1.000000
Mt. Lemmon Ski Valley Ikon 1.000000
Mt. Norquay Banff Ikon 1.000000
Mt. Rose Epic 1.000000
Mt. Southington Ikon 1.000000
Mt. Spokane Epic 1.000000
Mulligan's Hollow Ski Bowl Epic 1.000000
Murray Ridge Ikon 1.000000
Nakiska Ikon 1.000000
Nashoba Valley Ikon 1.000000
Nitehawk Epic 0.916667
Nitehawk Ikon 0.083333
Nordic Mountain Epic 1.000000
Norway Mountain Ikon 1.000000
Ober Gatlinburg Epic 1.000000
Ochapowace Ikon 1.000000
Osler Bluff Ski Club Epic 0.916667
Osler Bluff Ski Club Ikon 0.083333
Owl's Head Epic 1.000000
Pass Powderkeg Crowsnest Pass Ikon 1.000000
Perfect North Slopes Ikon 1.000000
Pico Mountain Ikon 1.000000
Pin Rouge Ikon 1.000000
Pine Knob Epic 1.000000
Poley Mountain Ikon 1.000000
Porcupine Mountain Epic 1.000000
Powder Mountain Ikon 1.000000
Powder Ridge Epic 0.916667
Powder Ridge Ikon 0.083333
Powder Ridge Mountain Park & Resort Ikon 1.000000
Powderhorn Ikon 1.000000
Purden Ikon 1.000000
Purgatory Durango Ikon 1.000000
Quechee Lakes Ski Area Epic 1.000000
Ragged Mountain Epic 1.000000
Red Lodge Mountain Ikon 1.000000
Red Mountain Resort Rossland Ikon 1.000000
Royal Mountain Epic 0.833333
Royal Mountain Ikon 0.166667
Saddleback Ikon 1.000000
Saint-Raymond Ikon 1.000000
Sandia Peak Ikon 1.000000
Santa Fe Epic 1.000000
Sasquatch Mountain Hemlock Valley Ikon 1.000000
Searchmont Epic 1.000000
Seven Oaks Epic 1.000000
Shames Mountain Ikon 1.000000
Shanty Creek Resorts Summit Mountain Epic 1.000000
Silver Mountain Ikon 1.000000
SilverStar Ikon 1.000000
Sir Sam's Epic 1.000000
Sitzmark Ikon 1.000000
Ski Brule Epic 1.000000
Sky Tavern Epic 1.000000
Smokey Mountain Epic 1.000000
Smugglers' Notch Epic 1.000000
Snow Ridge Epic 0.833333
Snow Ridge Ikon 0.166667
Snow Summit Big Bear Lake Ikon 1.000000
Snow Trails Epic 1.000000
Snow Valley Barrie Epic 1.000000
Snowstar Epic 1.000000
Sommet Edelweiss Epic 1.000000
Sommet Gabriel Epic 1.000000
Sommet Olympia Epic 1.000000
Sommet Saint-Sauveur Epic 1.000000
Spring Mountain Ikon 1.000000
Spruce Mountain Jay Ikon 1.000000
Stoneham Epic 1.000000
Stover Mountain Epic 1.000000
Sugar Bowl Epic 1.000000
Sugarloaf Provincial Park Ikon 1.000000
Sundance Epic 1.000000
Sundown Ikon 1.000000
Sunridge Epic 1.000000
Table Mountain Epic 0.750000
Table Mountain Ikon 0.250000
Tabor Mountain Epic 1.000000
Tamarack Resort Ikon 1.000000
Tawatinaw Valley Epic 1.000000
Telluride Ikon 1.000000
Terry Peak Ikon 1.000000
The Heights Horseshoe Valley Epic 1.000000
The Homestead Resort Epic 1.000000
Thunder Ridge Epic 1.000000
Timberline Epic 1.000000
Timberline Mountain Ikon 1.000000
Timberline Summit Pass Ikon 1.000000
Tobo-Ski Epic 1.000000
Treetops Ikon 1.000000
Troll Resort Quesnel Ikon 1.000000
Tyrol Basin Mt Horeb Epic 1.000000
Uplands Ski Centre Epic 1.000000
Utah Olympic Park Ikon 1.000000
Val Saint-Come Epic 1.000000
Val d'Irene Epic 0.500000
Val d'Irene Ikon 0.500000
Valinouet Epic 1.000000
Vallee Bleue Epic 0.916667
Vallee Bleue Ikon 0.083333
Vallee du Parc Epic 1.000000
Vista Ridge Epic 1.000000
Vorlage Ikon 1.000000
Wapiti Ski Hill Elkford Epic 1.000000
Wapiti Valley Epic 1.000000
Waterville Valley Ikon 1.000000
Welch Village Epic 1.000000
Wenatchee Mission Ridge Ikon 1.000000
Wentworth Ikon 1.000000
Whispering Pines Worsley Epic 1.000000
White Hills Epic 1.000000
White Pass Ikon 1.000000
Whiteface Lake Placid Ikon 1.000000
Whitefish Mountain Resort Ikon 1.000000
Whitewater Nelson Ikon 1.000000
Wild Mountain Epic 1.000000
Willamette Pass Crescent Ikon 1.000000
Wolf Creek Epic 1.000000
Woods Valley Epic 1.000000
Yellowstone Club Epic 1.000000

The maximum percentage for each resort was taken as the label prediction, and a distribution of this maximum percentage was created.

Distribution of the Prediction Probabilities.

Conclusions


This analysis provided valuable insights into potential expansions zones for the the Ikon and Epic ski resort pass companies. Provided common average monthly meteorological parameters and the region in which a potential expansion resort is located, a logical decision flowchart can be generated. The applications of this analysis can provide highly accurate indication if either company, Ikon or Epic, would find the resort a suitable potential expansion resort. This is currently based on weather and rough location, that being regional scale. However, further analyses investigating the culture, the amenities, and transportation would be recommended.