用线性回归算法写一段鸢尾花分类的代码
时间: 2023-06-02 22:04:57 浏览: 144
好的,以下是使用线性回归算法进行鸢尾花分类的代码:
```python
import numpy as np
import pandas as pd
from sklearn import datasets
from sklearn.linear_model import LinearRegression
# 加载鸢尾花数据集
iris = datasets.load_iris()
# 构建特征矩阵和目标变量
X = iris.data
y = iris.target
# 随机抽取一定比例的样本作为训练集,其余作为测试集
train_ratio = 0.8
train_size = int(train_ratio * len(X))
perm = np.random.permutation(len(X))
X_train = X[perm][:train_size]
y_train = y[perm][:train_size]
X_test = X[perm][train_size:]
y_test = y[perm][train_size:]
# 使用线性回归模型进行拟合
lr = LinearRegression()
lr.fit(X_train, y_train)
# 在测试集上进行预测
predictions = lr.predict(X_test)
# 计算准确率
accuracy = np.mean(np.equal(np.round(predictions), y_test))
print(f"Accuracy: {accuracy}")
```
在这段代码中,我们首先加载了鸢尾花数据集,然后随机划分一定比例的样本作为训练集和测试集。接着,我们使用线性回归模型进行拟合,并在测试集上进行预测,最后计算准确率。这里采用简单的四舍五入机制来将预测结果映射到整数,以便进行准确率计算。
阅读全文