import sklearn.neighbors as nei
import pandas as pd
import sklearn.model_selection as mod
# Load the iris data set from a URL.
df = pd.read_csv("https://github.com/ianmcloughlin/datasets/raw/master/iris.csv")
df
# Load the seaborn package.
import seaborn as sns
# Plot the Iris data set with a pair plot.
sns.pairplot(df, hue="class")
inputs = df[['sepal_length', 'sepal_width', 'petal_length', 'petal_width']]
outputs = df['class']
knn = nei.KNeighborsClassifier(n_neighbors=5)
knn.fit(inputs, outputs)
df.loc[121]
knn.predict([[5.6, 2.8, 4.9, 2.0]])
(knn.predict(inputs) == outputs).sum()
inputs_train, inputs_test, outputs_train, outputs_test = mod.train_test_split(inputs, outputs, test_size=0.33)
knn = nei.KNeighborsClassifier(n_neighbors=5)
knn.fit(inputs_train, outputs_train)
(knn.predict(inputs_test) == outputs_test).sum()