博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python scikit_如何将Scikit学习Python库用于数据科学项目
阅读量:2529 次
发布时间:2019-05-11

本文共 4309 字,大约阅读时间需要 14 分钟。

python scikit

最初于2007年发布的Scikit-learn Python库从头到尾通常用​​于解决机器学习和数据科学问题。 通用库提供整洁,一致,高效的API和详尽的在线文档。

什么是Scikit学习?

是一个开放源代码Python库,它具有用于数据分析和数据挖掘的强大工具。 它已获得BSD许可,并基于以下机器学习库构建:

  • NumPy ,一个用于处理多维数组和矩阵的库。 它还具有广泛的数学函数汇编,可以执行各种计算。
  • SciPy ,一个由各种库组成的生态系统,用于完成技术计算任务。
  • Matplotlib ,一个用于绘制各种图表的库。

Scikit-learn提供了广泛的内置算法,可充分利用数据科学项目。

这是使用Scikit学习库的主要方法。

1.分类

工具识别与提供的数据关联的类别。 例如,它们可用于将电子邮件分类为垃圾邮件。

  • 支持向量机(SVM)
  • 最近的邻居
  • 随机森林

2.回归

回归涉及创建一个模型,该模型试图理解输入和输出数据之间的关系。 例如,可以使用回归工具来了解股票价格的行为。

回归算法包括:

  • 支持向量机
  • 岭回归
  • 套索

3.聚类

Scikit学习集群工具用于将具有相同特征的数据自动分组为集合。 例如,客户数据可以基于他们的位置进行细分。

聚类算法包括:

  • K均值
  • 光谱聚类
  • 均值漂移

4.降维

降维减少了用于分析的随机变量的数量。 例如,为了提高可视化效率,可以不考虑外围数据。

降维算法包括:

  • 主成分分析(PCA)
  • 功能选择
  • 非负矩阵分解

5.选型

模型选择算法提供了用于比较,验证和选择在数据科学项目中使用的最佳参数和模型的工具。

可以通过参数调整提高准确性的模型选择模块包括:

  • 网格搜索
  • 交叉验证
  • 指标

6.预处理

Scikit-learn预处理工具对于数据分析过程中的特征提取和规范化非常重要。 例如,您可以使用这些工具来转换输入数据(例如文本),并在分析中应用其功能。

预处理模块包括:

  • 前处理
  • 特征提取

一个Scikit学习库示例

让我们使用一个简单的示例来说明如何在数据科学项目中使用Scikit-learn库。

我们将使用 ,该已包含在Scikit-learn库中。 鸢尾花数据集包含有关三种花的150个详细信息:

  • Setosa-标记为0
  • 杂色-标记为1
  • 维珍妮卡(标记为2)

数据集包括每种花的以下特征(以厘米为单位):

  • 萼片长度
  • 萼片宽度
  • 花瓣长度
  • 花瓣宽度

步骤1:导入库

由于Iris数据集包含在Scikit-learn数据科学库中,因此我们可以按以下方式将其加载到工作区中:

from sklearn      
import datasets
iris
= datasets.
load_iris
(
)

这些命令从sklearn导入数据集模块,然后从数据集中使用load_digits()方法将数据包括在工作空间中。

步骤2:获取数据集特征

数据集模块包含几种方法,可以更轻松地了解处理数据。

在Scikit学习中,数据集是指类似于字典的对象,其中包含有关数据的所有详细信息。 数据使用.data键存储,这是一个数组列表。

例如,我们可以利用iris.data输出有关鸢尾花数据集的信息。

print ( iris. data )

这是输出(结果已被截断):

[[5.1 3.5 1.4 0.2]     
 [4.9 3.  1.4 0.2]
 [4.7 3.2 1.3 0.2]
 [4.6 3.1 1.5 0.2]
 [5.  3.6 1.4 0.2]
 [5.4 3.9 1.7 0.4]
 [4.6 3.4 1.4 0.3]
 [5.  3.4 1.5 0.2]
 [4.4 2.9 1.4 0.2]
 [4.9 3.1 1.5 0.1]
 [5.4 3.7 1.5 0.2]
 [4.8 3.4 1.6 0.2]
 [4.8 3.  1.4 0.1]
 [4.3 3.  1.1 0.1]
 [5.8 4.  1.2 0.2]
 [5.7 4.4 1.5 0.4]
 [5.4 3.9 1.3 0.4]
 [5.1 3.5 1.4 0.3]

我们还使用iris.target为我们提供有关花朵的不同标签的信息。

print ( iris. target )

这是输出:

[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0     
 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2
 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
 2 2]

如果使用iris.target_names则将输出在数据集中找到的标签名称的数组。

print ( iris. target_names )

这是运行Python代码后的结果:

['setosa' 'versicolor' 'virginica']

步骤3:可视化数据集

我们可以使用来生成鸢尾花数据集的视觉描述。 箱形图说明了数据如何通过四分位数分布在平面上。

这是实现此目的的方法:

import seaborn      
as sns
box_data
= iris.
data
#variable representing the data array
box_target
= iris.
target
#variable representing the labels array
sns.
boxplot
( data
= box_data
, width
=
0.5
, fliersize
=
5
)
sns.
set
( rc
=
{
'figure.figsize' :
(
2
,
15
)
}
)

让我们看看结果:

Box plot

在横轴上:

  • 0是萼片长度
  • 1是萼片宽度
  • 2是花瓣长度
  • 3是花瓣宽度

垂直轴是以厘米为单位的尺寸。

结语

这是此简单的Scikit学习数据科学教程的全部代码。

from sklearn      
import datasets
iris
= datasets.
load_iris
(
)
print
( iris.
data
)
print
( iris.
target
)
print
( iris.
target_names
)
import seaborn
as sns
box_data
= iris.
data
#variable representing the data array
box_target
= iris.
target
#variable representing the labels array
sns.
boxplot
( data
= box_data
, width
=
0.5
, fliersize
=
5
)
sns.
set
( rc
=
{
'figure.figsize' :
(
2
,
15
)
}
)

Scikit-learn是一个通用的Python库,您可以使用它来高效地完成数据科学项目。

如果您想了解更多信息,请查看上的教程,例如Andrey Bulezyuk的有关使用Scikit-learn库创建 。

有什么评价或者疑问吗? 随时在下面分享它们。

翻译自:

python scikit

转载地址:http://bqdzd.baihongyu.com/

你可能感兴趣的文章
SQL注入之绕过WAF和Filter
查看>>
jquery validate使用方法
查看>>
DataNode 工作机制
查看>>
windows系统下安装MySQL
查看>>
错误提示总结
查看>>
实验二+070+胡阳洋
查看>>
Linux IPC实践(3) --具名FIFO
查看>>
Qt之模拟时钟
查看>>
第一次接触安卓--记于2015.8.21
查看>>
(转)在分层架构下寻找java web漏洞
查看>>
mac下多线程实现处理
查看>>
C++ ifstream ofstream
查看>>
跟初学者学习IbatisNet第四篇
查看>>
seL4环境配置
查看>>
Git报错:insufficient permission for adding an object to repository database .git/objects
查看>>
ajax跨域,携带cookie
查看>>
BZOJ 1600: [Usaco2008 Oct]建造栅栏( dp )
查看>>
洛谷 CF937A Olympiad
查看>>
Codeforces Round #445 C. Petya and Catacombs【思维/题意】
查看>>
用MATLAB同时作多幅图
查看>>