python KNN演算法運用練習之分類

2021-09-19 23:26:50 字數 1476 閱讀 4632

問題描述:通過對細胞7個屬性的測量得分,**蛋白質的定位位點,一共有8個定位點。

模型選擇與評估:用cross_val_score實現,返回打分結果,分數越高,效能越好。引數cv,表示幾折交叉;引數scroing,常用「neg_mean_absolute_error"(mae相反數)、」neg_mean_squared_error"、「accuracy"等

from sklearn.model_selection import cross_val_score

scores=cross_val_score(knn,x,y,cv=10,scoring='accuracy')

資料預處理:目標變數離散化,分類問題中,sklearn不能輸出字元型變數,要用labelencoder先做預處理。

from sklearn.preprocessing import labelencoder

le=labelencoder() #例項化乙個labelencoder物件

le.fit(y) #呼叫fit方法,遍歷目標變數y的值

y=le.transform(y) #將字串變數轉化,對應到乙個離散型數字上

練習**如下:

import os

import pandas as pd

from sklearn import neighbors

from sklearn import datasets

from sklearn.model_selection import cross_val_score

os.chdir(r"c:\users\勤奮的大眼仔\documents\資料探勘")

data=pd.read_csv('ecoli.csv')

#輸入特徵值 mcg, **h, lip, chg, aac, alm1, alm2

#輸出 site

#資料處理 新增表頭屬性值

data.columns=["mcg","**h","lip","chg","aac","alm1","alm2","site"]

data.isnull().sum() #檢視是否有缺失值

data.shape

le=labelencoder()

le.fit(data.site)

knn=neighbors.kneighborsclassifier(6,weights='distance')

x=data[data.columns[0:6]]

y=le.transform(data.site)

scores=cross_val_score(knn,x,y,cv=10,scoring='accuracy')

print(np.mean(scores))

#分類準確率為0.7999132377908719

python knn演算法練習

1,準備資料 從檔案中讀出檔案 資料來自海倫約會 例子 展示如圖 2 資料歸一化 主要公式 newvalue oldvalue min max min tmpmat,rangs,mins knn.autonorm mat tmpmat array 0.44832535,0.39805139,0.56...

python kNN基礎演算法 分類和推薦系統

1 k 近鄰演算法是分類資料最簡單最有效的方法。2 在將資料輸入到分類器之前,必須將待處理資料的格式改變為分類器可以接受的格式。3 所有的推薦模型都可以使用這個演算法,只要將結果量化就行了,主要是要考慮權重的設計。coding utf 8 數字型聚類分析 from numpy import impo...

演算法實際運用

我們在linux中用select實現多路復用中有幾個巨集 fd set fd clr fd zero在這裡充分利用到了集合的概念和演算法 因一項工作而卡住需等待這項工作時,導致別的工作不能完全進行 這樣浪費資源和時間 怎麼處理呢 這裡有幾種解決的方法 其中一種就是每隔一段時間進行迴圈檢測看這項工作是...