Sklearn库和TensorFlow框架
声明:代码的运行环境为Python3。Python3与Python2在一些细节上会有所不同,希望广大读者注意。本博客以代码为主,代码中会有详细的注释。相关文章将会发布在我的个人博客专栏《Python从入门到机器学习》,欢迎大家关注。下面开始我们的第六讲:Sklearn库和TensorFlow框架。
目录
六、Sklearn库和TensorFlow框架
本文主要对Sklearn库和TensorFlow框架进行介绍,Sklearn库中封装了大量的算法,如:分类、回归、聚类等等。它跟TensorFlow框架都是机器学习中至关重要的一环。
一、Sklearn库
Sklearn是Python中的一个非常重要的机器学习库,在Sklearn库中不仅封装了大量的机器学习算法,它还内置了数据集,节省了获取和整理数据的时间。下面将简单介绍一下Sklearn库中常用的算法。
1、无监督学习算法
算法 | 说明 |
cluster | 聚类 |
decomposition | 因子分解 |
mixture | 高斯混合模型 |
neural_network | 无监督的神经网络 |
covariance | 协方差估计 |
2、监督学习算法
算法 | 说明 |
tree | 决策树 |
svm | 支持向量机 |
neighbors | 近邻算法 |
linear_model | 广义线性模型 |
neural_network | 神经网络 |
kernel_ridge | 岭回归 |
naive_bayes | 朴素贝叶斯 |
cross_decomposition | 交叉分解 |
3、数据变换
算法 | 说明 |
feature_extraction | 特征提取 |
feature_selection | 特征选择 |
preprocessing | 预处理 |
注意:以上的每个模型中都包含着多个算法,使用某算法时,直接导入需要的包即可。例如:
from sklearn.linear_model import logistic
二、TensorFlow框架的基本使用
TensorFlow是一个编程系统,使用图来表示计算任务。图中的节点被称之为op(operation的缩写)。一个op获得0个或多个tensor,执行计算并产生0个或多个tensor。每个 tensor是一个类型化的多维数组。在Python语言中,返回的tensor是NumPy中的ndarray对象。下面我们就对TensorFlow如何使用进行简单的介绍。
1、常量变量的定义
# 导入需要的包
import tensorflow as tf
#常量的定义
cl = tf.constant(9)
# 变量的定义
bl = tf.Variable(tf.zeros(2, 2))
# 变量要想使用,需要执行以下代码
init = tf.initialize_all_variables()
如上例所示,调用TensorFlow中的constant()方法可以定义一个常量,调用Variable()方法可以定义一个变量。这里需要注意的是,变量定义完之后如果想要使用的话还要执行上例中的最后一条代码。
2、占位符的使用
占位符常用于变量定义时,定义变量需要初始化,但是有些变量在定义的时候是不知道他们的值的,这个时候就可以使用占位符来代替,定义方法如下。
# 占位符
zwf = tf.placeholder(tf.int16, [None, 88])
placeholder()方法可以定义一个占位符。上例中定义的占位符指定了zwf这个变量的类型和大小。
3、图的使用
就像上面所说的那样,在TensorFlow中,要实现具体的运算,如最基本的加减乘除,我们不能直接定义几个变量进行运算,要使用图来表示计算任务。一个TensorFlow图描述了计算的过程。为了进行计算, 图必须在session里被启动,session运行整个计算过程。
a = tf.Variable(5)
b = tf.Variable(5)
c = a * b
init = tf.initialize_all_variables()
with tf.Session() as sess:
sess.run(init)
print(sess.run(c))
输出结果:
25
上例中的sess.run()是执行操作,session创建使用完之后要释放。如果使用占位符的话,需要使用run()方法中的feed_dict参数为其赋值。
注意:要先执行初始化变量操作再执行相应的运算。
你们在此过程中遇到了什么问题,欢迎留言,让我看看你们都遇到了哪些问题。
更多推荐
所有评论(0)