线性回归

import numpy as np
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt
from sklearn import datasetsboston = datasets.load_boston()
X = np.linspace(0,10,50).reshape(-1,1)
y = np.random.randint(2,8,size = 1)*X
lr = LinearRegression()
lr.fit(X,y)
lr.coef_

结果:

array([[6.]])
np.linalg.inv(X.T.dot(X)).dot(X.T).dot(y)

结果:

array([[6.]])
import numpy as np
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt
from sklearn import datasetsboston = datasets.load_boston()
X = boston["data"]
y = boston["target"]from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size = 0.2)
lr = LinearRegression(fit_intercept=False)   #无节距项
lr.fit(X_train,y_train)
display(lr.coef_)

结果:

array([-0.09658799,  0.05599672,  0.03013616,  1.45157192, -4.07971464,6.18315919, -0.00863918, -1.07320341,  0.20322344, -0.0119546 ,-0.46352335,  0.01637687, -0.34683478])
lr.predict(X_test).round(2)[:25]
y_test[:25]

结果:

array([18.26, 37.55, 14.86, 20.53, 22.97, 20.69, 17.65, 32.18, 20.7 ,24.66, 28.49, 18.24, 14.52, 19.25, 29.79, 26.76, 10.12, 25.98,26.13, 12.63, 34.08, 20.  ,  8.71, 10.48, 25.89])
array([15.2, 38.7, 10.5, 18.7, 21.4, 20.3, 20.1, 32.9, 18.4, 23.1, 24.5,16.6,  5.6, 18.3, 23.9, 29.6,  9.7, 27.5, 22.3, 10.9, 32.4, 22. ,5. , 15. , 33. ])
lr = LinearRegression(fit_intercept=True)     #有节距项
lr.fit(X_train,y_train)
display(lr.coef_,lr.intercept_)

结果:

array([-9.94766317e-02,  5.44854535e-02,  6.03291813e-02,  1.50876449e+00,-1.76905662e+01,  4.18905856e+00, -4.27011696e-03, -1.57205884e+00,3.08980719e-01, -1.45887337e-02, -9.71587245e-01,  1.08299085e-02,-4.56869319e-01])
34.23878006740861
lr.predict(X_test).round(2)[:15]

结果:

array([16.28, 35.99, 13.3 , 21.  , 23.78, 22.35, 18.65, 30.84, 18.93,24.54, 27.7 , 18.46, 12.88, 19.22, 27.89])
(X_test.dot(lr.coef_)+lr.intercept_).round(2)[:15]

结果:

array([16.28, 35.99, 13.3 , 21.  , 23.78, 22.35, 18.65, 30.84, 18.93,24.54, 27.7 , 18.46, 12.88, 19.22, 27.89])

线性回归——天猫双十一销量预测

import numpy as np
import matplotlib.pyplot as plt
years = np.arange(2009,2020)-2008
sales = np.array([0.5,9.36,52,191,352,571,912,1207,1682.69,2135,2684])plt.scatter(years,sales,c = "red",marker = "*")

import numpy as np
import matplotlib.pyplot as plt
X = years = np.arange(2009,2020)-2008
y = sales = np.array([0.5,9.36,52,191,352,571,912,1207,1682.69,2135,2684])
X = X.reshape(-1,1)
plt.scatter(years,sales,c = "red",marker = "*")

from sklearn.linear_model import LinearRegression
lr = LinearRegression(fit_intercept=True)
lr.fit(X,y)
w = lr.coef_[0]      #weight权重
b = lr.intercept_    #bias偏差
display(w,b)

结果:

267.3102727272729
-713.266181818183
plt.scatter(years,sales,c = "red",marker = "*")
plt.plot(X , w*X+b , c = "green")

#假设函数是一元二次f(x) = w1*x**2 + w2*x +b
lr = LinearRegression(fit_intercept=True)
X2 = np.concatenate([X**2,X],axis = 1)
lr.fit(X2,y)
w1,w2 = lr.coef_      #weight权重
b = lr.intercept_    #bias偏差
plt.scatter(years,sales,c = "red",marker = "*")
plt.plot(X , w1*X**2+w2*X+b , c = "green")

#预测2020销量
f = lambda x:w1*x**2 + w2*x + b
f(12)

结果:

3280.062242424243

机器学习Sklearn实战——线性回归相关推荐

  1. svd降维 python案例_菜菜的机器学习sklearn实战-----sklearn中的降维算法PCA和SVD

    菜菜的机器学习sklearn实战-----sklearn中的降维算法PCA和SVD 概述 从什么叫维度说开来 简单讲,shape中返回了几个数字就是几维. 一张表最多就是一维 当一个数组中存在2张3行 ...

  2. 菜菜的机器学习sklearn实战-----sklearn入门与决策树

    菜菜的机器学习sklearn实战-----sklearn入门与决策树 菜菜的机器学习sklearn实战-----sklearn入门与决策树 sklearn入门 决策树 概述 决策树是如何工作的 skl ...

  3. 机器学习sklearn实战-----随机森林调参乳腺癌分类预测

    机器学习sklearn随机森林乳腺癌分类预测 机器学习中调参的基本思想: 1)非常正确的调参思路和方法 2)对模型评估指标有深入理解 3)对数据的感觉和经验 文章目录 机器学习sklearn随机森林乳 ...

  4. 机器学习Sklearn实战——其他线性回归模型、逻辑回归

    线性回归岭回归套索回归比较 import numpy as np from sklearn.linear_model import LinearRegression,Ridge,Lasso#50样本, ...

  5. 机器学习Sklearn实战——手写线性回归

    手写线性回归 import numpy as np import matplotlib.pyplot as plt from sklearn.linear_model import LinearReg ...

  6. 机器学习Sklearn实战——其他线性模型

    其他线性模型 岭回归   相比于传统的ols,在梯度下降的时候多了一项-learning_rate*2aw.无论w是正还是负,都让结果的绝对值变小(让系数变小,防止过拟合) 正则化  欠拟合:系数少, ...

  7. 机器学习代码实战——线性回归(多变量)(Linear Regression)

    文章目录 1.实验目的 2.导入必要模块并读取数据 3.对数据进行处理 3.1.experience字段数字化 3.2.test_score(out of 10)字段NaN替换为平均数 4.训练+预测 ...

  8. 机器学习代码实战——线性回归(单变量)(Linear Regression)

    文章目录 1.实验目的 2.导入必要模块并读取数据 3.画当前数据分布散点图 4.提取数据和标签 5.训练+预测 1.实验目的 使用线性回归模型预测2020年加拿大公民的人均收入. 数据链接 密码:z ...

  9. 机器学习Sklearn实战——adaboost

    pandas批量处理体测成绩 import numpy as np import pandas as pd from pandas import Series,DataFrame import mat ...

最新文章

  1. 微信 服务器地址的有效性,C# 微 信 公众平台 验证服务器地址的有效性
  2. php权限二进制,PHP_二进制交叉权限微型php类分享,靓点:1、多对多交叉场景分配 - phpStudy...
  3. SAP FI模块与SD、MM的接口配置
  4. Thread的join方法使用解析
  5. 速战速决?你不会是不行吧......
  6. @WebFilter注解
  7. C++轻量级Json解析工具—TinyJson
  8. 将List类型数据转为json
  9. LimeSurvey 安装
  10. Joiner.on和stream().map联合使用技巧
  11. 成人学位英语词汇易混淆的125个词
  12. linux串口工具 kermit,ubuntu串口工具(minicom、kermit)的使用
  13. 微服务的优缺点_支付宝上的好医保长期医疗险这款保险到底怎么样?保障全面吗?有哪些优缺点?值得买吗?...
  14. linux 加路由 网络不可达,无法添加静态路由:SIOADDRT:网络不可达
  15. hdu-2852 KiKi's K-Number---二分+树状数组
  16. 思岚科技发布最新中小型机器人开发平台Apollo
  17. 河南大学2019计算机专业录取分数线,2019河南大学本科录取分数线(含历年录取分数线)...
  18. Python期末复习题:流程控制
  19. java小光棍数_java做题记录第4期
  20. win7设置计算机临时用户,为什么Win7用域账号登录以后总显示为临时配置账户? 穿墙书店...

热门文章

  1. mysql参数优化51cto_超详细MySQL数据库优化
  2. C++中的静态成员函数
  3. mysql命令行查看端口占用_linux下常用命令查看端口占用
  4. php删除多表数据,mysql – 从多个表中删除数据
  5. java 学习心得 (近期的)
  6. 图形界面不卡的linux,图形化界面linux(linaro)的安装小结
  7. hbase把表删除后又新建该表提示表已存在,解决方案
  8. Linux下CMake简明教程(九) 添加控制选项
  9. c 语言 结构体的引用
  10. mysql监测攻击_如何检测SQL注入技术以及跨站脚本攻击