这篇文章写一下如何用Python实现多元回归分析
还是继续上一个例子:
数据如下:
把这些数据粘贴到csv文件中进行处理
##引入数据包
from numpy import genfromtxt#把导入的数据转化为numpy.array
import numpy as np
from sklearn import datasets,linear_model
dataPath=r'C:\Users\多欢喜\Desktop\Python小课\机器学习\机器学习01---基础进阶强化\第一阶段-深度学习基础\代码与素材(1)\Delivery.csv'
deliveryData=genfromtxt(dataPath,encoding='utf-8-sig',delimiter=',')
print("data:",deliveryData)
#把前两列当做一个矩阵,作为自变量
X=deliveryData[:,:-1]#取前两列
#最后一列为y,因变量
Y=deliveryData[:,-1]
print('X:',X)
print('Y:',Y)
regr=linear_model.LinearRegression()
regr.fit(X,Y)
print('coefficients:',regr.coef_)#系数
print('intercept:',regr.intercept_)#截距
#预测
xPred=[[102,6]]
yPred=regr.predict(xPred)
print('predicted y:',yPred)
再来看一下自变量中有分类型变量(categorical data)如何处理
原始数据类型:
同样导入csv文件中,转化一下格式
中间插入3列数据,0 1 2 分别代表三种车型,是哪一种车型,就在对应车型下写1
建立新的csv文件
代码几乎没变,稍微改一下即可
##引入数据包
from numpy import genfromtxt#把导入的数据转化为numpy.array
import numpy as np
from sklearn import datasets,linear_model
dataPath=r'C:\Users\多欢喜\Desktop\Python小课\机器学习\机器学习01---基础进阶强化\第一阶段-深度学习基础\代码与素材(1)\DeliveryDummyDone.csv'
deliveryData=genfromtxt(dataPath,encoding='utf-8-sig',delimiter=',')
print("data:",deliveryData)
#把前两列当做一个矩阵,作为自变量
X=deliveryData[:,:-1]#抛弃最后一列
#最后一列为y,因变量
Y=deliveryData[:,-1]
print('X:',X)
print('Y:',Y)
regr=linear_model.LinearRegression()
#
#
regr.fit(X,Y)
#
print('coefficients:',regr.coef_)#系数
print('intercept:',regr.intercept_)#截距