机器学习——多元线性回归问题(2)含标签

与一般多元回归问题(https://blog.****.net/hhhhhh5863/article/details/88718096 )不同的是:若自变量中含有标签变量,即非连续变量,我们该如何解决

问题描述

比如我们有如下数据集:(其中x3是标签变类)
机器学习——多元线性回归问题(2)含标签
我们要做的首先就是把标签变量01化,把标签变成计算机能判别的类型,因为计算机只能判断是或不是。例如,如果原数据是0就在0那一列标1,其余两列为0;如果是1就在1那一列标1,其余两列为0,以此类推。
机器学习——多元线性回归问题(2)含标签

问题

传入数据[102,1,0,0,6],预测此时y值

代码如下

import numpy as np
from sklearn import datasets,linear_model

dataPath = r"C:Delivery.CSV"  #数据保存的csv文件路径
deliveryData = genfromtxt(dataPath,delimiter = ',') #转换成矩阵形式

#print("data",deliveryData)

x = deliveryData[:,:-1] #将矩阵除最后一列赋值给x
y = deliveryData[:,-1] #最后一列赋值给y

#print("x:",x)
#print("y:",y)

regr = linear_model.LinearRegression() 
regr.fit(x,y)   #建立关系模型
#print("coefficients:",regr.coef_) #算出b1,b2等
#print("intercept:",regr.intercept_) #算出a

xPred = [[102,1,0,0,6]] # 传入二维矩阵,不是一维矩阵
yPred = regr.predict(xPred)
print("predicted y :",yPred)

结果如下

机器学习——多元线性回归问题(2)含标签