{ "cells": [ { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# 安装第三方库\n", "!pip install scikit-learn pandas matplotlib numpy" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "from sklearn import linear_model\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
xy
0107.70
1109.87
21111.18
31210.43
41312.36
51414.15
61515.73
71616.40
81718.86
91816.13
101918.21
112018.37
122122.61
132219.83
142322.67
152422.70
162525.16
172625.55
182728.21
192828.12
\n", "
" ], "text/plain": [ " x y\n", "0 10 7.70\n", "1 10 9.87\n", "2 11 11.18\n", "3 12 10.43\n", "4 13 12.36\n", "5 14 14.15\n", "6 15 15.73\n", "7 16 16.40\n", "8 17 18.86\n", "9 18 16.13\n", "10 19 18.21\n", "11 20 18.37\n", "12 21 22.61\n", "13 22 19.83\n", "14 23 22.67\n", "15 24 22.70\n", "16 25 25.16\n", "17 26 25.55\n", "18 27 28.21\n", "19 28 28.12" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 读取并展示数据\n", "data = pd.read_csv('./data/simple_example.csv')\n", "data" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "features = ['x']\n", "labels = ['y']\n", "# 划分训练集和测试集\n", "train_data = data[:15]\n", "test_data = data[15:]" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
LinearRegression()
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "LinearRegression()" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 创建一个线性回归模型\n", "model = linear_model.LinearRegression()\n", "# 训练模型,估计模型参数\n", "model.fit(train_data[features], train_data[labels])" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(0.7261890496067369, 0.8284302073217281)" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 均方差(Mean Squared Error),均方差越小越好\n", "error = model.predict(test_data[features]) - test_data[labels]\n", "mse = np.mean(error.values ** 2)\n", "# 决定系数(Coefficient of Determination),决定系数越接近1越好\n", "score = model.score(test_data[features], test_data[labels])\n", "mse, score" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# 为在Matplotlib中显示中文,设置特殊字体\n", "plt.rcParams['font.sans-serif'] = ['SimHei']\n", "plt.rcParams['axes.unicode_minus'] = False\n", "plt.rcParams.update({'font.size': 13})\n", "# 创建一个图形框\n", "fig = plt.figure(figsize=(6, 6), dpi=100)\n", "# 在图形框里只画一幅图\n", "ax = fig.add_subplot(111)\n", "ax.set_title('线性回归示例')\n", "ax.set_xlabel('$x$')\n", "ax.set_ylabel('$y$')\n", "# 画点图,用蓝色圆点表示原始数据\n", "ax.scatter(data[features], data[labels], color='b', label='真实值: $y = x + \\epsilon$')\n", "# 根据截距的正负,打印不同的标签\n", "if model.intercept_ > 0:\n", " label = f'预测值: $y = {model.coef_.item():.3f}x$ + {model.intercept_.item():.3f}'\n", "else:\n", " label = f'预测值: $y = {model.coef_.item():.3f}x$ - {abs(model.intercept_.item()):.3f}'\n", "# 画线图,用红色线条表示模型结果\n", "ax.plot(data[features], model.predict(data[features]), color='r', label=label)\n", "# 设置图例的样式\n", "legend = plt.legend(shadow=True)\n", "legend.get_frame().set_facecolor('#6F93AE')\n", "# 显示均方差和决定系数\n", "ax.text(0.99, 0.01, f'均方差:{mse:.3f}\\n决定系数:{score:.3f}',\n", " style='italic', verticalalignment='bottom', horizontalalignment='right',\n", " transform=ax.transAxes, color='m', fontsize=16)\n", "plt.savefig('linear_ml.png', dpi=200)\n", "plt.show()" ] } ], "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 }