\n",
"0.06980933--->air_pollution \n",
"0.11364043--->obesity\n",
"0.41225448--->coughing_of_blood \n",
"0.26339052--->wheezing\n",
"0.02929909--->clubbing_of_finger_nails \n",
"0.11160615--->snoring \n",
"this are the most important features in predecting Lung cancer\n",
"
"
]
},
{
"cell_type": "code",
"execution_count": 76,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Index(['age', 'gender', 'air_pollution', 'alcohol_use', 'dust_allergy',\n",
" 'occupational_hazards', 'genetic_risk', 'chronic_lung_disease',\n",
" 'balanced_diet', 'obesity', 'smoking', 'passive_smoker', 'chest_pain',\n",
" 'coughing_of_blood', 'fatigue', 'weight_loss', 'shortness_of_breath',\n",
" 'wheezing', 'swallowing_difficulty', 'clubbing_of_finger_nails',\n",
" 'frequent_cold', 'dry_cough', 'snoring'],\n",
" dtype='object')"
]
},
"execution_count": 76,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"X.columns"
]
},
{
"cell_type": "code",
"execution_count": 77,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Get the feature importances from our final trained model...\n",
"importances = trained_Classifier.feature_importances_\n",
"\n",
"# Find the indices of the feature importances in descending order\n",
"indices = np.argsort(importances)[::-1]\n",
"\n",
"# Plotting a bar chart of feature importances in descending order\n",
"plt.figure(figsize=(12,7))\n",
"sns.barplot(y=X_train.columns[indices],x=importances[indices]);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" Interesting that air pollution makes it to the list this time, as opposed to the tree from earlier. What are the parameters that you changed to make this happen? Why did you change the parameters?"
]
},
{
"cell_type": "code",
"execution_count": 81,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Feature ranking:\n",
"1. feature 9 (0.104505)\n",
"2. feature 13 (0.092689)\n",
"3. feature 11 (0.064121)\n",
"4. feature 8 (0.061259)\n",
"5. feature 17 (0.053987)\n",
"6. feature 3 (0.053947)\n",
"7. feature 14 (0.051066)\n",
"8. feature 18 (0.046122)\n",
"9. feature 4 (0.045952)\n",
"10. feature 10 (0.042849)\n",
"11. feature 6 (0.042549)\n",
"12. feature 2 (0.040003)\n",
"13. feature 16 (0.038493)\n",
"14. feature 22 (0.037226)\n",
"15. feature 12 (0.034225)\n",
"16. feature 19 (0.033471)\n",
"17. feature 5 (0.032807)\n",
"18. feature 7 (0.032128)\n",
"19. feature 20 (0.031667)\n",
"20. feature 15 (0.030936)\n",
"21. feature 21 (0.024520)\n",
"22. feature 0 (0.004499)\n",
"23. feature 1 (0.000979)\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"from sklearn.datasets import make_classification\n",
"from sklearn.ensemble import ExtraTreesClassifier\n",
"\n",
"\n",
"\n",
"# Build a forest and compute the feature importances\n",
"forest = ExtraTreesClassifier(n_estimators=250,\n",
" random_state=0)\n",
"\n",
"forest.fit(X, y)\n",
"importances = forest.feature_importances_\n",
"std = np.std([tree.feature_importances_ for tree in forest.estimators_],\n",
" axis=0)\n",
"indices = np.argsort(importances)[::-1]\n",
"\n",
"# Print the feature ranking\n",
"print(\"Feature ranking:\")\n",
"\n",
"for f in range(X.shape[1]):\n",
" print(\"%d. feature %d (%f)\" % (f + 1, indices[f], importances[indices[f]]))\n",
"\n",
"# Plot the feature importances of the forest\n",
"plt.figure()\n",
"plt.title(\"Feature importances\")\n",
"plt.bar(range(X_train.shape[1]), importances[indices],\n",
" color=\"r\", yerr=std[indices], align=\"center\")\n",
"plt.xticks(range(X_train.shape[1]), indices)\n",
"plt.xlim([-1, X.shape[1]])\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 6. Advanced Material: Optimising the algorithm\n",
""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### K-folds example for finding optimal parameters "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"K-folds is a method of evaluating and tuning a model on the given dataset without overfitting to either the training dataset or the testing dataset. It finds the optimal balance between bias and variance in the model. \n",
"\n",
"Below we show how the model performs on the training and test datasets while varying the max tree depth. "
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5,0,'Max depth of the tree')"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# define max depth range\n",
"depth_range = np.asarray(range(2,22,2))\n",
"\n",
"# initialize empty arrays to store the results\n",
"scores_train = np.zeros(len(depth_range))\n",
"scores_test = np.zeros(len(depth_range))\n",
"\n",
"for i in range(len(depth_range)):\n",
" # train DTR with given max depth\n",
" dt_Classifier = DecisionTreeClassifier(max_depth=depth_range[i], random_state=42)\n",
" model = dt_Classifier.fit(X_train, y_train)\n",
" # evaluate on both training and test datasets\n",
" scores_train[i] = model.score(X_train, y_train)\n",
" scores_test[i] = model.score(X_test, y_test)\n",
"\n",
"# plot the results on the same graph\n",
"ax = sns.regplot(x=depth_range, y=scores_train, order=3, ci=None,label='train')\n",
"sns.regplot(x=depth_range, y=scores_test,order=3, ci=None, label='test', ax=ax)\n",
"ax.legend(loc='best')\n",
"ax.set_ylabel('R2 from regression between true and predicted values')\n",
"ax.set_xlabel('Max depth of the tree')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As the depth increases:\n",
"Both of training score and test score are increasing similary, we are not in the case of overfitting\n",
"\n",
"This method does the following:\n",
"- Splits the dataset K equal random subsests\n",
"- Trains the data on K-1 subsets\n",
"- Evaluates performance on Kth left out subset\n",
"- Stores evaluation metric\n",
"- Repeats for K times for each random subset\n"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [],
"source": [
"# initialize empty array to store results\n",
"scores_cv = np.empty(len(depth_range))\n",
"for i in range(len(depth_range)):\n",
" # initialize model\n",
" dt_Classifier = DecisionTreeClassifier(max_depth=depth_range[i], random_state=42)\n",
" # calculate the cross val scores. This returns an array where each element corresponds to the performance on each k-fold.\n",
" cv_scores = cross_val_score(dt_Classifier, X_train, y_train,cv=5, n_jobs=-1)\n",
" # calculate mean cross validation score and save\n",
" scores_cv[i] = np.mean(cv_scores)"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# plot results\n",
"ax = sns.regplot(x=depth_range, y=scores_cv, ci=None, order=3);\n",
"ax.set_xlabel('Max depth of the tree');\n",
"ax.set_ylabel('Average cross validated R2');"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.5"
}
},
"nbformat": 4,
"nbformat_minor": 2
}