
- Scikit Learn 教程
- Scikit Learn - 主頁
- Scikit Learn - 簡介
- Scikit Learn - 建模過程
- Scikit Learn - 資料表示
- Scikit Learn - Estimator API
- Scikit Learn - 慣例
- Scikit Learn - 線性建模
- Scikit Learn - 擴充套件線性建模
- 隨機梯度下降
- Scikit Learn - 支援向量機
- Scikit Learn - 異常檢測
- Scikit Learn - K 近鄰
- Scikit Learn - KNN 學習
- 樸素貝葉斯分類
- Scikit Learn - 決策樹
- 隨機決策樹
- Scikit Learn - 提升方法
- Scikit Learn - 聚類方法
- 聚類效能評估
- PCA 降維
- Scikit Learn 有用資源
- Scikit Learn - 快速指南
- Scikit Learn - 有用資源
- Scikit Learn - 討論
Scikit Learn - RadiusNeighborsClassifier
此分類器名稱中的半徑代表指定半徑 r 內的最近鄰域,其中 r 由使用者指定的浮點值。因此,顧名思義,此分類器根據每個訓練點的固定半徑 r 內的鄰居數目實現基於學習。讓我們透過一個實現示例進一步瞭解它 −
實現示例
此示例中,我們將透過使用 scikit-learn RadiusNeighborsClassifier 對名為鳶尾花的資料集實施 KNN −
首先,匯入鳶尾花資料集,如下所示 −
from sklearn.datasets import load_iris iris = load_iris()
現在,需要將資料分割成訓練資料和測試資料。我們將使用 Sklearn train_test_split 函式將資料分割為 70(訓練資料)和 20(測試資料)的比率 −
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)
接下來,我們將使用 Sklearn 預處理模組執行資料縮放,如下所示 −
from sklearn.preprocessing import StandardScaler scaler = StandardScaler() scaler.fit(X_train) X_train = scaler.transform(X_train) X_test = scaler.transform(X_test)
接下來,從 Sklearn 匯入 RadiusneighborsClassifier 類並提供半徑值,如下所示 −
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]])
輸出
versicolor
完整的工作/可執行程式
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]])
廣告