机器学习之回归(1)线性回归
# -*- coding: utf-8 -*-
"""
Created on Sun Apr 15 16:18:34 2018
@author: Administrator
"""
import matplotlib.pyplot as plt #pyplotlib子库提供了和matlab类似的绘图 API
import numpy as np
from sklearn import linear_model
# 读取数据集
datasets_X = [] #存储数据
datasets_Y = []
fr = open('houseprice11.txt','r')
lines = fr.readlines()
for line in lines: #一次读取整个文件
items = line.strip().split(',') #去除数据文件中的逗号
datasets_X.append(int(items[0])) #将读取的数据转换为int型,并分别写入
datasets_Y.append(int(items[1])) #datasets_X 和datasets_Y
length = len(datasets_X) #求得长度
datasets_X = np.array(datasets_X).reshape([length,1])
datasets_Y = np.array(datasets_Y) #转化为数组
#以数据datasets_X 的最大和最小值为范围,建立等差数列,方便后续画图
minX = min(datasets_X)
maxX = max(datasets_X)
X = np.arange(minX,maxX).reshape([-1,1])
linear = linear_model.LinearRegression()
linear.fit(datasets_X, datasets_Y)
# 图像中显示
plt.scatter(datasets_X, datasets_Y, color = 'red')
plt.plot(X, linear.predict(X), color = 'blue')
plt.xlabel('Area')
plt.ylabel('Price')
plt.show()
print('Coefficients:',linear.coef_) #查看回归方程的系数
"""
Created on Sun Apr 15 16:18:34 2018
@author: Administrator
"""
import matplotlib.pyplot as plt #pyplotlib子库提供了和matlab类似的绘图 API
import numpy as np
from sklearn import linear_model
# 读取数据集
datasets_X = [] #存储数据
datasets_Y = []
fr = open('houseprice11.txt','r')
lines = fr.readlines()
for line in lines: #一次读取整个文件
items = line.strip().split(',') #去除数据文件中的逗号
datasets_X.append(int(items[0])) #将读取的数据转换为int型,并分别写入
datasets_Y.append(int(items[1])) #datasets_X 和datasets_Y
length = len(datasets_X) #求得长度
datasets_X = np.array(datasets_X).reshape([length,1])
datasets_Y = np.array(datasets_Y) #转化为数组
#以数据datasets_X 的最大和最小值为范围,建立等差数列,方便后续画图
minX = min(datasets_X)
maxX = max(datasets_X)
X = np.arange(minX,maxX).reshape([-1,1])
linear = linear_model.LinearRegression()
linear.fit(datasets_X, datasets_Y)
# 图像中显示
plt.scatter(datasets_X, datasets_Y, color = 'red')
plt.plot(X, linear.predict(X), color = 'blue')
plt.xlabel('Area')
plt.ylabel('Price')
plt.show()
print('Coefficients:',linear.coef_) #查看回归方程的系数
print('intercept:',linear.intercept_) #查看回归方程的截距
结果如下