【342】Linear Regression by Python

Reference: 用scikit-learn和pandas学习线性回归

  • 首先获取数据存储在 pandas.DataFrame 中,获取途径(CSV 文件、Numpy 创建)
  • 将数据分成 X 和 y,X 可以含有多列,也就是多个参数
  • 通过 Linear Regression 计算
  • 获取 intercept 和 coefficient

实现步骤如下:

>>> import numpy as np
>>> import pandas as pd
>>> from sklearn import datasets, linear_model
>>> from sklearn.linear_model import LinearRegression
>>> data = np.array([
	['X', 'y'],
	[2.0, 2.2],
	[3.0, 3.8],
	[4.0, 5.5],
	[5.0, 6.5],
	[6.0, 7.0]])
>>> lr = pd.DataFrame(data=data[1:,:],
		      columns=data[0,:])
>>> lr
     X    y
0  2.0  2.2
1  3.0  3.8
2  4.0  5.5
3  5.0  6.5
4  6.0  7.0
>>> X = lr[['X']]
>>> X
     X
0  2.0
1  3.0
2  4.0
3  5.0
4  6.0
>>> y = lr[['y']]
>>> y
     y
0  2.2
1  3.8
2  5.5
3  6.5
4  7.0
>>> linreg = LinearRegression()
>>> linreg.fit(X, y)
LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,
         normalize=False)
>>> linreg.intercept_
array([0.08])
>>> linreg.coef_
array([[1.23]])


代码如下:

>>> data = np.array([[3,2.5],[4,3],[5,4],[6,4.5]])
>>> lr = pd.DataFrame(data)
>>> X = lr[[0]]
>>> y = lr[[1]]
>>> linReg = LinearRegression()
>>> linReg.fit(X, y)
LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,
         normalize=False)
>>> linReg.intercept_
array([0.35])
>>> linReg.coef_
array([[0.7]])
原文地址:https://www.cnblogs.com/alex-bn-lee/p/10043875.html