支持向量机鸢尾花代码
时间: 2024-01-04 19:20:32 浏览: 21
以下是一个使用支持向量机(SVM)进行鸢尾花分类的示例代码:
```python
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn import svm
# 加载鸢尾花数据集
iris = datasets.load_iris()
X = iris.data
y = iris.target
# 将数据集拆分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
# 创建SVM分类器
clf = svm.SVC(kernel='linear', C=0.8)
# 训练分类器
clf.fit(X_train, y_train)
# 在测试集上进行预测
y_pred = clf.predict(X_test)
# 打印预测结果
print("预测结果:", y_pred)
# 打印准确率
accuracy = clf.score(X_test, y_test)
print("准确率:", accuracy)
```
这段代码使用了scikit-learn库中的SVM分类器来对鸢尾花数据集进行分类。首先,我们加载了鸢尾花数据集,并将其拆分为训练集和测试集。然后,我们创建了一个SVM分类器,并使用训练集对其进行训练。最后,我们使用测试集进行预测,并计算了分类器的准确率。
相关问题
python 支持向量机 鸢尾花
支持向量机(Support Vector Machine,SVM)是一种常用的机器学习算法,可以用于分类和回归分析。在Python中,可以使用scikit-learn库中的SVM模块来实现支持向量机算法。
对于鸢尾花数据集,我们可以使用SVM算法进行分类。下面是一个示例代码:
```python
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score
# 加载鸢尾花数据集
iris = datasets.load_iris()
X = iris.data
y = iris.target
# 将数据集划分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建SVM分类器
svm = SVC()
# 在训练集上训练模型
svm.fit(X_train, y_train)
# 在测试集上进行预测
y_pred = svm.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)
```
这段代码首先导入了所需的库和模块,然后加载了鸢尾花数据集。接下来,将数据集划分为训练集和测试集,然后创建了一个SVM分类器。通过调用`fit`方法在训练集上训练模型,然后使用`predict`方法在测试集上进行预测。最后,使用`accuracy_score`函数计算预测准确率并输出结果。
R语言支持向量机鸢尾花
支持向量机是一种二分类模型,它的目的是找到一个超平面,将不同类别的样本分开。在R语言中,可以使用e1071包来训练支持向量机模型。下面是一个使用支持向量机对鸢尾花数据集进行分类的示例代码:
```R
# 导入鸢尾花数据集
data(iris)
# 将数据集分为训练集和测试集
set.seed(123)
trainIndex <- sample(1:nrow(iris), 0.7*nrow(iris))
trainData <- iris[trainIndex, ]
testData <- iris[-trainIndex, ]
# 使用支持向量机进行建模
library(e1071)
svmModel <- svm(Species ~ ., data = trainData)
# 使用测试集进行预测
svmPredict <- predict(svmModel, testData[,-5])
# 计算模型的准确率
accuracy <- sum(svmPredict == testData[,5])/nrow(testData)
print(paste("Accuracy:", accuracy))
```
在上述代码中,我们首先导入了鸢尾花数据集,然后将其分为70%的训练集和30%的测试集。接下来,我们使用svm函数训练了一个支持向量机模型,并使用测试集对其进行了预测。最后,我们计算了模型的准确率并输出结果。