机器学习之回归(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_)     #查看回归方程的系数

print('intercept:',linear.intercept_)   #查看回归方程的截距

结果如下

猜你喜欢

转载自blog.csdn.net/lyc44813418/article/details/79952878