zoukankan      html  css  js  c++  java
  • Python数据挖掘—回归—线性回归

    简单线性回归

    步骤:

    1、读取数据

    2、画出散点图,求x和y 的相关系数:plt.scatter(x,y),x和y是dataframe

    3、估计参数模型,建立回归模型:lrModel=LinearRegression()

    4、训练模型: lrModel.fit(x,y)

    5、对回归模型进行检验: lrModel.score(x,y)

    6、利用回归模型进行预测:  lrModel.predict()

     1 import numpy
     2 from pandas import read_csv
     3 from matplotlib import pyplot as plt
     4 from sklearn.linear_model import LinearRegression
     5 
     6 data=read_csv(
     7     "C:\Users\Jw\Desktop\python_work\Python数据挖掘实战课程课件\4.1\data.csv")
     8 
     9 #第二步,画出散点图,求x和y 的相关系数
    10 plt.scatter(data.广告投入,data.销售额)
    11 
    12 data.corr()
    13 
    14 #第三部,估计模型参数,建立回归模型
    15 lrModel=LinearRegression()
    16 
    17 x=data[["广告投入"]]      #一个[]是series,两个是dataframe
    18 y=data[["销售额"]]
    19 
    20 
    21 #训练模型
    22 lrModel.fit(x,y)
    23 
    24 
    25 #第四步,对回归模型进行检验
    26 lrModel.score(x,y)
    27 
    28 #第五步,利用回归模型进行预测
    29 lrModel.predict([[50],[40],[30]])

    同时还可以看截距与斜率:

    alpha=lrModel.intercept_[0]

    beta=lrModel.coef_[0][0]

    alpha+beta*numpy.array([50,40,30])

     

    多重线性回归

    步骤:

    1、读取数据

    2、建模

    3、训练模型

    4、评分

    5、预测

     1 import pandas;
     2 import matplotlib;
     3 from pandas.tools.plotting import scatter_matrix;
     4 
     5 data = pandas.read_csv(
     6     'D:\PDM\4.2\data.csv'
     7 )
     8 
     9 font = {
    10     'family' : 'SimHei'
    11 }
    12 matplotlib.rc('font', **font)
    13 
    14 scatter_matrix(
    15     data[["店铺的面积", "距离最近的车站", "月营业额"]], 
    16     figsize=(10, 10), diagonal='kde'
    17 )
    18 
    19 data[["店铺的面积", "距离最近的车站", "月营业额"]].corr()
    20 
    21 x = data[["店铺的面积", "距离最近的车站"]]
    22 y = data[["月营业额"]]
    23 
    24 from sklearn.linear_model import LinearRegression
    25 #建模
    26 lrModel = LinearRegression()
    27 #训练模型
    28 lrModel.fit(x, y)
    29 #评分
    30 lrModel.score(x, y)
    31 #预测
    32 lrModel.predict([10, 110])
    33 
    34 lrModel.predict([[10, 110],[20, 110]])
    35 
    36 #查看参数
    37 lrModel.coef_
    38 
    39 #查看截距
    40 lrModel.intercept_
  • 相关阅读:
    ES6 Set
    JavaScript 之 对象属性的特性 和defineProperty方法
    ES6 ... 展开&收集运算符
    ES6 箭头函数
    ES6 解构 destructuring
    canvas之事件交互效果isPointPath
    跨域及JSONP原理
    P03 显示隐藏
    最长公共子序列
    P02 CSS样式
  • 原文地址:https://www.cnblogs.com/U940634/p/9741280.html
Copyright © 2011-2022 走看看