Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何根据各种线性回归模型的预测开发预测模型?_Python_Machine Learning_Statistics_Linear Regression - Fatal编程技术网

Python 如何根据各种线性回归模型的预测开发预测模型?

Python 如何根据各种线性回归模型的预测开发预测模型?,python,machine-learning,statistics,linear-regression,Python,Machine Learning,Statistics,Linear Regression,我正在处理一个工作中出现了一些困难的问题。我已经包括了一个非常普遍的例子来说明我正在处理的问题 在这种情况下,假设我正在查看过去几年中几家公司(A、B和C公司)的数据,并为每一家公司开发模型,根据行业质量分数(考虑的唯一特征)预测销售收入。我分析过的3家公司在规模和质量分数上存在显著差异 问题是,我想使用我创建的模型的预测,然后能够预测D公司的收入(目前得分约为2),如果它的质量得分为10 下面是我用来设置问题的代码: import numpy as np import matplotlib a

我正在处理一个工作中出现了一些困难的问题。我已经包括了一个非常普遍的例子来说明我正在处理的问题

在这种情况下,假设我正在查看过去几年中几家公司(A、B和C公司)的数据,并为每一家公司开发模型,根据行业质量分数(考虑的唯一特征)预测销售收入。我分析过的3家公司在规模和质量分数上存在显著差异

问题是,我想使用我创建的模型的预测,然后能够预测D公司的收入(目前得分约为2),如果它的质量得分为10

下面是我用来设置问题的代码:

import numpy as np
import matplotlib as mpl
from matplotlib import pyplot as plt
from sklearn.linear_model import LinearRegression

company_a = np.array([
    [0.8, 0.4, 0.5, 0.6, 0.7, 1.2, 0.5, 0.9, 1.5, 1.2],
    [3, 1, 2, 2, 2, 3, 1, 2, 3, 2]])

company_b = np.array([
    [14.5, 15.3, 15.1, 18.7, 18.2, 19.2, 17.8, 22.0, 22.8, 24.1],
    [4, 4, 4, 5, 5, 5, 5, 6, 6, 6]])

company_c = np.array([
    [7.4, 5.6, 5.2, 6.7, 7.1, 5.9, 8.2, 7.8, 7.9, 11.2],
    [7, 6, 6, 7, 8, 8, 8, 7, 8, 10]])

company_d = np.array([[23.0],[2]])

companies = {"company_a": (company_a, "b"), "company_b": (company_b, "r"), "company_c": (company_c, "g"), "company_d": (company_d, "k")}

def plot_companies(data, clr):
    lin_reg = LinearRegression()
    X = data[1].reshape(-1, 1)
    y = data[0].reshape(-1, 1)
    try:
        lin_reg.fit(X, y)
        y_predict = lin_reg.predict(X)
        plt.plot(X, y, clr + ".")
        plt.plot(X, y_predict, clr + "-", alpha=0.3)
    except:
        plt.plot(X, y, clr + ".")

for key, value in companies.items():
    plot_companies(value[0], value[1])
plt.xlabel("Industry Quality Score", fontsize=12)
plt.ylabel("Revenue (millions of dollars)", fontsize=12)
plt.show()


假设D公司目前排名2,收入2300万,如果D公司的质量分数达到10分,我如何使用其他公司的3个线性模型来预测D公司的收入?

你的图显示,收入和质量之间没有一般的线性关系:这取决于你所关注的公司

因此,答案是,你不能仅仅知道一家新公司的质量分数,就对它说任何话

然而,对于每家公司来说,这种关系看起来确实大致呈线性。 顺便问一下,你对质量的衡量不是以收入作为投入吗?在这种情况下,这将直接解释回归是有效的

至于估计一家质量已知的新公司的收入,如果你有一点(质量,收入),你可以说当质量为10时,收入会更高。
如果你有2个点,你可以画一条线,如果你什么都没有,那么这是不可能的。

你的曲线图表明,收入和质量之间没有一般的线性关系:这取决于你所关注的公司

因此,答案是,你不能仅仅知道一家新公司的质量分数,就对它说任何话

然而,对于每家公司来说,这种关系看起来确实大致呈线性。 顺便问一下,你对质量的衡量不是以收入作为投入吗?在这种情况下,这将直接解释回归是有效的

至于估计一家质量已知的新公司的收入,如果你有一点(质量,收入),你可以说当质量为10时,收入会更高。 如果你有两个点,你可以画一条线,如果你什么都没有,那么这是不可能的