1 SVM
https://scikit-learn.org/stable/auto_examples/svm/plot_iris_svc.html
2 Iris data set
https://archive.ics.uci.edu/ml/datasets/iris
3 code:
from sklearn import datasets
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn import svm
from sklearn.metrics import accuracy_score
iris = datasets.load_iris()
# split it in features and labels
X = iris.data
y = iris.target
classes = ['Iris Setosa', 'Iris Versicolour', 'Iris Virginica']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
# use svm model
model = svm.SVC()
model.fit(X_train, y_train)
print(model)
predictions = model.predict(X_test)
acc = accuracy_score(y_test, predictions)
print('predictions: ', predictions)
print('actual: ', y_test)
print('accuracy: ', acc)
# get real data
for i in range(len(predictions)):
print(classes[predictions[i]])
SVC()
predictions: [1 2 1 0 0 1 2 1 0 1 0 1 2 1 0 1 2 0 0 1 2 1 0 2 2 1 2 1 0 2]
actual: [1 2 1 0 0 1 2 1 0 1 0 1 1 1 0 1 2 0 0 1 2 2 0 2 2 1 2 1 0 2]
accuracy: 0.9333333333333333
Iris Versicolour
Iris Virginica
Iris Versicolour
Iris Setosa
Iris Setosa
Iris Versicolour
Iris Virginica
Iris Versicolour
Iris Setosa
Iris Versicolour
Iris Setosa
Iris Versicolour
Iris Virginica
Iris Versicolour
Iris Setosa
Iris Versicolour
Iris Virginica
Iris Setosa
Iris Setosa
Iris Versicolour
Iris Virginica
Iris Versicolour
Iris Setosa
Iris Virginica
Iris Virginica
Iris Versicolour
Iris Virginica
Iris Versicolour
Iris Setosa
Iris Virginica