Scikit-Learn库概述

  • 该库最早由数据科学家David Cournapeau在2007年发起,使用需要Numpy和Scipy等其他库的支持,是Python中专门针对机器学习应用而发展起来的一款开源扩展库
  • 和其他开源项目一样,该库主要由社区成员自发进行维护
  • scikit-learn与其他开源项目相比显得更为保守:一是scikit-learn从来不做除机器学习领域之外的其他扩展,而是scikit-learn从来不采用未经广泛验证的算法

https://scikit-learn.org/stable/index.html

Scikit-Learn库数据集

在机器学习中,经常需要使用各种各样的数据集,Scikit-Learn库提供了一些常用的数据集

序号 数据集名称 调用数据集 数据描述
1 鸢尾花数据集 Load_iris() 用于多分类任务的数据集
2 波士顿房价数据集 Load_boston() 用于回归任务的经典数据集
3 糖尿病数据集 Load_diabetes() 用于回归任务的经典数据集
4 毛写数字数据集 Load_digits() 用于多分类任务的数据集
5 乳腺癌数据集 Load_breast_cancer() 经典的用于二分类任务的数据集
6 体能训练数据集 Load_linnerud() 经典的用于多变量回归任务的数据集

 

Scikit-Learn库功能 

分类:

分类是指识别给定对象的所属类别,属于检测学习的范畴,最常见的应用场景包括垃圾邮件检测和图像识别等

目前Scikit-learn已经实现的算法包括:支持向量机(SVM),最近邻、逻辑回归、随机森林、决策树以及多层感知器(MLP)神经网络等

回归:

回归是指预测与给定对象相关联的连续值属性,最常用的应用场景包括预测药物反应和预测股票价格等

目前Scikit-Learn已经实现的算法包括:支持向量回归(SVR),脊回归,Lasso回归,弹性网络(ElasticNet),最小角回归(LARS),贝叶斯回归,以及各种不同的鲁棒回归算法等

聚类:

聚类是指自动识别具有相似属性的给定对象,并将其分组为集合,数据无监督学习范畴

最常见的应用场景包括顾客细分和实验结果分组。

目前Scikit-Learn已经实现的算法包括:K-均值聚类、谱聚类、均值偏移、分层聚类、DBSCAN聚类等

数据降维:

数据降维是指使用主成分分析(PCA),非矩阵分解(NMF)或特征选择等降维技术来减少要考虑的随机变量的个数,其主要应用场景包括可视化处理和效率提升

模型选择:

模型选择是指对于给定参数和模型的比较、验证和选择,其主要目的是通过参数调整来提升精度。

目前Scikit-Learn实现的模块包括:格点搜索、交叉验证和各种针对预测误差评估的度量函数

数据预处理:

数据预处理是指数据的特征提取和归一化,是机器学习过程中的第一个也是最重要的一个环节

归一化是指将输入数据转化为具有零均值(中心化)和单位权方差的新变量,但因为大多数时候都做不到精确等于零,因此会设置一个可接受的范围,一般都要求落在0-1之间

特征提取是指将文本或图像数据转换为可用于机器学习的数据变量

Scikit-Learn库分类算法

K近邻分类器(KNN)

 

from sklearn.neighbors import KNeighborsClassifier
#创建一组数据X和它对应的标签y
X=[[0],[1],[2],[3],[4],[5]]
y=[0,0,0,1,1,1]
#使用最近的3个邻居作为分类的依据,得到分类器
neigh=KNeighborsClassifier(n_neighbors=3)
#将训练数据X和标签y送入分类器进行学习
neigh.fit(X,y)
#调用predict()函数,对未知分类样本[1.1]分类,可以直接并将
#需要分类的数据构造为数组形式作为参数传入,得到分类标签作为返回值
print(neigh.predict([[1.4]]))
print(neigh.predict([[2.4]]))
print(neigh.predict([[2.5]]))
print(neigh.predict([[2.6]]))
输出:
[0]
[0]
[0]
[1]

决策树

 

 回归算法

 

猜你喜欢

转载自blog.csdn.net/weixin_43717681/article/details/106074726
今日推荐