Skip to content

Instantly share code, notes, and snippets.

@peace098beat
Created June 29, 2016 23:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save peace098beat/2de2839b9c8ed1e7a7333134d70d5835 to your computer and use it in GitHub Desktop.
Save peace098beat/2de2839b9c8ed1e7a7333134d70d5835 to your computer and use it in GitHub Desktop.
Python-Machinelearning-Book.ipynb
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 実践 機械学習システム"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 実例を対象とした分類法入門\n",
"(2016/6/29) Tomoyuki Nohara"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 2.1 アイリスデータセット\n",
"アイリスデータセットは,1930年代からある伝統的なデータセット.統計分類の分野で近代的なサンプルデータであり,初期から使われている.\n",
"データの中身は,```アイリス```という花に関するものです. \n",
"\n",
"アイリスにはいくつか品種があり,アイリスデータセットは```3つの異なる品種```のサンプルデータから構成されている.また,アイリスの品種は```花の形状```から分類可能です. \n",
"\n",
" - Setosa\n",
" - Versicolor\n",
" - Virginica\n",
"\n",
"\n",
" アイリスデータセットの中身を見ると,サンプルされたアイリスを対象に,次の4つの要素がそれぞれ計測されている.\n",
" \n",
" - がく片の長さ (Sepal length)\n",
" - がく片の幅 (Sepal width)\n",
" - 花弁の長さ (Petal length)\n",
" - 花弁の幅 (Petal width)\n",
"\n",
"本章では,計測されたデータはどのようなものであっても```特徴量(features)```と呼ぶ.\n",
"\n",
"アイリスデータセットの問題設定 = 「アイリスという花を見つけたあなたは,```花のサイズ(features)```を計測し,アイリスの```品種(clas)```を正確に予測しなさい」ということ.\n",
"\n",
"これは,教師有り学習,または,クラス分類に関する問題.\n",
"\n",
"アイリスデータセットはサイズが小さいので学習にはもってこい(サンプル数:150, 特徴量:4)\n",
"\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 2.2 可視化からはじめる\n",
"アイリスデータセットは次元数が少ないので可視化できます.まずはイメージを掴むのが肝心."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"%matplotlib inline\n",
"from matplotlib import pyplot as plt\n",
"from sklearn.datasets import load_iris\n",
"import numpy as np"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"dict_keys(['feature_names', 'DESCR', 'target_names', 'data', 'target'])\n",
"{'feature_names': ['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)'], 'DESCR': 'Iris Plants Database\\n\\nNotes\\n-----\\nData Set Characteristics:\\n :Number of Instances: 150 (50 in each of three classes)\\n :Number of Attributes: 4 numeric, predictive attributes and the class\\n :Attribute Information:\\n - sepal length in cm\\n - sepal width in cm\\n - petal length in cm\\n - petal width in cm\\n - class:\\n - Iris-Setosa\\n - Iris-Versicolour\\n - Iris-Virginica\\n :Summary Statistics:\\n\\n ============== ==== ==== ======= ===== ====================\\n Min Max Mean SD Class Correlation\\n ============== ==== ==== ======= ===== ====================\\n sepal length: 4.3 7.9 5.84 0.83 0.7826\\n sepal width: 2.0 4.4 3.05 0.43 -0.4194\\n petal length: 1.0 6.9 3.76 1.76 0.9490 (high!)\\n petal width: 0.1 2.5 1.20 0.76 0.9565 (high!)\\n ============== ==== ==== ======= ===== ====================\\n\\n :Missing Attribute Values: None\\n :Class Distribution: 33.3% for each of 3 classes.\\n :Creator: R.A. Fisher\\n :Donor: Michael Marshall (MARSHALL%PLU@io.arc.nasa.gov)\\n :Date: July, 1988\\n\\nThis is a copy of UCI ML iris datasets.\\nhttp://archive.ics.uci.edu/ml/datasets/Iris\\n\\nThe famous Iris database, first used by Sir R.A Fisher\\n\\nThis is perhaps the best known database to be found in the\\npattern recognition literature. Fisher\\'s paper is a classic in the field and\\nis referenced frequently to this day. (See Duda & Hart, for example.) The\\ndata set contains 3 classes of 50 instances each, where each class refers to a\\ntype of iris plant. One class is linearly separable from the other 2; the\\nlatter are NOT linearly separable from each other.\\n\\nReferences\\n----------\\n - Fisher,R.A. \"The use of multiple measurements in taxonomic problems\"\\n Annual Eugenics, 7, Part II, 179-188 (1936); also in \"Contributions to\\n Mathematical Statistics\" (John Wiley, NY, 1950).\\n - Duda,R.O., & Hart,P.E. (1973) Pattern Classification and Scene Analysis.\\n (Q327.D83) John Wiley & Sons. ISBN 0-471-22361-1. See page 218.\\n - Dasarathy, B.V. (1980) \"Nosing Around the Neighborhood: A New System\\n Structure and Classification Rule for Recognition in Partially Exposed\\n Environments\". IEEE Transactions on Pattern Analysis and Machine\\n Intelligence, Vol. PAMI-2, No. 1, 67-71.\\n - Gates, G.W. (1972) \"The Reduced Nearest Neighbor Rule\". IEEE Transactions\\n on Information Theory, May 1972, 431-433.\\n - See also: 1988 MLC Proceedings, 54-64. Cheeseman et al\"s AUTOCLASS II\\n conceptual clustering system finds 3 classes in the data.\\n - Many, many more ...\\n', 'target_names': array(['setosa', 'versicolor', 'virginica'], \n",
" dtype='<U10'), 'data': array([[ 5.1, 3.5, 1.4, 0.2],\n",
" [ 4.9, 3. , 1.4, 0.2],\n",
" [ 4.7, 3.2, 1.3, 0.2],\n",
" [ 4.6, 3.1, 1.5, 0.2],\n",
" [ 5. , 3.6, 1.4, 0.2],\n",
" [ 5.4, 3.9, 1.7, 0.4],\n",
" [ 4.6, 3.4, 1.4, 0.3],\n",
" [ 5. , 3.4, 1.5, 0.2],\n",
" [ 4.4, 2.9, 1.4, 0.2],\n",
" [ 4.9, 3.1, 1.5, 0.1],\n",
" [ 5.4, 3.7, 1.5, 0.2],\n",
" [ 4.8, 3.4, 1.6, 0.2],\n",
" [ 4.8, 3. , 1.4, 0.1],\n",
" [ 4.3, 3. , 1.1, 0.1],\n",
" [ 5.8, 4. , 1.2, 0.2],\n",
" [ 5.7, 4.4, 1.5, 0.4],\n",
" [ 5.4, 3.9, 1.3, 0.4],\n",
" [ 5.1, 3.5, 1.4, 0.3],\n",
" [ 5.7, 3.8, 1.7, 0.3],\n",
" [ 5.1, 3.8, 1.5, 0.3],\n",
" [ 5.4, 3.4, 1.7, 0.2],\n",
" [ 5.1, 3.7, 1.5, 0.4],\n",
" [ 4.6, 3.6, 1. , 0.2],\n",
" [ 5.1, 3.3, 1.7, 0.5],\n",
" [ 4.8, 3.4, 1.9, 0.2],\n",
" [ 5. , 3. , 1.6, 0.2],\n",
" [ 5. , 3.4, 1.6, 0.4],\n",
" [ 5.2, 3.5, 1.5, 0.2],\n",
" [ 5.2, 3.4, 1.4, 0.2],\n",
" [ 4.7, 3.2, 1.6, 0.2],\n",
" [ 4.8, 3.1, 1.6, 0.2],\n",
" [ 5.4, 3.4, 1.5, 0.4],\n",
" [ 5.2, 4.1, 1.5, 0.1],\n",
" [ 5.5, 4.2, 1.4, 0.2],\n",
" [ 4.9, 3.1, 1.5, 0.1],\n",
" [ 5. , 3.2, 1.2, 0.2],\n",
" [ 5.5, 3.5, 1.3, 0.2],\n",
" [ 4.9, 3.1, 1.5, 0.1],\n",
" [ 4.4, 3. , 1.3, 0.2],\n",
" [ 5.1, 3.4, 1.5, 0.2],\n",
" [ 5. , 3.5, 1.3, 0.3],\n",
" [ 4.5, 2.3, 1.3, 0.3],\n",
" [ 4.4, 3.2, 1.3, 0.2],\n",
" [ 5. , 3.5, 1.6, 0.6],\n",
" [ 5.1, 3.8, 1.9, 0.4],\n",
" [ 4.8, 3. , 1.4, 0.3],\n",
" [ 5.1, 3.8, 1.6, 0.2],\n",
" [ 4.6, 3.2, 1.4, 0.2],\n",
" [ 5.3, 3.7, 1.5, 0.2],\n",
" [ 5. , 3.3, 1.4, 0.2],\n",
" [ 7. , 3.2, 4.7, 1.4],\n",
" [ 6.4, 3.2, 4.5, 1.5],\n",
" [ 6.9, 3.1, 4.9, 1.5],\n",
" [ 5.5, 2.3, 4. , 1.3],\n",
" [ 6.5, 2.8, 4.6, 1.5],\n",
" [ 5.7, 2.8, 4.5, 1.3],\n",
" [ 6.3, 3.3, 4.7, 1.6],\n",
" [ 4.9, 2.4, 3.3, 1. ],\n",
" [ 6.6, 2.9, 4.6, 1.3],\n",
" [ 5.2, 2.7, 3.9, 1.4],\n",
" [ 5. , 2. , 3.5, 1. ],\n",
" [ 5.9, 3. , 4.2, 1.5],\n",
" [ 6. , 2.2, 4. , 1. ],\n",
" [ 6.1, 2.9, 4.7, 1.4],\n",
" [ 5.6, 2.9, 3.6, 1.3],\n",
" [ 6.7, 3.1, 4.4, 1.4],\n",
" [ 5.6, 3. , 4.5, 1.5],\n",
" [ 5.8, 2.7, 4.1, 1. ],\n",
" [ 6.2, 2.2, 4.5, 1.5],\n",
" [ 5.6, 2.5, 3.9, 1.1],\n",
" [ 5.9, 3.2, 4.8, 1.8],\n",
" [ 6.1, 2.8, 4. , 1.3],\n",
" [ 6.3, 2.5, 4.9, 1.5],\n",
" [ 6.1, 2.8, 4.7, 1.2],\n",
" [ 6.4, 2.9, 4.3, 1.3],\n",
" [ 6.6, 3. , 4.4, 1.4],\n",
" [ 6.8, 2.8, 4.8, 1.4],\n",
" [ 6.7, 3. , 5. , 1.7],\n",
" [ 6. , 2.9, 4.5, 1.5],\n",
" [ 5.7, 2.6, 3.5, 1. ],\n",
" [ 5.5, 2.4, 3.8, 1.1],\n",
" [ 5.5, 2.4, 3.7, 1. ],\n",
" [ 5.8, 2.7, 3.9, 1.2],\n",
" [ 6. , 2.7, 5.1, 1.6],\n",
" [ 5.4, 3. , 4.5, 1.5],\n",
" [ 6. , 3.4, 4.5, 1.6],\n",
" [ 6.7, 3.1, 4.7, 1.5],\n",
" [ 6.3, 2.3, 4.4, 1.3],\n",
" [ 5.6, 3. , 4.1, 1.3],\n",
" [ 5.5, 2.5, 4. , 1.3],\n",
" [ 5.5, 2.6, 4.4, 1.2],\n",
" [ 6.1, 3. , 4.6, 1.4],\n",
" [ 5.8, 2.6, 4. , 1.2],\n",
" [ 5. , 2.3, 3.3, 1. ],\n",
" [ 5.6, 2.7, 4.2, 1.3],\n",
" [ 5.7, 3. , 4.2, 1.2],\n",
" [ 5.7, 2.9, 4.2, 1.3],\n",
" [ 6.2, 2.9, 4.3, 1.3],\n",
" [ 5.1, 2.5, 3. , 1.1],\n",
" [ 5.7, 2.8, 4.1, 1.3],\n",
" [ 6.3, 3.3, 6. , 2.5],\n",
" [ 5.8, 2.7, 5.1, 1.9],\n",
" [ 7.1, 3. , 5.9, 2.1],\n",
" [ 6.3, 2.9, 5.6, 1.8],\n",
" [ 6.5, 3. , 5.8, 2.2],\n",
" [ 7.6, 3. , 6.6, 2.1],\n",
" [ 4.9, 2.5, 4.5, 1.7],\n",
" [ 7.3, 2.9, 6.3, 1.8],\n",
" [ 6.7, 2.5, 5.8, 1.8],\n",
" [ 7.2, 3.6, 6.1, 2.5],\n",
" [ 6.5, 3.2, 5.1, 2. ],\n",
" [ 6.4, 2.7, 5.3, 1.9],\n",
" [ 6.8, 3. , 5.5, 2.1],\n",
" [ 5.7, 2.5, 5. , 2. ],\n",
" [ 5.8, 2.8, 5.1, 2.4],\n",
" [ 6.4, 3.2, 5.3, 2.3],\n",
" [ 6.5, 3. , 5.5, 1.8],\n",
" [ 7.7, 3.8, 6.7, 2.2],\n",
" [ 7.7, 2.6, 6.9, 2.3],\n",
" [ 6. , 2.2, 5. , 1.5],\n",
" [ 6.9, 3.2, 5.7, 2.3],\n",
" [ 5.6, 2.8, 4.9, 2. ],\n",
" [ 7.7, 2.8, 6.7, 2. ],\n",
" [ 6.3, 2.7, 4.9, 1.8],\n",
" [ 6.7, 3.3, 5.7, 2.1],\n",
" [ 7.2, 3.2, 6. , 1.8],\n",
" [ 6.2, 2.8, 4.8, 1.8],\n",
" [ 6.1, 3. , 4.9, 1.8],\n",
" [ 6.4, 2.8, 5.6, 2.1],\n",
" [ 7.2, 3. , 5.8, 1.6],\n",
" [ 7.4, 2.8, 6.1, 1.9],\n",
" [ 7.9, 3.8, 6.4, 2. ],\n",
" [ 6.4, 2.8, 5.6, 2.2],\n",
" [ 6.3, 2.8, 5.1, 1.5],\n",
" [ 6.1, 2.6, 5.6, 1.4],\n",
" [ 7.7, 3. , 6.1, 2.3],\n",
" [ 6.3, 3.4, 5.6, 2.4],\n",
" [ 6.4, 3.1, 5.5, 1.8],\n",
" [ 6. , 3. , 4.8, 1.8],\n",
" [ 6.9, 3.1, 5.4, 2.1],\n",
" [ 6.7, 3.1, 5.6, 2.4],\n",
" [ 6.9, 3.1, 5.1, 2.3],\n",
" [ 5.8, 2.7, 5.1, 1.9],\n",
" [ 6.8, 3.2, 5.9, 2.3],\n",
" [ 6.7, 3.3, 5.7, 2.5],\n",
" [ 6.7, 3. , 5.2, 2.3],\n",
" [ 6.3, 2.5, 5. , 1.9],\n",
" [ 6.5, 3. , 5.2, 2. ],\n",
" [ 6.2, 3.4, 5.4, 2.3],\n",
" [ 5.9, 3. , 5.1, 1.8]]), 'target': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
" 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
" 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n",
" 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n",
" 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2])}\n"
]
}
],
"source": [
"# sklearnからload_iris関数を用いてデータをロード\n",
"data = load_iris()\n",
"\n",
"print(data.keys())\n",
"print(data)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# ** Set Data **\n",
"features = data['data']\n",
"feature_names = data['feature_names']\n",
"target = data['target']\n",
"target_names = data['target_names']\n",
"labels = target_names[target]\n",
"\n",
"# print(feature_names)\n",
"# print(target)\n",
"# print(target_names)\n",
"# print(labels)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nxTk5YWMCKIrSRTzapG/8UkimzayGcyPcsmULzVhv4Lq7SQa6dHRn8eLF/miZ3d0y7forKCggn9BR\n7lauXMl6Qkf8jNRmODcsO3cSp/+GkVxUnLhsqtuLovSkELgW+Ago/fRTzjvvPFavXg1AQWfeOmBA\nays//vGPaWhoSJWpaUNRTg5Xd3SwurmZdUuWMGrUKLZu3Zpqs5QMJJpryVfmoo4O//26Dhgiwl13\n3cWf/vSnVJiuKJ5EB34pJJM2H7VzI8zLy+PfwAIgJy+P/9/evUfLVdZnHP8+h5MAkYIUFVAkYoEA\noiukmABBSMU2AbOkywsilovtEpdisaxiRZcaqK0aa6ugWKQiBQFBEW0UxcSSLIhtIIQAARLkIhAI\nYr2AgqiR/PrHfk8yGc7czpl9OXuez1pZzOWd/f5mn9kP8+55995HvPa1zJ07t+My203LbNff5MmT\nWQecv8sufPGqq3jgZz/juOOO27zcacCZZF/qun0PY5XH39BTNs36p9tLNjRfXmGQ+Vhh65duPksj\nbS4ZGtrq+P3GcwKYWZ+M9afCov9Rw6lUE+ksjO2mEbY7k2Y75557buzXYlpmu/7aneXuvPPOa3mx\n4zymQuZxds6JOGVzrChxKhUwD1gH/Aj4QIs25wH3ArcB09ssK69VZOPQ7lII7S6vMMh8ivwt6pBP\nZWZTN5+lxjbz58/ffJkHT/E0a2082VRKoI2p0Bp+sarLsRRjfR9nnnlm7APxL2k+/2hfznrV7pie\nPLR77/4C1VlZX6zIZjvcB0wFJqUvTvs1tTkauDbdngWsaLO8/FaSjVm7nUTtjusdZIO046mTOuRT\nmdnUzWepsU27cwKY2RbjySZP9SxRXab0DQ0Njel9DA0NbZ4ius2kSRx08MFMmzZtXLV0mgbab3mc\nndMKMRO4NyIeioiNwJXAsU1tjgUuBYiIm4CdJHm+2wTS7lII7Y7rHWQ+VrgSapFP3XyWGtu0OyeA\nmfXHcNkFDLKZM2fy4IMPDuz/ZI8++mh+cP75rHr6aX6+cSNHLV7MjCVL2LBhw5iPJznllFPYf//9\nW37Z67dOf8ORg9ZPeuaZvrw/65uXAOsb7j9C9mWrXZtH02M+y4WZ5cn5ZGa5qMTAT9JFwHzg8Yh4\nVdn1FKUue1Y3bdq05ZetG27gsCOO4KMLF3b81W94eBgNDfGZoSE+te22HHbEEVyycOG4BkXt9vDn\n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\ngg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x8838590>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# ** plot **\n",
"fig = plt.figure(figsize=(15,9))\n",
"ary = [(0,1),(0,2),(0,3),(1,2),(1,3),(2,3)]\n",
"\n",
"ig=1\n",
"for ix,iy in ary:\n",
" ax = fig.add_subplot(2,3,ig)\n",
" ig += 1\n",
" \n",
" \n",
" for t,marker,c in zip(set(target), \">ox\", \"rgb\"):\n",
" x_index = ix\n",
" y_index = iy\n",
" # クラスごとに異なるマーカーでプロットする\n",
" plt.scatter(features[target == t, x_index], features[target == t, y_index], marker=marker, c=c, label=target_names[t])\n",
"\n",
" plt.xlabel(feature_names[x_index])\n",
" plt.ylabel(feature_names[y_index])\n",
" plt.legend()\n",
" "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 2.1.2 初めての分類モデルの作成\n",
"花を3つの品種に分類することを考えます.たとえば,「花弁の長さ(Petal length)」を用いると, Setosaという品種のアイリスと他の品種を見分け切れそうです."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Maximum of setosa : 1.9.\n",
"Minimum of others : 3.0.\n"
]
}
],
"source": [
"plength = features[:,2]\n",
"is_setosa = (labels == 'setosa')\n",
"\n",
"# (重要)\n",
"max_setosa = plength[is_setosa].max()\n",
"min_non_setosa = plength[~is_setosa].min()\n",
"print('Maximum of setosa : {0}.'.format(max_setosa))\n",
"print('Minimum of others : {0}.'.format(min_non_setosa))"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# 上のコードを実行するとsetosaはpetal lengthを使って分類できることが分かる\n",
"def apply_model(example):\n",
" if example[2] < 2:\n",
" print('Iris Setosa')\n",
" else:\n",
" print('Iris Virginica or Iris Versicolor')\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"一つの次元(特徴量)において閾値をさだめただけで,Setosaとその他のアイリスを分類できた.\n",
"しかし,VersicolorとVirginicaは,分類のための最適な閾値は見つからないでしょう."
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(100, 4) (150, 4)\n",
"{'versicolor', 'virginica'}\n",
"Best acc : 50.\n",
"Best fi : [1] sepal width (cm)\n",
"Best t : 2.0.\n"
]
}
],
"source": [
"# Setosa以外の特徴量とラベルを選ぶ\n",
"_features = features[~is_setosa]\n",
"print(_features.shape, features.shape)\n",
"_labels = labels[~is_setosa]\n",
"print(set(_labels))\n",
"virginica = (labels == 'virginica')\n",
"\n",
"best_acc = -1.0\n",
"best_fi = -1.0\n",
"best_t = -1.0\n",
"\n",
"for fi in range(_features.shape[1]):\n",
"\n",
" # 各特徴量ごとに閾値の候補を生成する\n",
" thresh = _features[:,fi].copy()\n",
" thresh.sort()\n",
" \n",
" # 全ての閾値でテスト\n",
" for t in thresh:\n",
"# print(\"t:\",t)\n",
" pred = (_features[:,fi] > t)\n",
"# print(_labels[pred])\n",
" \n",
" acc = (_labels[pred] == 'virginica').sum()\n",
"# print(\"sum:\",acc,pred.sum())\n",
" \n",
" if acc > best_acc:\n",
" best_acc = acc\n",
" best_fi = fi\n",
" best_t = t\n",
" \n",
"print('Best acc : {0}.'.format(best_acc))\n",
"print('Best fi : [{0}] {1}'.format(best_fi, feature_names[best_fi]))\n",
"print('Best t : {0}.'.format(best_t))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"参考書が間違っている? 上記コードの場合,端部の一つを閾値とした場合,選択されるサンプルは1つで100%となる.誤判別はしてないが,取りこぼしが多い.気にせずすすもう.\n",
"以上.(2016/06/29)"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Training error was 97.8% (N=100)\n",
"Training error was 97.8% (N=150)\n"
]
}
],
"source": [
"best_fi = 3\n",
"best_t = 1.7\n",
"\n",
"def apply_model(example):\n",
" if example[best_fi] > best_t:\n",
" print('virginica')\n",
" else:\n",
" print('versicolor') \n",
"\n",
"def apply_modes(examples, labels):\n",
" pred = (examples[:,best_fi] > best_t)\n",
" acc = (labels[pred] == 'virginica').mean()\n",
" return acc\n",
"\n",
"acc = apply_modes(features[~is_setosa], labels[~is_setosa])\n",
"print('Training error was {0:.1f}% (N={1})'.format(acc*100, features[~is_setosa].shape[0]))\n",
"\n",
"acc = apply_modes(features, labels)\n",
"print('Training error was {0:.1f}% (N={1})'.format(acc*100, features.shape[0]))\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### 保持したデータと交差検定で評価を行う\n",
"参考書にコードが載っていないので,メタコードだけ記述"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {
"collapsed": true
},
"outputs": [
{
"ename": "NameError",
"evalue": "name 'lean_model' is not defined",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m<ipython-input-30-ad96a50cb591>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 6\u001b[0m \u001b[0mtraining\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mei\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;32mFalse\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 7\u001b[0m \u001b[0mtesting\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m~\u001b[0m\u001b[0mtraining\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 8\u001b[1;33m \u001b[0mmodel\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mlean_model\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfeatures\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mtraining\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mvirginica\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mtraining\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 9\u001b[0m \u001b[0mpredictions\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mapply_model\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfeatures\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mtesting\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mvirginica\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mtesting\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmodel\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 10\u001b[0m \u001b[0merror\u001b[0m \u001b[1;33m+=\u001b[0m \u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msum\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mpredictions\u001b[0m \u001b[1;33m!=\u001b[0m \u001b[0mvirginica\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mtesting\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;31mNameError\u001b[0m: name 'lean_model' is not defined"
]
}
],
"source": [
"virginica = (labels == 'virginica')\n",
"error = 0.0\n",
"\n",
"def lean_model(training, varidate):\n",
" pass\n",
"\n",
"def apply_mode(examples, varidate, model):\n",
" \n",
" pass\n",
"\n",
"for ei in range(len(features)):\n",
" # ei番目を除いた全てのデータを用いて訓練する\n",
" training = np.ones(len(features), bool)\n",
" training[ei] = False\n",
" testing = ~training\n",
" model = lean_model(features[training], virginica[training])\n",
" predictions = apply_model(features[testing], virginica[testing], model)\n",
" error += np.sum(predictions != virginica[testing])\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 交差検定の種類\n",
"- leave-one-out法:1データだけをテストに用いる方法.その場合,今回の場合だと本来の100倍の処理が必要.\n",
"- K-fold Cross Validation : データセットをK=5-10分割し,ブロックにわけ,ブロックごとに訓練,テストを行う.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 2.2 さらに複雑なクラス分類器の作成\n",
"- モデル構造 \n",
"ここでは,ある一つの特徴量に対する閾値を用いた.\n",
"- 探索アルゴリズム \n",
"ここでは,特徴量と閾値の全ての組み合わせを指向し,最適な組み合わせを選んだ. \n",
"- 損失関数 \n",
"損失関数を用いることで,より悪くないモデルを選択できる. \n",
"訓練誤差を用い,これをひとつの到達点とすることで,最適な正解率に到達できたか,判断の一つとして考えることができる. \n",
"一般的には,損失関数を最小にするような手法について考えることになる.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 2.3 より複雑なデータセットとクラス分類\n",
"### 2.3.1 種(たね)データセット\n",
"[UCI機械学習データセット・リポジトリ](http://archive.ics.uci.edu/ml/)\n",
"\n",
"\n",
"### 2.3.3 最近傍法 (Nearest neighbor classification)\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def distance(p0,p1):\n",
" u'ユークリッド距離の計算'\n",
" return np.sum( (p0-p1) ** 2)\n",
"\n",
"def nn_classify(training_set, training_labels, new_example):\n",
" dists = np.array([distance(t, new_example) for t in training_set])\n",
" nearest = dists.argmin()\n",
" return training_labels[nearest]\n",
"\n",
"#Zスコア\n",
"feature -= features.mean(axis=0)\n",
"feature /= features.std(axis=0)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### まとめ \n",
"参考書内の説明とコードが一致していない.写経して学ぶには不適切.機械学習の雰囲気を知るには良い.読み物としては良い章である."
]
}
],
"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.5.1"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment