{ "cells": [ { "cell_type": "markdown", "metadata": { "toc-hr-collapsed": true }, "source": [ "# Sklearn 中的线性回归计算" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "ExecuteTime": { "end_time": "2019-08-12T12:45:35.516063Z", "start_time": "2019-08-12T12:45:35.507465Z" } }, "outputs": [], "source": [ "from prettyPicture import prettyPicture\n", "import matplotlib.pyplot as plt\n", "import numpy\n", "import matplotlib\n", "#声明 sklearn 的线性模型\n", "from sklearn import linear_model\n", "matplotlib.use('agg')\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "先导入了训练数据,因为 github 上没有给出生成数据的源码,所以就用笨办法复制出来了。" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "ExecuteTime": { "end_time": "2019-08-12T12:45:37.920203Z", "start_time": "2019-08-12T12:45:37.897902Z" }, "code_folding": [ 0, 75, 100, 175 ], "run_control": { "marked": false } }, "outputs": [], "source": [ "ages_train = [[36],\n", " [61],\n", " [30],\n", " [21],\n", " [47],\n", " [35],\n", " [44],\n", " [64],\n", " [24],\n", " [55],\n", " [38],\n", " [47],\n", " [60],\n", " [61],\n", " [34],\n", " [24],\n", " [23],\n", " [30],\n", " [35],\n", " [50],\n", " [45],\n", " [20],\n", " [32],\n", " [58],\n", " [62],\n", " [65],\n", " [59],\n", " [44],\n", " [45],\n", " [32],\n", " [30],\n", " [52],\n", " [51],\n", " [64],\n", " [30],\n", " [53],\n", " [39],\n", " [48],\n", " [45],\n", " [30],\n", " [45],\n", " [49],\n", " [21],\n", " [29],\n", " [32],\n", " [25],\n", " [22],\n", " [32],\n", " [41],\n", " [57],\n", " [49],\n", " [63],\n", " [56],\n", " [46],\n", " [48],\n", " [48],\n", " [32],\n", " [21],\n", " [59],\n", " [43],\n", " [24],\n", " [53],\n", " [64],\n", " [29],\n", " [43],\n", " [53],\n", " [27],\n", " [32],\n", " [27],\n", " [33],\n", " [37],\n", " [65],\n", " [58],\n", " [49],\n", " [39]]\n", "ages_test = [[57],\n", " [27],\n", " [29],\n", " [22],\n", " [23],\n", " [57],\n", " [37],\n", " [30],\n", " [49],\n", " [49],\n", " [31],\n", " [21],\n", " [37],\n", " [24],\n", " [37],\n", " [22],\n", " [46],\n", " [65],\n", " [38],\n", " [51],\n", " [30],\n", " [34],\n", " [58],\n", " [52],\n", " [63]]\n", "net_worths_train = [[154.47839379],\n", " [360.51919127],\n", " [182.8740687 ],\n", " [152.95240174],\n", " [282.08225001],\n", " [221.45112819],\n", " [285.44221089],\n", " [378.22469102],\n", " [165.02792073],\n", " [397.99960114],\n", " [270.37610018],\n", " [306.3198933 ],\n", " [373.56695844],\n", " [444.41851262],\n", " [226.965441 ],\n", " [131.57444916],\n", " [ 84.60912039],\n", " [184.61959514],\n", " [223.18690359],\n", " [207.71019584],\n", " [232.416254 ],\n", " [ 68.50785195],\n", " [214.28450286],\n", " [338.4744524 ],\n", " [390.98188273],\n", " [442.86608471],\n", " [359.36651466],\n", " [274.46011101],\n", " [258.75849883],\n", " [242.28488905],\n", " [168.96329229],\n", " [315.96894798],\n", " [309.38452172],\n", " [357.69156284],\n", " [167.42971826],\n", " [321.88386501],\n", " [230.64351414],\n", " [221.61319504],\n", " [236.99660104],\n", " [146.98675519],\n", " [272.46312449],\n", " [347.4899809 ],\n", " [171.39131592],\n", " [195.70582422],\n", " [174.19520982],\n", " [160.13310197],\n", " [121.81567387],\n", " [172.92311999],\n", " [244.28970598],\n", " [319.92903698],\n", " [326.11856612],\n", " [418.21705155],\n", " [321.91787624],\n", " [346.61576179],\n", " [338.74579962],\n", " [337.25120476],\n", " [225.90754152],\n", " [125.71942795],\n", " [315.62255804],\n", " [250.12080986],\n", " [128.80959185],\n", " [318.88150497],\n", " [400.20453827],\n", " [165.84670878],\n", " [281.90004439],\n", " [405.34112738],\n", " [182.00053726],\n", " [203.67043106],\n", " [111.76007255],\n", " [194.20585218],\n", " [244.21335878],\n", " [418.09481108],\n", " [370.8545438 ],\n", " [298.82364093],\n", " [224.97102456]]\n", "net_worths_test = [[332.18173551],\n", " [135.18129907],\n", " [104.71879021],\n", " [144.35473125],\n", " [174.44738917],\n", " [414.87595076],\n", " [172.70940207],\n", " [248.42119426],\n", " [319.99473158],\n", " [237.2532867 ],\n", " [114.24724342],\n", " [140.92849086],\n", " [270.27180508],\n", " [103.9602569 ],\n", " [264.15179648],\n", " [158.03069732],\n", " [295.37444943],\n", " [387.08303049],\n", " [205.16025588],\n", " [270.90173504],\n", " [158.70623166],\n", " [275.08574623],\n", " [395.0010329 ],\n", " [354.5386632 ],\n", " [455.27146266]]" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "ExecuteTime": { "end_time": "2019-08-12T12:45:38.821156Z", "start_time": "2019-08-12T12:45:38.816609Z" } }, "outputs": [], "source": [ "def studentReg(ages_train, net_worths_train):\n", " #声明一个线性回归器\n", " reg = linear_model.LinearRegression()\n", " #开始训练\n", " reg.fit(ages_train, net_worths_train)\n", " #返回回归器\n", " return reg" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**“R 平方”**是一种用来评估回归方程效果的参数。" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "ExecuteTime": { "end_time": "2019-08-12T12:53:21.303044Z", "start_time": "2019-08-12T12:53:21.292207Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Slope: [[6.47354955]]\n", "Interception: [-14.35378331]\n", "The R-squared score for test dataset is 0.8123657292322277\n", "The R-squared score for train dataset is 0.8745882358226372\n" ] } ], "source": [ "reg = studentReg(ages_train, net_worths_train)\n", "slope = reg.coef_\n", "interception = reg.intercept_\n", "r_squared_score_test = reg.score(ages_test, net_worths_test)\n", "r_squared_score_train = reg.score(ages_train, net_worths_train)\n", "\n", "print(\"Slope:\",slope)\n", "print(\"Interception:\",interception)\n", "print(\"The R-squared score for test dataset is\",r_squared_score_test)\n", "print(\"The R-squared score for train dataset is\",r_squared_score_train)\n", "\n", "# plt.savefig(\"Linear_regression.png\")\n", "#output_image(\"test.png\", \"png\", open(\"test.png\", \"rb\").read())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "绘图代码放在下边" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "ExecuteTime": { "end_time": "2019-08-12T12:53:35.672901Z", "start_time": "2019-08-12T12:53:35.350106Z" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.clf()\n", "plt.scatter(ages_train, net_worths_train, color=\"b\", label=\"train data\")\n", "plt.scatter(ages_test, net_worths_test, color=\"r\", label=\"test data\")\n", "plt.plot(ages_test, reg.predict(ages_test), color=\"black\")\n", "plt.legend(loc=2)\n", "plt.xlabel(\"ages\")\n", "plt.ylabel(\"net worths\")\n", "plt.show()\n", "\n", "print ( \"he\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "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.7.3" }, "toc-showmarkdowntxt": true }, "nbformat": 4, "nbformat_minor": 4 }