目錄
k-近鄰演算法
什麼是k-近鄰演算法
舉例:k-近鄰演算法api 實戰
分析**演練
k-近鄰演算法優缺點
屬於分類演算法,特徵是:目標值是離散的。
電影型別是目標值,推斷某個電影的電影型別是什麼?可以根據此電影與哪個電影型別距離最近,則是什麼型別的電影。
"""k-近鄰**使用者簽到位置
:return: none
"""# todo 讀取資料
data = pd.read_csv("train.csv")
# print(data.head(10))
# todo 處理資料
# 1、縮小資料量,為了迅速查詢資料
data = data.query("x>1.0 & x<1.25 & y>2.5 & y<2.75")
# print(data.head(10))
# 把日期格式轉換成字典格式
time_value = pd.to_datetime(data['time'], unit='s')
# print(time_value)
# print(type(time_value)) # series
time_value = pd.datetimeindex(time_value)
# print(time_value)
# print(type(time_value)) # datetimeindex
# 2、構造一些時間特徵
data['day'] = time_value.day # 這種形式的增加列,是把time_value的day複製乙份,而loc方法是直接拿來用。
data['hour'] = time_value.hour
data['weekday'] = time_value.weekday
# 3、把時間戳特徵刪除
data = data.drop(['time'], axis=1) # pandas中axis=1表示列
# print(data)
# 4、將簽到位置少於n個使用者的刪除
place_count = data.groupby('place_id').count() # 分組之後,索引為分組字段,並且列沒有分組字段
tf = place_count[place_count.row_id > 3].reset_index() # 重設索引,並且列增加索引字段
data = data[data['place_id'].isin(tf.place_id)]
# 把row_id列刪除,此列無意義
data = data.drop(['row_id'], axis=1)
print(data)
# 5、取出資料當中的特徵值和目標值
y = data['place_id']
x = data.drop(['place_id'], axis=1)
# 6、進行資料的分割,訓練集和測試集
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.25) # 訓練目標值,測試目標值,訓練特徵值,測試特徵值
# todo 特徵工程(標準化)
std = standardscaler()
# 對測試集和訓練集的特徵值進行標準化
x_train = std.fit_transform(x_train)
x_test = std.transform(x_test)
# todo 進行演算法流程
knn = kneighborsclassifier(n_neighbors=5)
# fit predict,score
knn.fit(x_train, y_train)
# todo 得出**結果
y_predict = knn.predict(x_test)
print("y**的目標簽到位置為:", y_predict)
# todo 得出準確率
print("**的準確率:", knn.score(x_test, y_test))
return none
if __name__ == '__main__':
knncls()
k值取很小,容易受異常點影響
k值取很大,容易受目標值的數量(類別)波動
效能:很慢
機器學習 k 近鄰演算法
一.k 近鄰演算法概述 簡單地說,k 近鄰演算法採用測量不同特徵值之間的距離方法進行分類。k 近鄰演算法 knn 它的工作原理是 存在乙個樣本資料集,也稱訓練樣本集,並且樣本集中每個資料都存在標籤,即我們知道樣本集中每一資料與所屬分類的對應關係。輸入沒有標籤的新資料後,將資料的每個特徵與樣本集合中資...
機器學習 K近鄰演算法
用例一 from sklearn.neighbors import nearestneighbors import numpy as np x np.array 1,1 2,1 3,2 1,1 2,1 3,2 nbrs nearestneighbors n neighbors 2,algorithm...
機器學習 K近鄰演算法
工作原理 存在乙個訓練樣本資料集合,每組資料對應乙個標籤及分類 比如下邊例子為前兩個資料都為a類 輸入測試樣本後通過計算求出測試樣本與訓練樣本的歐氏距離d,取前k個最小的值,這k組資料對應的標籤分類最多的那種,就是測試樣本的標籤。訓練樣本資料 1.0,1.1 1.0,1.0 0,0 0,0.1 歐氏...