sklearn鸢尾花数据集分类
时间: 2024-05-24 20:09:08 浏览: 120
Scikit-learn的鸢尾花数据集是一个非常著名的数据集,它包含了3个不同品种的鸢尾花(Setosa、Versicolour和Virginica)的50个样本,每个样本有4个特征(萼片长度、萼片宽度、花瓣长度和花瓣宽度)。这个数据集被广泛用于机器学习的分类问题。
在scikit-learn中,这个数据集可以通过load_iris函数导入。一般来说,我们可以将这个数据集分成训练集和测试集,然后使用不同的机器学习算法进行分类。例如,我们可以使用支持向量机(SVM)算法对鸢尾花进行分类。具体的过程包括:
1. 导入数据集
2. 将数据集分成训练集和测试集
3. 对训练集进行特征缩放
4. 使用SVM算法进行训练
5. 对测试集进行预测
6. 计算模型的准确率
下面是一个简单的示例代码:
```
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score
# 导入数据集
iris = load_iris()
X = iris.data
y = iris.target
# 将数据集分成训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# 对训练集进行特征缩放
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)
# 使用SVM算法进行训练
svm = SVC(kernel='rbf', random_state=42)
svm.fit(X_train, y_train)
# 对测试集进行预测
y_pred = svm.predict(X_test)
# 计算模型的准确率
accuracy = accuracy_score(y_test, y_pred)
print('Accuracy:', accuracy)
```
阅读全文