{"cells":[
 {
  "cell_type": "code",
  "execution_count": null,
  "metadata": {
   "collapsed": false
  },
  "outputs": [],
  "source": "# This Python 3 environment comes with many helpful analytics libraries installed\n# It is defined by the kaggle/python docker image: https://github.com/kaggle/docker-python\n# For example, here's several helpful packages to load in \n\nimport numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n\n# Input data files are available in the \"../input/\" directory.\n# For example, running this (by clicking run or pressing Shift+Enter) will list the files in the input directory\n\nfrom subprocess import check_output\nprint(check_output([\"ls\", \"../input\"]).decode(\"utf8\"))\n\n# Any results you write to the current directory are saved as output."
 },
 {
  "cell_type": "code",
  "execution_count": null,
  "metadata": {
   "collapsed": false
  },
  "outputs": [],
  "source": "#!/usr/bin/env python3\n'''\nRandomforest - plot: # of trees - accuracy\n\n@Author: Hideki Ikeda\n@Date 7/11/15\n'''\n\nimport numpy as np\nimport pandas as pd\nimport matplotlib.pyplot as plt\nfrom sklearn.ensemble import RandomForestClassifier\nfrom sklearn.cross_validation import cross_val_score\n\ndef main():\n    # loading training data\n    print('Loading training data')\n    data = pd.read_csv('../input/train.csv')\n    X_tr = data.values[:, 1:].astype(float)\n    y_tr = data.values[:, 0]\n\n    scores = list()\n    scores_std = list()\n\n    print('Start learning...')\n    n_trees = [10, 15, 20, 25, 30, 40, 50, 70, 100, 150]\n    for n_tree in n_trees:\n        print(n_tree)\n        recognizer = RandomForestClassifier(n_tree)\n        score = cross_val_score(recognizer, X_tr, y_tr)\n        scores.append(np.mean(score))\n        scores_std.append(np.std(score))\n\n    sc_array = np.array(scores)\n    std_array = np.array(scores_std)\n    print('Score: ', sc_array)\n    print('Std  : ', std_array)\n\n    #plt.figure(figsize=(4,3))\n    plt.plot(n_trees, scores)\n    plt.plot(n_trees, sc_array + std_array, 'b--')\n    plt.plot(n_trees, sc_array - std_array, 'b--')\n    plt.ylabel('CV score')\n    plt.xlabel('# of trees')\n    plt.savefig('cv_trees.png')\n    # plt.show()\n\n\nif __name__ == '__main__':\n    main()\n"
 },
 {
  "cell_type": "code",
  "execution_count": null,
  "metadata": {
   "collapsed": false
  },
  "outputs": [],
  "source": "#!/usr/bin/env python3\n'''\nRandomforest - plot: # of trees - accuracy\n\n@Author: Hideki Ikeda\n@Date 7/11/15\n'''\n\nimport numpy as np\nimport pandas as pd\nimport matplotlib.pyplot as plt\nfrom sklearn.ensemble import RandomForestClassifier\nfrom sklearn.cross_validation import cross_val_score\n\ndef main():\n    # loading training data\n    print('Loading training data')\n    data = pd.read_csv('../input/train.csv')\n    X_tr = data.values[:, 1:].astype(float)\n    y_tr = data.values[:, 0]\n    print(X_tr.class)\n    print(y_tr.class)\n'''\n    scores = list()\n    scores_std = list()\n\n    print('Start learning...')\n    n_trees = [10, 15, 20, 25, 30, 40, 50, 70, 100, 150]\n    for n_tree in n_trees:\n        print(n_tree)\n        recognizer = RandomForestClassifier(n_tree)\n        score = cross_val_score(recognizer, X_tr, y_tr)\n        scores.append(np.mean(score))\n        scores_std.append(np.std(score))\n\n    sc_array = np.array(scores)\n    std_array = np.array(scores_std)\n    print('Score: ', sc_array)\n    print('Std  : ', std_array)\n\n    #plt.figure(figsize=(4,3))\n    plt.plot(n_trees, scores)\n    plt.plot(n_trees, sc_array + std_array, 'b--')\n    plt.plot(n_trees, sc_array - std_array, 'b--')\n    plt.ylabel('CV score')\n    plt.xlabel('# of trees')\n    plt.savefig('cv_trees.png')\n    # plt.show()\n\n'''\nif __name__ == '__main__':\n    main()\n"
 },
 {
  "cell_type": "code",
  "execution_count": null,
  "metadata": {
   "collapsed": false
  },
  "outputs": [],
  "source": ""
 }
],"metadata":{"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"}}, "nbformat": 4, "nbformat_minor": 0}