diff --git a/doc/Textbooks/MachineLearningM.pdf b/doc/Textbooks/MachineLearningM.pdf new file mode 100644 index 000000000..06aeee49f Binary files /dev/null and b/doc/Textbooks/MachineLearningM.pdf differ diff --git a/doc/pub/How2ReadData/ipynb/How2ReadData.ipynb b/doc/pub/How2ReadData/ipynb/How2ReadData.ipynb index 057ff0c1a..c306f06b6 100644 --- a/doc/pub/How2ReadData/ipynb/How2ReadData.ipynb +++ b/doc/pub/How2ReadData/ipynb/How2ReadData.ipynb @@ -188,11 +188,30 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 1, "metadata": { "collapsed": false }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/usr/local/lib/python3.6/site-packages/scipy/linalg/basic.py:1226: RuntimeWarning: internal gelsd driver lwork query error, required iwork dimension not returned. This is likely the result of LAPACK bug 0038, fixed in LAPACK 3.2.2 (released July 21, 2010). Falling back to 'gelss' driver.\n", + " warnings.warn(mesg, RuntimeWarning)\n" + ] + }, + { + "data": { + "image/png": "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\nRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n",