python库——sklearn
本博客将持续保持更新!!!
前言
sklearn是一个无论对于机器学习还是深度学习都必不可少的重要的库,里面包含了关于机器学习的几乎所有需要的功能,因为sklearn库的内容是如此之多以至于一开始就从宏观层面展开的话很可能会使初学者感到困惑和恐惧。相反的,本文不会先整体介绍sklearn库,而是先从sklearn库中的一些具体实例入手,在读者学习完一些比较常用的函数并且对他们的功能有了一定了解之后,本文再从宏观展开,全面细致的讲解sklearn库。本博客中的实例几乎都来自我自己学习keras的过程中,建议与我的另外一篇写keras的博客一同食用,理解起来更佳。
一、MinMaxScaler
MinMaxScaler函数主要的用途就在于数据归一化。数据归一化是在我们开始深度学习之前做的数据预处理过程中的重要一环,简单来说就是将我们的测试样本的元素都集中在[0,1]的区间上,数据归一化可以让我们的神经网络模型学习起来更快达到最佳点,如果不进行归一化的话神经网络可能会花费很长时间来收敛(也就是到达最佳点)甚至可能最终也不会收敛。同时,数据归一化也可以大大增加神经网络中可学习参数的精度,从而达到更好的学习效果。下面就是MinMaxScaler函数的实例应用。
1 from sklearn import preprocessing
2 import numpy as np
3
4 x = np.array([[3., -1., 2., 613.],
5 [2., 0., 0., 232],
6 [0., 1., -1., 113],
7 [1., 2., -3., 489]])
8
9 min_max_scaler = preprocessing.MinMaxScaler()
10 x_minmax = min_max_scaler.fit_transform(x)
11 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的方式,除了上文中的方式还可以这样做:
1 from sklearn.preprocessing import MinMaxScaler