有监督学习线性回归

1、目标分析(回归问题还是分类问题?)

2、获取、处理数据

3、创建线性回归模型

4、训练模型

5、模型测试 

x_data = [[6000, 58], [9000, 77], [11000, 89], [15000, 54]]  # 样本特征数据
y_data = [30000, 55010, 73542, 63201]  # 样本目标数据

from sklearn.linear_model import LinearRegression  # 创建线性回归模型

linemodel = LinearRegression()  # 创建一个空的LinearRegression模型


# 训练模型
linemodel.fit(x_data, y_data)
# linemodel.fit 是指使用线性模型进行拟合操作。具体来说,它是用来训练线性回归模型的方法。
# 在训练过程中,模型会根据输入的数据和标签进行优化,以得到最佳的回归函数参数。 



# 模型测试
score = linemodel.score(x_data, y_data)  # linemodel.score是用来评估线性回归模型的拟合优度的方法。
# 它返回一个介于0和1之间的值,表示模型对目标变量的解释程度。该得分越接近1,说明模型的拟合效果越好
print(score)

from sklearn.metrics import mean_absolute_error,mean_squared_error  # 平均绝对误差(MAE)和均方误差(MSE)

# 平均绝对误差
y_pred=linemodel.predict(x_data) # 使用训练好的模型对训练数据进行预测,返回预测的结果。
mae = mean_absolute_error(y_data,y_pred)
print('平均绝对误差:',mae)

# 均方误差
k = mean_squared_error(y_data,y_pred)
print('均方误差:',k)

# 代入数据
sun_data = [[12000, 60]]
sun_pred = linemodel.predict(sun_data)  # linemodel.predict 用来对给定的数据集进行预测
print(sun_pred)


w1,w2 = linemodel.coef_  # 获取模型中回归系数的值。
b=linemodel.intercept_  # 获取模型中的截距值。
print('y={:.2f}x1+{:.2f}x2{:.2f}'.format(w1,w2,b))   #  输出线性回归模型的公式,其中w1和w2是回归系数,b是截距

平均绝对误差: 466.1740195003513
均方误差: 328175.6684719794
[55484.33779181]
y=4.06x1+743.15x2-37831.86 

你可能感兴趣的:(机器学习,python,机器学习,开发语言)