创建一个预测产品价格的回归模型
Creating a regression model that will predict price of a product
我有以特定价格销售一定数量的相同产品的公司的数据,请参考以下内容:
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_)
我得到一个全为零的矩阵。你能解释一下我做错了什么以及正确的做法吗?
应该是
reg.fit(train_qty.T, train_prices.T)
reg.coef_ # 0.85178458
sklearn 线性模型寻找系数 A
,以便 XA = Y
。这里你的 train_qty
和 train_prices
都是矩阵 1 x 9,所以你得到 A
一个 9 x 9 的矩阵。你必须转置你的输入。
另一种获取一维数组的方法是使用整形:
train_qty = np.array([[100,200,300,110,200,300,1000,1500,3700]]).reshape(-1,1)
train_prices = np.array([[1000,1800,300,110,200,300,1000,1500,3700]]).reshape(-1,1)
我有以特定价格销售一定数量的相同产品的公司的数据,请参考以下内容:
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_)
我得到一个全为零的矩阵。你能解释一下我做错了什么以及正确的做法吗?
应该是
reg.fit(train_qty.T, train_prices.T)
reg.coef_ # 0.85178458
sklearn 线性模型寻找系数 A
,以便 XA = Y
。这里你的 train_qty
和 train_prices
都是矩阵 1 x 9,所以你得到 A
一个 9 x 9 的矩阵。你必须转置你的输入。
另一种获取一维数组的方法是使用整形:
train_qty = np.array([[100,200,300,110,200,300,1000,1500,3700]]).reshape(-1,1)
train_prices = np.array([[1000,1800,300,110,200,300,1000,1500,3700]]).reshape(-1,1)