首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python机器学习之scikit-learn库

引言

数据分析由一连串的步骤组成,对于其中预测模型的创建和验证这一步,我们使用scikit-learn这个功能强大的库来完成。

scikit-learning库

python库scikit-learn整合了多种机器学习算法。2007年,Cournapeu开始开发这个库,但是直到2010年才发布它的第一个版本。

这个库是SciPy(scientific Python,python科学计算)工具集的一部分,该工具集包含多个为科学计算尤其是数据分析而开发的库。通常这些库被称作SciKits,库名scikit-learn的前半部分正是来源于此,而后半部分则是来自该库所面向的应用领域——机器学习(即Machine Learning)。

机器学习

机器学习研究的是识别作为数据分析对象的数据集中模式的方法,尤其是指研发算法,从数据中学习,并作出预测。所有的机器学习方法都是以建立特定的模型为基础。

要建立能够学习的机器,方法有很多种,但是各有各的特点,选用哪种方法取决于数据的特点和预测数据的类型。选用哪种方法这个问题被称作学习问题。

在学习阶段,遵从某种模式的数据可以是数组形式,其中每个元素只包含单个值或多个值。这些值通常被称为特征或属性。

有监督和无监督学习

根据数据和要创建的模型的类型,学习问题通常可以分为两大类。

有监督学习(supervised learning):训练集包含作为预测结果(目标值)的额外的属性信息。这些信息可以直到模型对新数据(测试集)作出跟已有数据类似的预测结果。

分类:训练集数据属于两种或以上类别;已标注的数据可直到系统学习能够识别每个类别的特征。预测系统未见过的新数据时,系统将根据新数据的特征,评估它的类别。

回归:被预测结果为连续型变量。最易于理解的应用场景是,在散点图中找出能够描述一系列数据点趋势的直线。

无监督学习(unsupervised learning):训练集数据由一系列输入值x组成,其目标值未知。

聚类:发现数据集中由相似的个体组成的群组。

降维:将高维数据集的维数减少到两维或三维,这样不仅便于数据可视化,而且大幅降低维度后,每一维所传达的信息还会更多。

除了上述两大类别的方法之外,还有一类方法,它们以验证、评估模型为目的。

训练集和测试集

机器学习方法使得我们可以用数据集创建模型,识别模型的特性之后,再用来处理新数据。在机器学习过程中,经常需要评估算法的好坏。评估算法需要把算法分为训练集和测试集两部分,从前者学习数据的特性,再用后者测试得到的特性。

使用scikit-learn实现有监督学习

我们将在下一节中实现一些使用scikit-learn的例子,首先我们需要明白有监督学习方法从数据集读取数据,学习两个或以上特征之间可能的模式;因为训练集结果(目标或标签)已知,所以学习是可行的。scikit-learn的所有模型都被称为有监督估计器,训练估计器要用到fit(x,y)函数:其中x指的是观察到的特征,y指的是目标。估计器经过训练后,就能预测任何标签未知的新数据x的y值;预测是由predict(x)函数完成的。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190417A0LUNM00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券