監督學習(supervised learning):
從給定標註的訓練集中學習出乙個函式,根據這個函式為新資料進行標註。
無監督學習(unsupervised learning):
從給定無標註的訓練集中學習出乙個函式,根據這個函式為所有資料標註。
分類(classification):
分類演算法通過對已知類別訓練資料集的分析,從中發現分類規則,以此**
新資料的類別,分類演算法屬於監督學習的型別。
k近鄰節點演算法
knn演算法從訓練集中找到和新資料最接近的k條記錄,然後根據他們的主要分類
來決定新資料的類別。
訓練集(train set):
訓練集,是用來訓練模型或確定模型引數的資料。
測試集(test set):
測試集,是用來驗證模型的準確性的資料。
交叉驗證(cross validation):
一般我們使用70%的資料,作為訓練集,剩下30%作為測試集,測試集的測試
結果使用交叉表的形式表示,因此該方法稱為交叉驗證。
抽樣方法
sample(x,size,replace=false)
x 待抽樣的樣本
size 抽樣的數量
replace 是否可放回抽樣,預設為false
knn 在」class」包中
install.packages(「class」)
knn(train,test,cl,k=1)
模型調優,調整k值
**實現:
#install.packages("class");
library(class)##
8d%89%e6%95%b0%e6%
8d%ae%e9%9b%
86total <- nrow(iris);
index <-sample(1:total, total*0.7)
iris.train <- iris[index, ]
iris.test <- iris[-index, ]
result.knn <-knn(
train=subset(iris.train, select=-species),
test=subset(iris.test,select=-species),
cl=iris.train$species, k=3
)table(iris.test$species, result.knn)
result.knn
setosa versicolor virginica
setosa 1500
versicolor 0141
virginica 0
114
可以通過調整k值,來進行模型的調優。 KNN演算法 分類演算法
k近鄰演算法 定義 如果乙個樣本在特徵空間中的k個最相似 即特徵空間中最鄰近 的樣本中的大多數屬於某乙個類別,則該樣本也屬於這個類別。求距離 使用歐式距離公式!k 近鄰演算法 該演算法需要做標準化處理 knn的api sklearn.neighbors.kneighborsclassifier n ...
kNN分類演算法
knn k nearest neighbors 又叫k最鄰近演算法,是一種根據待分類的樣本與已知類別的樣本間的距離得到其分類結果的分類演算法。計算待分類樣本與所有已知類別樣本的距離值 從這些距離值中選取最小的k個 根據這k個樣本的類別情況,確定待分類的分類結果 距離的計算 這裡的距離其實是一種相似度...
kNN分類演算法
一 概述 knn演算法採用測量不同特徵值之間的距離方法進行分類。對未知類別屬性的資料集中的每個點執行如下操作 1 計算已知類別資料集中的點與當前點之間的距離 2 按照距離遞增次序排序 3 選取與當前點距離最小的k個點 4 確定前k個點所在類別的出現頻率 5 返回前k個點出現頻率最高的類別作為當前點的...