<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
想一下之前做的特徵工程的步驟?
我們把特徵工程的介面稱之為轉換器,其中轉換器呼叫有這麼幾種形式:
這幾個方法之間的區別是什麼呢?我們看以下程式碼就清楚了
In [1]: from sklearn.preprocessing import StandardScaler In [2]: std1 = StandardScaler() In [3]: a = [[1,2,3], [4,5,6]] In [4]: std1.fit_transform(a) Out[4]: array([[-1., -1., -1.], [ 1., 1., 1.]]) In [5]: std2 = StandardScaler() In [6]: std2.fit(a) Out[6]: StandardScaler(copy=True, with_mean=True, with_std=True) In [7]: std2.transform(a) Out[7]: array([[-1., -1., -1.], [ 1., 1., 1.]])
從中可以看出,fit_transform的作用相當於transform加上fit。
但是為什麼還要提供單獨的fit呢, 我們還是使用原來的std2來進行標準化看看:
In [8]: b = [[7,8,9], [10, 11, 12]] In [9]: std2.transform(b) Out[9]: array([[3., 3., 3.], [5., 5., 5.]]) In [10]: std2.fit_transform(b) Out[10]: array([[-1., -1., -1.], [ 1., 1., 1.]])
在sklearn中,估計器(estimator)是一個重要的角色,是一類實現了演演算法的API
種類:1、用於分類的估計器:
2、用於迴歸的估計器:
3、用於無監督學習的估計器
你的“鄰居”來推斷出你的類別
如果一個樣本在特徵空間中的k個最相似(即特徵空間中最鄰近)的樣本中的大多數屬於某一個類別,則該樣本也屬於這個類別。
來源:KNN演演算法最早是由Cover和Hart提出的一種分類演演算法
兩個樣本的距離可以通過如下公式計算,又叫歐式距離
假設我們有現在幾部電影:
其中? 號電影不知道類別,如何去預測?我們可以利用K近鄰演演算法的思想
如果取的最近的電影數量不一樣?會是什麼結果?
k = 1 愛情片
k = 2 愛情片
……
k = 6 無法確定
k = 7 動作片
如果取的最近的電影數量不一樣?會是什麼結果?
- - k 值取得過小,容易受到異常點的影響
- - k 值取得過大,樣本不均衡的影響
結合前面的約會物件資料,分析K-近鄰演演算法需要做什麼樣的處理
sklearn.neighbors.KNeighborsClassifier(n_neighbors=5,algorithm=‘auto’)n_neighbors:k值
鳶尾花種類預測:資料,我們用的就是sklearn中自帶的鳶尾花資料。
from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split def knn_iris(): """ 用KNN演演算法對鳶尾花進行分類 :return: """ # 1)獲取資料 iris = load_iris() # 2)劃分資料集 x_train, x_test, y_train, y_test = train_test_split(iris.data, iris.target, random_state=22) # 3)特徵工程:標準化 transfer = StandardScaler() x_train = transfer.fit_transform(x_train) x_test = transfer.transform(x_test) # 4)KNN演演算法預估器 estimator = KNeighborsClassifier(n_neighbors=3) estimator.fit(x_train, y_train) # 5)模型評估 # 方法1:直接比對真實值和預測值 y_predict = estimator.predict(x_test) print("y_predict:n", y_predict) print("直接比對真實值和預測值:n", y_test == y_predict) # 方法2:計算準確率 score = estimator.score(x_test, y_test) print("準確率為:n", score) return None
結果分析:準確率: 分類演演算法的評估之一
1、k值取多大?有什麼影響?
k值取很小:容易受到異常點的影響k值取很大:受到樣本均衡的問題
2、效能問題?
距離計算上面,時間複雜度高
優點:簡單,易於理解,易於實現,無需訓練
缺點:
使用場景: 小資料場景,幾千~幾萬樣本,具體場景具體業務去測試
到此這篇關於Python sklearn轉換器估計器和K-近鄰演演算法的文章就介紹到這了,更多相關Python sklearn 內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45