机器学习利用python工具随机产生二维样本数据集,并使用sklearn库进行线性回归训练,使用相应的样本进行预测分析所产生的模型的性能。要求最后以可视化图便的方式展示训练样本、回归直线、预测样本。实验原理和操作步骤及代码 图
时间: 2024-10-18 17:08:43 浏览: 32
使用PyTorch构建一个简单的线性回归模型,并对数据集进行训练和预测
在Python中,我们可以使用matplotlib和sklearn库来创建随机的二维数据集并进行线性回归分析。以下是基本的实验原理和操作步骤:
**实验原理**:
1. 首先,我们需要生成一些随机的二维数据点,这代表我们的输入特征和目标变量。
2. 使用sklearn库的LinearRegression模型,我们将随机数据拟合成一个线性关系。
3. 训练模型后,我们将使用模型对新的数据进行预测。
4. 最后,我们将绘制原始数据点、最佳拟合直线以及预测结果,通过可视化的方式来呈现模型性能。
**操作步骤及代码**:
```python
# 导入必要的库
import numpy as np
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
# 生成随机数据集(这里假设x是特征,y是目标)
np.random.seed(0)
n_samples = 100
X = np.random.rand(n_samples, 2)
y = 2 + 3 * X[:, 0] + np.random.rand(n_samples)
# 分割数据为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建线性回归模型并训练
model = LinearRegression()
model.fit(X_train, y_train)
# 预测测试集
y_pred = model.predict(X_test)
# 绘制原始数据、回归直线和预测结果
plt.scatter(X_test[:, 0], y_test, color='blue', label="True values")
plt.plot(X_test[:, 0], y_pred, color='red', label="Predictions")
plt.xlabel("Feature 1")
plt.ylabel("Target Variable")
plt.title("Linear Regression Model Performance")
plt.legend()
plt.show()
# 评估模型性能(例如使用均方误差MSE)
mse = mean_squared_error(y_test, y_pred)
print(f"Mean Squared Error: {mse}")
```
这个示例展示了如何用Python和sklearn库生成数据、训练模型、做预测以及评估模型性能。最后的可视化图可以帮助我们直观地了解模型是否成功捕捉了数据的趋势。
阅读全文