目录
1. 文章主要内容
本篇博客致力于讲解Scikit-Learn机器学习算法库的安装和基本使用,通过本篇博客的学习,以KNN算法为例,意在用通俗易懂的语言掌握Scikit-Learn机器学习算法库的调用。通读本篇博客大概需要5分钟左右的时间。
机器学习算法多种多样,我们通过学习其基本的算法和原理,达到掌握的程度。随着机器学习的发展,前辈们总结了一套Scikit-Learn库,里面封装了机器学习的大部分常用算法。我们学习Scikit-Learn库文件,首先是掌握其用法,第二点也是可以简化代码,也是我们以后工程常用的算法库,我们并不需要造轮子,熟悉轮子的原理并熟练运用即可。
注:本篇博客的内容是基于liuyubobobo老师讲解的机器学习课程为基础,加上本人的总结和思考制作出来的,更详细的原版视频请自行搜索bobo老师机器学习。
2. Anaconda管理工具安装Scikit-Learn库(图文并茂)
Anaconda作为管理Python环境比较好的工具(Anaconda安装教程),这里我们通过在自己创建的环境中安装Scikit-Learn机器学习库,具体步骤如下所示:
总体步骤:打开Anaconda管理工具界面,切换到imooc_ai环境(这里的环境是自定义,每个人都不相同),然后打开其命令行,输入以下命令,然后再输入y同意执行即可
conda install scikit-learn
第一步:是点击绿色小按钮,然后点击open Terminal 打开终端界面:
第二步:在命令行输入上面的执行命令,并且输入y命令同意下载所需scikit-Learn安装包文件:
这样我们就已经在Anaconda中完成对scikit-Learn机器学习库的安装。
3. 在JupyterNoteBook中调用Scikit-Learn库(以KNN算法为例)
接下来我们以KNN算法为例子来简单使用Scikit-Learn算法库,需要注意到的是,这里使用的数据来源于我之前的博客(KNN算法博客)。
3.1 引入scikit-learn库中KNN对应的算法,并传入相应的训练和测试参数。
from sklearn.neighbors import KNeighborsClassifier # 引入scikit-learn库中KNN对应的算法
kNN_classifier = KNeighborsClassifier(n_neighbors=6) # 引入其对应算法的类,这里以相邻6个点来计算距离
kNN_classifier.fit(X_train, y_train)
X_predict = x.reshape(1, -1) # 将数组x类型转换为矩阵类型,这是因为scikit-Learn当中算法的predict()方法需要传入的参数为矩阵,其他算法也是如此,这是一个标准
y_predict = kNN_classifier.predict(X_predict)
3.2 整个测试案例的源代码(供大家参考)
import numpy as np
import matplotlib.pyplot as plt
raw_data_X = [[3.393533211, 2.331273381],
[3.110073483, 1.781539638],
[1.343808831, 3.368360954],
[3.582294042, 4.679179110],
[2.280362439, 2.866990263],
[7.423436942, 4.696522875],
[5.745051997, 3.533989803],
[9.172168622, 2.511101045],
[7.792783481, 3.424088941],
[7.939820817, 0.791637231]
]
raw_data_y = [0, 0, 0, 0, 0, 1, 1, 1, 1, 1]
X_train = np.array(raw_data_X)
y_train = np.array(raw_data_y)
x = np.array([8.093607318, 3.365731514])
from sklearn.neighbors import KNeighborsClassifier # 引入scikit-learn库中KNN对应的算法
kNN_classifier = KNeighborsClassifier(n_neighbors=6) # 引入其对应算法的类,这里以相邻6个点来计算距离
kNN_classifier.fit(X_train, y_train)
X_predict = x.reshape(1, -1) # 将数组x类型转换为矩阵类型,这是因为scikit-Learn当中算法的predict()方法需要传入的参数为矩阵,其他算法也是如此,这是一个标准
y_predict = kNN_classifier.predict(X_predict)
4. 本篇博客的总结
本篇博客主要讲解了Scikit-Learn机器学习库的安装和简单使用,并不涉及太多高深的知识。通过举这么一个简单的例子,熟悉其调用的方法,在之后的学习中通过查阅其API就可以达到举一反三的效果。
5. 机器学习系列博客的说明和展望
博主会持续更新机器学习中比较常用的算法模型,并提供源代码,其中会提炼出对代码技巧的思考和相关说明,每次的博客并不会讲解大批量的内容,旨在用最详细、最简单的语言,让大家一点点的收获小知识,最后形成系统的知识网络结构。在此期间,也会同步更新数据结构从零开始的博客教程,机器学习博客系列更新完毕之后,会更新深度学习系列。