# 机器学习入门——线性回归模型

线性回归

利用线性回归模型加载已知数据集,得到两个未知量之间的函数关系,利用得到的函数关系对未知实例进行预测。(前提:数据集里面的数据要能够有线性关系)

代码如下(含部分注释)

#导入模块
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from sklearn import linear_model

#设置数组存储数据
datasets_X = []
datasets_Y = []

#读取文件数据,存入数组
#建议使用pandas库读取文件数据
fr = pd.read_csv('price.txt',names=['A','B'])
fr = pd.DataFrame(fr)
print(fr)
datasets_X = (fr.loc[:,['A']])
datasets_Y = (fr.loc[:,['B']])

#fr = open('price.txt','r')
#lines = fr.readlines()
#for line in lines :
#    items = line.strip().split(',')  #去掉文件中的逗号
#    datasets_X.append(int(items[0]))
#   datasets_Y.append(int(items[1]))

#文件数据转化为矩阵形式
length = len(datasets_X)
datasets_X = np.array(datasets_X).reshape([length,1]) #将数组转化为二维形式,来满足线性回归拟合的参数要求
datasets_Y = np.array(datasets_Y)
#定义X轴坐标范围
minX = min(datasets_X)
maxX = max(datasets_X)
#初始化X轴坐标
X = np.arange(minX,maxX).reshape([-1,1])
#使用线性回归模型函数处理数据
linear = linear_model.LinearRegression()
linear.fit(datasets_X,datasets_Y)
#显示回归方程系数 ,即形如 y = aX+b的 a
print('a:',linear.coef_)
#显示回归方程截距
print('截距:',linear.intercept_)

#数据可视化即画图(这次的颜色好看一些)
plt.scatter(datasets_X,datasets_Y,color = 'coral')
plt.plot(X,linear.predict(X),color = '#054E9F')
plt.xlabel('Longitude')
plt.ylabel('Latitude')
plt.show()

运行结果如下:
# 机器学习入门——线性回归模型_第1张图片

你可能感兴趣的:(机器学习入门)