9行代码实现一个机器学习案例

sklearn简介

scikit-learn(sklearn),是一个开源的基于python语言的机器学习工具包。它通过NumPy, SciPy和Matplotlib等python数值计算的库实现高效的算法应用,并且涵盖了几乎所有主流机器学习算法,包括回归(Regression)、降维(Dimensionality Reduction)、分类(Classfication)、聚类(Clustering)等方法。

sklearn有一个完整而丰富的官网,里面讲解了基于sklearn对所有算法的实现和简单应用。
SKlearn官网链接

sklearn特点

  • 简单高效的数据挖掘和数据分析工具
  • 可供大家在各种环境中重复使用
  • 建立在 NumPy ,SciPy 和 matplotlib 上
  • 开源,可商业使用 - BSD许可证

sklearn安装

安装最新版本
Scikit-learn 要求:

  • Python (>= 3.5),
  • NumPy (>= 1.11.0),
  • SciPy (>= 0.17.0),
  • joblib (>= 0.11).
pip install -U scikit-learn

或者 conda:

conda install scikit-learn

下面用实际的案例给大家讲解一下sklearn的使用

鸢尾花的分类

初识数据

iris 鸢尾花数据集包含 3 类共 150 条记录(每类各 50 条),每条记录都有 4 项特征:花萼长度、花萼宽度、花瓣长度、花瓣宽度,可以通过这4个特征预测鸢尾花卉属于3类(iris-setosa, iris-versicolour, iris-virginica)中的哪一类品种。
数据集将setosa,versicolor,virginnica类别标记为0,1,2
我们的目标是建立一个基础的机器学习的模型通过四个特征数据预测鸢尾花的品种。这是最基础的三分类问题。

sklearn数据集中自带了鸢尾花的数据和标签

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split

导入数据和标签

iris = load_iris()
x = iris.data
y = iris.target

观察数据:
在这里插入图片描述
在这里插入图片描述
将数据打乱并分为训练数据,测试数据,训练标签,测试标签

#测试数据设为30条
train_x,val_x,train_y,val_y = train_test_split(x,y,test_size=30)

导入逻辑回归模型

from sklearn.linear_model import LogisticRegression

训练模型

model = LogisticRegression().fit(train_x,train_y)

评估模型

model.score(val_x,val_y)
#评估精度为0.9666666666666667

完整代码实现:

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
iris = load_iris()
x = iris.data
y = iris.target
train_x,val_x,train_y,val_y = train_test_split(x,y,test_size=30)
model = LogisticRegression().fit(train_x,train_y)
model.score(val_x,val_y)

以上就是今天博主和大家分享的案例了,是不是突然觉得机器学习很简单了?当然这只是一个最简单的入门案例,要深入学习还是需要靠大家的努力了,希望大家能继续进步。
ps:这里分享一张sklearn如何选择模型的图。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42494845/article/details/105596780
今日推荐