利用随机函数产生两组随机数(每组数据元素要求500个以上),分别作为销售额和广告投入的数据。利用线性回归分析模型做分析预测(步骤要求包含如下:导入或者生成数据,数据理解,数据准备,定义模型参数,模型拟合,模型评价,模型应用)
时间: 2024-05-26 12:11:11 浏览: 390
好的,我已经明白了你的问题。首先,导入numpy、pandas和sklearn库,生成两组500个随机数的数据作为销售额和广告投入数据。接下来我们开始分析预测,按照以下步骤进行:
1. 数据理解
我们可以使用pandas库来对数据进行理解,包括数据的基本情况、描述性统计等。代码如下:
import pandas as pd
import numpy as np
# 生成随机数据
sales = np.random.randint(1000, 10000, 500)
adv_invest = np.random.randint(100, 1000, 500)
# 将数据存入DataFrame中
df = pd.DataFrame({'sales': sales, 'adv_invest': adv_invest})
# 查看前5行数据
df.head()
# 查看数据的描述性统计
df.describe()
# 查看数据的相关性
df.corr()
2. 数据准备
在数据准备阶段,我们需要对数据进行特征工程(Feature Engineering),包括数据清洗、数据转换、特征选择等。但是这里的数据已经是随机生成的,因此不需要进行这些操作。
3. 定义模型参数
我们使用sklearn库中的线性回归模型,需要定义特征变量和目标变量。代码如下:
# 定义特征变量和目标变量
X = df[['adv_invest']]
y = df['sales']
4. 模型拟合
我们使用train_test_split函数将数据集分为训练集和测试集,再使用sklearn库中的LinearRegression函数来训练模型。代码如下:
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score
# 将数据集分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
# 线性回归模型拟合
regressor = LinearRegression()
regressor.fit(X_train, y_train)
# 打印模型系数和截距
print('Coefficients: \n', regressor.coef_)
print('Intercept: \n', regressor.intercept_)
5. 模型评价
我们使用均方误差(MSE)和决定系数(R-square)来评价模型的好坏,这里我们使用sklearn库中的mean_squared_error函数和r2_score函数。代码如下:
from sklearn.metrics import mean_squared_error
# 预测测试集
y_pred = regressor.predict(X_test)
# 计算MSE和决定系数
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)
# 打印MSE和决定系数
print('MSE: ', mse)
print('R-squared: ', r2)
6. 模型应用
我们可以使用训练好的模型进行预测。代码如下:
# 预测一组数据
invest = [[500]]
sales_pred = regressor.predict(invest)
print(sales_pred)
以上就是线性回归分析模型的分析预测步骤。