前言
sklearn是python的重要機器學習庫,其中封裝了大量的機器學習算法,如:分類、回歸、降維以及聚類;還包含了監督學習、非監督學習、數據變換三大模塊。sklearn擁有完善的文檔,使得它具有了上手容易的優勢;并它內置了大量的數據集,節省了獲取和整理數據集的時間。因而,使其成為了廣泛應用的重要的機器學習庫。
sklearn是一個無論對于機器學習還是深度學習都必不可少的重要的庫,里面包含了關于機器學習的幾乎所有需要的功能,因為sklearn庫的內容是如此之多以至于一開始就從宏觀層面展開的話很可能會使初學者感到困惑和恐懼。相反的,本文不會先整體介紹sklearn庫,而是先從sklearn庫中的一些具體實例入手,在讀者學習完一些比較常用的函數并且對他們的功能有了一定了解之后,本文再從宏觀展開,全面細致的講解sklearn庫。本博客中的實例幾乎都來自我自己學習keras的過程中,建議與我的另外一篇寫keras的博客一同食用,理解起來更佳。
一、MinMaxScaler
MinMaxScaler函數主要的用途就在于數據歸一化。數據歸一化是在我們開始深度學習之前做的數據預處理過程中的重要一環,簡單來說就是將我們的測試樣本的元素都集中在[0,1]的區間上,數據歸一化可以讓我們的神經網絡模型學習起來更快達到最佳點,如果不進行歸一化的話神經網絡可能會花費很長時間來收斂(也就是到達最佳點)甚至可能最終也不會收斂。同時,數據歸一化也可以大大增加神經網絡中可學習參數的精度,從而達到更好的學習效果。下面就是MinMaxScaler函數的實例應用。
1
2
3
4
5
6
7
8
9
10
11
|
from sklearn import preprocessing import numpy as np x = np.array([[ 3. , - 1. , 2. , 613. ], [ 2. , 0. , 0. , 232 ], [ 0. , 1. , - 1. , 113 ], [ 1. , 2. , - 3. , 489 ]]) min_max_scaler = preprocessing.MinMaxScaler() x_minmax = min_max_scaler.fit_transform(x) print (x_minmax) |
運行結果:
[[1. 0. 1. 1. ]
[0.66666667 0.33333333 0.6 0.238 ]
[0. 0.66666667 0.4 0. ]
[0.33333333 1. 0. 0.752 ]]
總結起來就是兩步:1.scaler=preprocessing.MinMaxScaler()
2.x1=scaler.fit_transform(x)
x1就是歸一化之后的結果
注意,想要引入MinMaxScaler可以有兩種import的方式,除了上文中的方式還可以這樣做:
from sklearn.preprocessing import MinMaxScaler
到此這篇關于python庫sklearn常用操作的文章就介紹到這了,更多相關python庫sklearn內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://www.cnblogs.com/BCCJXXZ/p/15168899.html