In this guide, we will discuss RadiusNeighborsClassifier in Scikit-Learn. The Radius in the name of this classifier represents the nearest neighbors within a specified radius r, where r is a floating-point value specified by the user. Hence as the name suggests, this classifier implements learning based on the number neighbors within a fixed radius r of each training point. Let’s understand it more with the help if an implementation example −
Implementation Example
In this example, we will be implementing KNN on data set named Iris Flower data set by using scikit-learn RadiusNeighborsClassifer −
First, import the iris dataset as follows −
from sklearn.datasets import load_iris iris = load_iris()
Now, we need to split the data into training and testing data. We will be using Sklearn train_test_split function to split the data into the ratio of 70 (training data) and 20 (testing data) −
X = iris.data[:, :4] y = iris.target from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.20)
Next, we will be doing data scaling with the help of Sklearn preprocessing module as follows −
from sklearn.preprocessing import StandardScaler scaler = StandardScaler() scaler.fit(X_train) X_train = scaler.transform(X_train) X_test = scaler.transform(X_test)
Next, import the RadiusneighborsClassifier class from Sklearn and provide the value of radius as follows −
from sklearn.neighbors import RadiusNeighborsClassifier rnc = RadiusNeighborsClassifier(radius = 5) rnc.fit(X_train, y_train)
Example
Now, create and predict the class of two observations as follows −
classes = {0:'setosa',1:'versicolor',2:'virginicia'} x_new = [[1,1,1,1]] y_predict = rnc.predict(x_new) print(classes[y_predict[0]])
Output
versicolor
Complete working/executable program
from sklearn.datasets import load_iris iris = load_iris() X = iris.data[:, :4] y = iris.target from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.20) from sklearn.preprocessing import StandardScaler scaler = StandardScaler() scaler.fit(X_train) X_train = scaler.transform(X_train) X_test = scaler.transform(X_test) from sklearn.neighbors import RadiusNeighborsClassifier rnc = RadiusNeighborsClassifier(radius = 5) rnc.fit(X_train, y_train) classes = {0:'setosa',1:'versicolor',2:'virginicia'} x_new = [[1,1,1,1]] y_predict = rnc.predict(x_new) print(classes[y_predict[0]])
Next Topic : Click Here
Pingback: Scikit-Learn : KNN Learning | Adglob Infosystem Pvt Ltd
Pingback: Scikit-Learn : KNeighborsClassifier | Adglob Infosystem Pvt Ltd