写出鸢尾花数据集散点图并对使用训练集训练线性回归模型,最后使用测试集进行预测。最后,绘制了散点图和拟合直线
时间: 2024-10-13 07:15:41 浏览: 69
首先,我们需要导入所需的库,并加载鸢尾花数据集。然后,我们将绘制散点图、训练线性回归模型、进行预测以及可视化结果。以下是使用Python的matplotlib和scikit-learn库的一个例子:
```python
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score
# 加载鸢尾花数据集
iris = datasets.load_iris()
X = iris.data[:, :2] # 取前两列作为自变量
y = iris.target
# 划分数据集
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], X_test[:, 1], c=y_test, cmap='viridis')
plt.xlabel('特征1')
plt.ylabel('特征2')
plt.title('鸢尾花数据集散点图')
# 添加拟合直线
line = np.linspace(min(X_test[:, 0]), max(X_test[:, 0]))
plt.plot(line, model.predict(line.reshape(-1, 1)), color='red', linewidth=2)
plt.show()
# 计算R^2分数评估模型
r2 = r2_score(y_test, y_pred)
print(f"R² Score: {r2}")
阅读全文