首页 > 解决方案 > 创建一个预测产品价格的回归模型

问题描述

我有以特定价格销售特定数量相同产品的公司的数据,请参阅以下内容:

Company A:
(qty)     (price)
100        1000
200        1800
300        2400

Company B:
(qty)     (price)
110       1000
200       1770
300       2390

Company C:
(qty)     (price)
1000       10000
1500       13000
3700       22000

我想创建一个模型,该模型将根据数据粗略预测一定数量产品的价格。我正在使用sickitlearn,我尝试在一个数组中收集所有数量,在另一个数组中收集价格。例如:来自 numpy 数组中所有 3 家公司的所有数量:

import numpy as np
train_qty = np.array([[100,200,300,110,200,300,1000,1500,3700]])

价格:

train_prices = np.array([[1000,1800,300,110,200,300,1000,1500,3700]])

我试过了:

from sklearn import linear_model 
reg = linear.model.LinearRegression()
reg.fit(train_qty,train_prices)

但是,当我这样做时:

print(reg.coef_)

我得到一个全为零的矩阵。你能解释一下我做错了什么以及正确的方法吗?

标签: numpymachine-learningscikit-learnlinear-regressiondata-science

解决方案


它应该是

reg.fit(train_qty.T, train_prices.T)
reg.coef_  # 0.85178458

sklearn 线性模型查找系数A,以便XA = Y. 这里你train_qtytrain_prices都是矩阵 1 x 9,所以你得到A一个矩阵 9 x 9。你必须转置你的输入。


推荐阅读