头歌实训鸢尾花数据集实现一元线性回归,1.如何创建线性回归模型,2.绘制散点图和回归线。写出代码
时间: 2024-10-18 15:08:14 浏览: 52
数据集目录,其中 包含用于测试线性回归的数据集.rar
在Python中,我们通常使用Scikit-Learn库来实现一元线性回归,例如鸢尾花数据集是一个分类任务的数据集,但它也可以用于展示简单的回归分析。这里我们将使用鸢尾花数据集的一部分来进行演示,假设我们想要预测花瓣长度对类别有影响。
首先,我们需要导入所需的库:
```python
import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
# 加载鸢尾花数据集(仅取部分列)
iris = datasets.load_iris()
X = iris.data[:, 2] # 取花瓣长度这一特征
y = iris.target # 目标变量(这里假设我们只关心第0个目标,即种类)
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
```
接下来,创建线性回归模型并拟合数据:
```python
model = LinearRegression() # 创建线性回归对象
model.fit(X_train.reshape(-1, 1), y_train) # 拟合数据
```
然后我们可以绘制散点图和回归线:
```python
plt.scatter(X_train, y_train, label='Training data')
plt.plot(X_train, model.predict(X_train.reshape(-1, 1)), color='red', label='Linear regression line')
plt.xlabel('Petal length')
plt.ylabel('Species (for illustration only)')
plt.legend()
plt.title('Linear Regression on Iris Dataset - Petal Length vs Species')
plt.show()
```
在这个例子中,回归线展示了花瓣长度与物种之间的潜在线性关系。当然,实际应用中可能需要更复杂的处理和特征选择。
阅读全文