{ "cells": [ { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "import numpy as np \n", "from sklearn import datasets, model_selection, metrics, tree, ensemble\n", "digits = datasets.load_digits() " ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Populating the interactive namespace from numpy and matplotlib\n" ] } ], "source": [ "%pylab inline" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ ".. _digits_dataset:\n", "\n", "Optical recognition of handwritten digits dataset\n", "--------------------------------------------------\n", "\n", "**Data Set Characteristics:**\n", "\n", " :Number of Instances: 5620\n", " :Number of Attributes: 64\n", " :Attribute Information: 8x8 image of integer pixels in the range 0..16.\n", " :Missing Attribute Values: None\n", " :Creator: E. Alpaydin (alpaydin '@' boun.edu.tr)\n", " :Date: July; 1998\n", "\n", "This is a copy of the test set of the UCI ML hand-written digits datasets\n", "https://archive.ics.uci.edu/ml/datasets/Optical+Recognition+of+Handwritten+Digits\n", "\n", "The data set contains images of hand-written digits: 10 classes where\n", "each class refers to a digit.\n", "\n", "Preprocessing programs made available by NIST were used to extract\n", "normalized bitmaps of handwritten digits from a preprinted form. From a\n", "total of 43 people, 30 contributed to the training set and different 13\n", "to the test set. 32x32 bitmaps are divided into nonoverlapping blocks of\n", "4x4 and the number of on pixels are counted in each block. This generates\n", "an input matrix of 8x8 where each element is an integer in the range\n", "0..16. This reduces dimensionality and gives invariance to small\n", "distortions.\n", "\n", "For info on NIST preprocessing routines, see M. D. Garris, J. L. Blue, G.\n", "T. Candela, D. L. Dimmick, J. Geist, P. J. Grother, S. A. Janet, and C.\n", "L. Wilson, NIST Form-Based Handprint Recognition System, NISTIR 5469,\n", "1994.\n", "\n", ".. topic:: References\n", "\n", " - C. Kaynak (1995) Methods of Combining Multiple Classifiers and Their\n", " Applications to Handwritten Digit Recognition, MSc Thesis, Institute of\n", " Graduate Studies in Science and Engineering, Bogazici University.\n", " - E. Alpaydin, C. Kaynak (1998) Cascading Classifiers, Kybernetika.\n", " - Ken Tang and Ponnuthurai N. Suganthan and Xi Yao and A. Kai Qin.\n", " Linear dimensionalityreduction using relevance weighted LDA. School of\n", " Electrical and Electronic Engineering Nanyang Technological University.\n", " 2005.\n", " - Claudio Gentile. A New Approximate Maximal Margin Classification\n", " Algorithm. NIPS. 2000.\n" ] } ], "source": [ "print(digits.DESCR)" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(1797, 64)" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "digits.data.shape" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 0., 0., 5., 13., 9., 1., 0., 0., 0., 0., 13., 15., 10.,\n", " 15., 5., 0., 0., 3., 15., 2., 0., 11., 8., 0., 0., 4.,\n", " 12., 0., 0., 8., 8., 0., 0., 5., 8., 0., 0., 9., 8.,\n", " 0., 0., 4., 11., 0., 1., 12., 7., 0., 0., 2., 14., 5.,\n", " 10., 12., 0., 0., 0., 0., 6., 13., 10., 0., 0., 0.],\n", " [ 0., 0., 0., 12., 13., 5., 0., 0., 0., 0., 0., 11., 16.,\n", " 9., 0., 0., 0., 0., 3., 15., 16., 6., 0., 0., 0., 7.,\n", " 15., 16., 16., 2., 0., 0., 0., 0., 1., 16., 16., 3., 0.,\n", " 0., 0., 0., 1., 16., 16., 6., 0., 0., 0., 0., 1., 16.,\n", " 16., 6., 0., 0., 0., 0., 0., 11., 16., 10., 0., 0.]])" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "digits.data[:2]" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(1797,)" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "digits.target.shape" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0, 1, 2, ..., 8, 9, 8])" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "digits.target" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(1797, 8, 8)" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "digits.images.shape" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Feature names:\n", " ['pixel_0_0' 'pixel_0_1' 'pixel_0_2' 'pixel_0_3' 'pixel_0_4' 'pixel_0_5'\n", " 'pixel_0_6' 'pixel_0_7' 'pixel_1_0' 'pixel_1_1' 'pixel_1_2' 'pixel_1_3'\n", " 'pixel_1_4' 'pixel_1_5' 'pixel_1_6' 'pixel_1_7' 'pixel_2_0' 'pixel_2_1'\n", " 'pixel_2_2' 'pixel_2_3' 'pixel_2_4' 'pixel_2_5' 'pixel_2_6' 'pixel_2_7'\n", " 'pixel_3_0' 'pixel_3_1' 'pixel_3_2' 'pixel_3_3' 'pixel_3_4' 'pixel_3_5'\n", " 'pixel_3_6' 'pixel_3_7' 'pixel_4_0' 'pixel_4_1' 'pixel_4_2' 'pixel_4_3'\n", " 'pixel_4_4' 'pixel_4_5' 'pixel_4_6' 'pixel_4_7' 'pixel_5_0' 'pixel_5_1'\n", " 'pixel_5_2' 'pixel_5_3' 'pixel_5_4' 'pixel_5_5' 'pixel_5_6' 'pixel_5_7'\n", " 'pixel_6_0' 'pixel_6_1' 'pixel_6_2' 'pixel_6_3' 'pixel_6_4' 'pixel_6_5'\n", " 'pixel_6_6' 'pixel_6_7' 'pixel_7_0' 'pixel_7_1' 'pixel_7_2' 'pixel_7_3'\n", " 'pixel_7_4' 'pixel_7_5' 'pixel_7_6' 'pixel_7_7']\n" ] } ], "source": [ "print(\"Feature names:\\n\", np.transpose(digits.feature_names))" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [], "source": [ "X = digits.data\n", "y = digits.target" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "64" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(digits.feature_names)" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [], "source": [ "def write_answer(a, file_name): \n", " with open(file_name, \"w\") as fout:\n", " fout.write(str(a))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Task 1: DecisionTreeClassifier and its score\n", "Make **DecisionTreeClassifier** with default settings and measure the quality of its operation using **cross_val_score**. \n", "\n", "We create a classifier with default parameters, and the data sample does not need to be divided. Both **X** and **y** are fit for classifier and CV scoring." ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "DecisionTreeClassifier(random_state=0)" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "DT_clf = tree.DecisionTreeClassifier(random_state=0)\n", "DT_clf.fit(X, y)" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [], "source": [ "DT_scoring = model_selection.cross_val_score(DT_clf, X, y, cv = 10) # scoring = \"accuracy\"," ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The **cross_val_score()** function returns a numpy ndarray, which will have **k** (*k=cv*) quality numbers in each of the k-fold cross validation experiments." ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0.8 0.86111111 0.83333333 0.77222222 0.78888889 0.88333333\n", " 0.87777778 0.82681564 0.79329609 0.80446927]\n", "\n", "The mean of the CV scoring: 0.8241247672253259\n" ] } ], "source": [ "print(DT_scoring)\n", "\n", "print('\\nThe mean of the CV scoring:', DT_scoring.mean())\n", "\n", "write_answer(DT_scoring.mean(), 'dt_scoring.txt')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Task 2: Fit [bagging, bootstrap aggregating](https://en.wikipedia.org/wiki/Bootstrap_aggregating), over DecisionTreeClassifier\n", "We use **[BaggingClassifier](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.BaggingClassifier.html)** from sklearn.ensemble\n" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [], "source": [ "bagging_clf = ensemble.BaggingClassifier(DT_clf, n_estimators=100) " ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [], "source": [ "bagging_scoring = model_selection.cross_val_score(bagging_clf, X, y, cv = 10)" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0.85555556 0.95 0.92777778 0.92777778 0.91666667 0.98888889\n", " 0.96111111 0.91620112 0.87709497 0.90502793]\n", "\n", "The mean of the CV scoring on bagging: 0.9226101800124148\n" ] } ], "source": [ "print(bagging_scoring)\n", "\n", "print('\\nThe mean of the CV scoring on bagging:', bagging_scoring.mean())\n", "\n", "write_answer(bagging_scoring.mean(), 'bagging_scoring.txt')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Task 3: Fit bagging with sqrt(d) features over DecisionTreeClassifier\n", "\n", "`max_features` parameter defines the max number of features to draw from X to train each base (DecisionTree) estimator. \n", "\n", "**Max features** defines the random subsets of features to consider when splitting a node. The lower **the greater the reduction of variance**, but also the greater **the increase in bias**. Read more [here](https://scikit-learn.org/stable/modules/ensemble.html#parameters)." ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Max features for bagging: 8\n" ] } ], "source": [ "max_features = np.int(np.sqrt(X.shape[1]))\n", "print('Max features for bagging:', max_features)\n", "bagging_featues_limit_clf = ensemble.BaggingClassifier(\n", " DT_clf, n_estimators=100, max_features = max_features) " ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [], "source": [ "bagging_featues_limit_scoring = model_selection.cross_val_score(bagging_featues_limit_clf, X, y, cv = 10)" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0.91666667 0.95555556 0.93333333 0.87222222 0.95555556 0.94444444\n", " 0.97222222 0.97206704 0.89944134 0.90502793]\n", "\n", "The mean of the CV scoring on bagging with 8 featues: 0.9326536312849164\n" ] } ], "source": [ "print(bagging_featues_limit_scoring)\n", "\n", "print('\\nThe mean of the CV scoring on bagging with ', max_features\n", " ,' featues:', bagging_featues_limit_scoring.mean())\n", "\n", "write_answer(bagging_featues_limit_scoring.mean(), 'bagging_featues_limit_scoring.txt')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Task 4: Decision Tree with random features\n", "We choose random features not once for the entire tree at the Bagging stage, but when building each node of a Decision Tree.\n", "\n", "#### This is actually the Random Forest algorithm" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "DecisionTreeClassifier(max_features=8, random_state=0)" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "DT_max_features_clf = tree.DecisionTreeClassifier(random_state=0, max_features= max_features)\n", "DT_max_features_clf.fit(X, y)" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [], "source": [ "bagging_dt_featues_limit_clf = ensemble.BaggingClassifier(\n", " DT_max_features_clf, n_estimators=100 ) " ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [], "source": [ "bagging_dt_featues_limit_scoring = model_selection.cross_val_score(bagging_dt_featues_limit_clf, X, y, cv = 10)" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0.90555556 0.97777778 0.94444444 0.93333333 0.93888889 0.96666667\n", " 0.97777778 0.96648045 0.90502793 0.93854749]\n", "\n", "The mean of the CV scoring on bagging with DT with 8 featues: 0.9454500310366232\n" ] } ], "source": [ "print(bagging_dt_featues_limit_scoring)\n", "\n", "print('\\nThe mean of the CV scoring on bagging with DT with ', max_features\n", " ,' featues:', bagging_dt_featues_limit_scoring.mean())\n", "\n", "write_answer(bagging_dt_featues_limit_scoring.mean(), 'bagging_dt_featues_limit_scoring.txt')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The classifier obtained in this task: the **Bagging on randomized trees** (in which, when constructing each node, a random subset of features is selected and the partition is searched only for them). This is exactly the **Random Forest** algorithm." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Task 5: RandomForestClassifier\n", "Let's build the **RandomForestClassifier** of *sklearn.ensemble* and learn of its quality depending on number of trees (N estimators), features used (Max features) for each tree node, and max tree depth (Max depth). " ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "RandomForestClassifier(max_features=8, random_state=0)" ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" } ], "source": [ "RF_clf = ensemble.RandomForestClassifier(random_state=0, n_estimators = 100, max_features= max_features)\n", "RF_clf.fit(X, y)" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [], "source": [ "rf_scoring = model_selection.cross_val_score(RF_clf, X, y, cv = 10)" ] }, { "cell_type": "code", "execution_count": 90, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0.9 0.96111111 0.93888889 0.92222222 0.97777778 0.96111111\n", " 0.96666667 0.96648045 0.94972067 0.93296089]\n", "\n", "The mean of the CV scoring on RF 8 features: 0.9476939788950961\n" ] } ], "source": [ "print(rf_scoring)\n", "\n", "print('\\nThe mean of the CV scoring on RF', max_features\n", " ,'features:', rf_scoring.mean())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### We want to quality the RF classification on a given dataset depends on the following parameters:\n", " 1. The number of trees\n", " 2. The number of features selected when constructing each node of a tree\n", " 3. The restrictions on the depth of a tree" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "dict_keys(['bootstrap', 'ccp_alpha', 'class_weight', 'criterion', 'max_depth', 'max_features', 'max_leaf_nodes', 'max_samples', 'min_impurity_decrease', 'min_impurity_split', 'min_samples_leaf', 'min_samples_split', 'min_weight_fraction_leaf', 'n_estimators', 'n_jobs', 'oob_score', 'random_state', 'verbose', 'warm_start'])" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "RF_clf.get_params().keys()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we evaluate best parameters of *RandomForestClassifier* using GridSearchCV." ] }, { "cell_type": "code", "execution_count": 72, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 1/1 [05:15<00:00, 315.59s/it]\n" ] } ], "source": [ "from tqdm import tqdm \n", "params ={ 'n_estimators' : range(2, 20), \n", " 'max_depth' : range(2, 10),\n", " 'max_features' : range(8, 64, 10)\n", " }\n", "for n in tqdm(range(1)): \n", " search_rf = model_selection.GridSearchCV(ensemble.RandomForestClassifier(), param_grid= params)\n", " search_rf.fit(X, y)" ] }, { "cell_type": "code", "execution_count": 92, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "GridSearchCV(estimator=RandomForestClassifier(),\n", " param_grid={'max_depth': range(2, 10),\n", " 'max_features': range(8, 64, 10),\n", " 'n_estimators': range(2, 20)})" ] }, "execution_count": 92, "metadata": {}, "output_type": "execute_result" } ], "source": [ "search_rf" ] }, { "cell_type": "code", "execution_count": 75, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "RandomForestClassifier(max_depth=9, max_features=18, n_estimators=16)" ] }, "execution_count": 75, "metadata": {}, "output_type": "execute_result" } ], "source": [ "search_rf.best_estimator_" ] }, { "cell_type": "code", "execution_count": 93, "metadata": {}, "outputs": [], "source": [ "grid_scores = search_rf.cv_results_\n", "#grid_scores\n", "#grid_scores[\"params\"]" ] }, { "cell_type": "code", "execution_count": 95, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Total parameters variations: 864\n", "Best params: {'max_depth': 9, 'max_features': 18, 'n_estimators': 16}\n" ] } ], "source": [ "# arrays with data for scoring depending on one of each parameter \n", "xx=[]\n", "yy=[]\n", "zz=[]\n", "print('Total parameters variations:', len(grid_scores['params']))\n", "print('Best params:', search_rf.best_params_)\n", "best_max_depth = search_rf.best_params_['max_depth']\n", "best_n_estimators = search_rf.best_params_['n_estimators']\n", "best_max_features = search_rf.best_params_['max_features']\n", "\n", "for mean_score, parameters in zip(grid_scores[\"mean_test_score\"], grid_scores[\"params\"]):\n", " #print(mean_score, parameters)\n", " if parameters[\"n_estimators\"] == best_n_estimators and \\\n", " parameters[\"max_features\"] == best_max_features:\n", " yy.append([np.sqrt(mean_score), parameters['max_depth']])\n", " if parameters[\"max_depth\"] == best_max_depth and \\\n", " parameters[\"max_features\"] == best_max_features:\n", " zz.append([np.sqrt(mean_score), parameters['n_estimators']])\n", " if parameters[\"max_depth\"] == best_max_depth and \\\n", " parameters[\"n_estimators\"] == best_n_estimators:\n", " xx.append([np.sqrt(mean_score), parameters['max_features']])" ] }, { "cell_type": "code", "execution_count": 96, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "8 \n", " [[0.828331320324343, 2], [0.8551200320811582, 3], [0.9041592054341305, 4], [0.9299464346950542, 5], [0.9459544249401011, 6], [0.9450788009243831, 7], [0.9547491612998596, 8], [0.9599807204295354, 9]] \n", "\n", "18 \n", " [[0.8779266393916481, 2], [0.9069447317880542, 3], [0.9290532249389274, 4], [0.9293546647273637, 5], [0.9403536214941346, 6], [0.9441999064414529, 7], [0.9506533940297671, 8], [0.9483153872322252, 9], [0.9550400601850904, 10], [0.9509536824793225, 11], [0.9553333002881406, 12], [0.9564956543872287, 13], [0.954456552405717, 14], [0.9588161352971158, 15], [0.9599807204295354, 16], [0.9585255751632453, 17], [0.9599766903700595, 18], [0.9591074141506128, 19]]\n", "6 \n", " [[0.9515385251478821, 8], [0.9599807204295354, 18], [0.9521213832506896, 28], [0.9544573630805719, 38], [0.9477261062755679, 48], [0.9403593813094615, 58]]\n" ] } ], "source": [ "#print(len(yy))\n", "print(len(yy), '\\n', yy, '\\n')\n", "print(len(zz), '\\n', zz)\n", "print(len(xx), '\\n', xx)" ] }, { "cell_type": "code", "execution_count": 98, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "pylab.plot( list(x[1] for x in yy), list(x[0] for x in yy), label = \"Max depth\")\n", "pylab.xlabel(\"Max depth\")\n", "pylab.ylabel(\"Accuracy score\")\n", "pylab.title(\"RF classifier scoring on 'Max depth' parameter, \\nfixed 'N estimators' (best) = %2d and fixed 'Max features' (best) = %2d\" % (best_n_estimators, best_max_features))\n", "pylab.legend(loc = \"best\") \n", "pylab.rcParams[\"figure.figsize\"] = [10, 6]" ] }, { "cell_type": "code", "execution_count": 99, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "pylab.plot( list(x[1] for x in zz), list(x[0] for x in zz), label = \"N estimators\")\n", "pylab.xlabel(\"N estimators\")\n", "pylab.ylabel(\"Accuracy score\")\n", "pylab.title(\"RF classifier scoring on 'N estimators' parameter, \\nfixed 'Max depth' (best) = %2d and fixed 'Max features' (best) = %2d\" % ( best_max_depth, best_max_features) )\n", "pylab.legend(loc = \"best\") \n", "pylab.rcParams[\"figure.figsize\"] = [10, 6]" ] }, { "cell_type": "code", "execution_count": 100, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "pylab.plot( list(x[1] for x in xx), list(x[0] for x in xx), label = \"Max features\")\n", "pylab.xlabel(\"Max features\")\n", "pylab.ylabel(\"Accuracy score\")\n", "pylab.title(\"RF classifier scoring on 'Max features' parameter, \\nfixed 'Max depth' (best) = %2d and and 'N estimators' (best) = %2d\" % ( best_max_depth , best_n_estimators) ) \n", "pylab.legend(loc = \"best\") \n", "pylab.rcParams[\"figure.figsize\"] = [10, 6]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Some statements related to the RF classification\n", "1) The random forest is highly over-trained with the growth of the number of trees - **False**." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "2) With a very small number of trees (5, 10, 15), a random forest performs worse than with a larger number of trees - **True**." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "3) As the number of trees in a random forest grows, at some point there are enough trees for a high quality classification, and then the quality does not change significantly. - **True**." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "4) With a large number of features (for a given dataset - 40, 50), the quality of classification becomes worse than with a small number of features (5, 10). This is due to the fact that the fewer features are selected at each node, the more different the trees are (because trees are highly unstable to changes in the training sample), and the better their composition works. - **True**." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "5) With a large number of features (40, 50, 60), the quality of classification is better than with a small number of features (5, 10). This is due to the fact that the more features - the more information about the objects, which means that the algorithm can make predictions more accurately. - **False**." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "6) With a small maximum depth of trees (5-6), the quality of the random forest is much better than without a depth limit, since the trees are not retrained. As the depth of the trees increases, the quality deteriorates. - **False**." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "7) With a small maximum depth of trees (5-6), the quality of the random forest is noticeably worse than without restrictions, since the trees are obtained under-trained. With increasing depth, the quality first improves, and then does not change significantly, because due to averaging forecasts and differences in trees, their over-training in bagging does not affect the final quality (all trees are pre-trained differently, and when averaging, they compensate for each other's over-training). - **True**." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "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.8.5" } }, "nbformat": 4, "nbformat_minor": 4 }