Machine Learning (1) - Linear Regression

引入包及数据文件

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn import linear_model
df = pd.read_csv('/Users/rachel/Downloads/py-master/ML/1_linear_reg/homeprices.csv')
df

Machine Learning (1) - Linear Regression

建立数据模型

reg = linear_model.LinearRegression() // 建立模型
reg.fit(df[['area']], df.price) // 为模型填充数据

现在就可以用模型来预测值

reg.predict([[5000]])

输出:

array([859554.79452055])

这里讲一下 linear regression 的建模公式就是:
y = m * x + b
m 和 b 是不变的系数, 然后提供 x 的值, 就可以求 y 的值
m is called Coefficients
b is called Intercept
前面的建立数据模型那一步, 其实就是在通过我们提供的现有的 x 和 y 的值, 来算出 m 和 b 的值.
通过下面两个命令就可以查看现在这个 linear 模型的 m 和 b 的值

reg.coef_  // m 的值
reg.intercept_  // b 的值

输出图形数据:

%matplotlib inline
plt.xlabel('area(sqr ft)', fontsize=20)
plt.ylabel('price(US$)', fontsize=20)
plt.scatter(df.area, df.price, color='red', marker='+')
plt.plot(df.area, reg.predict(df[['area']]), color='blue')

Machine Learning (1) - Linear Regression

这里 plot 的第二个参数是根据模型预测的值, 可以试下这样:

%matplotlib inline
plt.xlabel('area(sqr ft)')
plt.ylabel('price(US$)')
plt.scatter(df.area, df.price, color='red', marker='+')
plt.plot(df.area, df.price, color='blue')

Machine Learning (1) - Linear Regression

// 通过 linear regression 推导的值
reg.predict(df[['area']])
// 输出
array([533664.38356164, 587979.45205479, 615136.98630137, 669452.05479452,
       723767.12328767])

// 实际的值
df.price
// 输出
0    550000
1    565000
2    610000
3    680000
4    725000
Name: price, dtype: int64
ml
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!