diff --git a/2_knn/knn_classification.ipynb b/2_knn/knn_classification.ipynb index 90c4c9c..d887a77 100644 --- a/2_knn/knn_classification.ipynb +++ b/2_knn/knn_classification.ipynb @@ -97,7 +97,7 @@ "* 问题:我们需要解决的问题是什么?\n", "* 核心思想: 通过什么手段解决问题?\n", "* 数学理论: 如何构建数学模型,使用什么数学方法?\n", - "* 算法: 如何将数学理论、处理流程转化成计算机可以实现的算法?\n", + "* 算法: 如何将数学理论、处理流程转化成计算机可以实现的程序?\n", "* 编程: 如何把算法变成可以计算机执行的程序?\n", "* 测试: 如何使用训练、测试数据来验证算法\n", "* 深入思考:所采用的方法能够取得什么效果,存在什么问题,如何改进?\n" @@ -209,8 +209,10 @@ }, { "cell_type": "code", - "execution_count": 6, - "metadata": {}, + "execution_count": 5, + "metadata": { + "scrolled": true + }, "outputs": [ { "name": "stdout", @@ -279,6 +281,38 @@ }, { "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# 绘制结果\n", + "for i in range(len(y_train_est)):\n", + " if y_train_est[i] == 0:\n", + " plt.scatter(x_train[i,0],x_train[i,1], s=38, c = 'r', marker='.')\n", + " else:\n", + " plt.scatter(x_train[i,0],x_train[i,1], s=38, c = 'b', marker='^') \n", + "#plt.rcParams['figure.figsize']=(12.0, 8.0)\n", + "mpl.rcParams['font.family'] = 'SimHei'\n", + "plt.title(\"Train Results\")\n", + "plt.savefig(\"fig-res-knn-train-res.pdf\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ @@ -510,7 +544,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 14, "metadata": {}, "outputs": [ {