【机器学习基础 3】 sklearn库

这篇具有很好参考价值的文章主要介绍了【机器学习基础 3】 sklearn库。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、sklearn库简介

二、sklearn库安装

三、关于机器学习

四、sklearn库在机器学习中的应用

1、数据预处理

2、特征提取

3、模型选择与评估

五、常用的sklearn函数

1、数据集划分

2、特征选择

3、特征缩放

4、模型训练

5、模型预测


一、sklearn库简介

        Scikit-learn(简称sklearn)是一个用于机器学习的Python库,它包含了许多常用的机器学习算法、预处理技术、模型选择和评估工具等,可以方便地进行数据挖掘和数据分析。 Scikit-learn建立在NumPy、SciPy和Matplotlib之上。

二、sklearn库安装

pip install scikit-learn -i https://pypi.tuna.tsinghua.edu.cn/simple/

比如我们要安装 sklearn 1.1.1版本,那么:
pip install scikit-learn==1.1.1 -i https://pypi.tuna.tsinghua.edu.cn/simple

注意:我们在sklearn库的学习和练习过程中,所需的 sklearn 版本不一定要最新 or 最好的,因为里面可能会有一些东西在新版本被移除了,比如:load_boston(波士顿房价数据)在最新版已被移除,因此建议安装 sklearn 1.1.1版本

三、关于机器学习

在认识sklearn库前,我们要知道机器学习一般分为四个基本的步骤:

        ① 数据的收集和准备 → 包括数据的清洗、变换、归一化和特征提取等操作;

        ② 模型选择和训练 → 选择一个合适的机器学习模型,并使用收集的数据对其进行训练(什么问题选择什么模型);

        ③ 模型评估 → 训练完成后对模型在新数据上的表现进行评估;

        ④ 模型部署和优化 → 将模型部署到实际环境中,并对其进行优化,包括压缩、加速、调参;

在这四个步骤中,最宝贵的是数据的收集和准备(一批好的数据蛮贵的)。当然,在解决机器学习问题中最困难的是② 模型的选择,不同的模型更适合不同类型的数据和不同的问题。

具体可以看下表:(源自官网Choosing the right estimator — scikit-learn 1.2.2 documentation)

【机器学习基础 3】 sklearn库

 

四、sklearn库在机器学习中的应用

1、数据预处理

sklearn.preprocessing模块提供了一些常用的数据预处理函数,如缩放、标准化、二值化等,可以用来对原始数据进行处理和转换,使其更适合机器学习算法的处理。

例如:

from sklearn import preprocessing
import numpy as np

# 创建一些随机数据
data = np.random.rand(5, 2)

# 标准化数据
scaler = preprocessing.StandardScaler().fit(data)
scaled_data = scaler.transform(data)

print(scaled_data)

样例输出:

[[-0.36369316 -0.88624935]
 [ 1.60663227  0.65821309]
 [-0.94306714 -0.8578848 ]
 [ 0.67229355  1.65105326]
 [-0.97216552 -0.56513221]]

2、特征提取

sklearn.feature_extraction模块提供了一些常用的特征提取函数,如文本特征提取、图像特征提取等,可以用来从原始数据中提取有用的特征,以便用于机器学习算法的处理。

例如:

from sklearn.feature_extraction.text import CountVectorizer

# 创建一些文本数据
corpus = [
    'This is the first document.',
    'This is the second second document.',
    'And the third one.',
    'Is this the first document?',
]

# 提取文本特征
vectorizer = CountVectorizer()
X = vectorizer.fit_transform(corpus)

print(X.toarray())

样例输出:

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

3、模型选择与评估

sklearn.model_selection模块提供了一些常用的模型选择和评估工具,如交叉验证、网格搜索、评估指标等,可以用来选择最优的模型和调整模型参数,以及评估模型的性能。

例如:

from sklearn.model_selection import GridSearchCV
from sklearn import svm, datasets

# 加载数据
iris = datasets.load_iris()

# 定义模型和参数
parameters = {'kernel': ('linear', 'rbf'), 'C': [1, 10]}

svc = svm.SVC()

# 进行网格搜索
clf = GridSearchCV(svc, parameters)
clf.fit(iris.data, iris.target)

# 输出最优模型参数和得分
print(clf.best_params_)
print(clf.best_score_)

样例输出:

{'C': 1, 'kernel': 'linear'}
0.9800000000000001

五、常用的sklearn函数

1、数据集划分

        函数:train_test_split

        用途:将数据集划分为训练集和测试集,以便用于模型的训练和评估

样例:

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

# 加载数据集
iris = load_iris()

# 划分数据集
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2, random_state=42)

print(X_train.shape, X_test.shape, y_train.shape, y_test.shape)

样例输出:

(120, 4) (30, 4) (120,) (30,)

2、特征选择

        函数:SelectKBest

        用途:选择与目标变量最相关的K个特征,以提高模型的性能和效率。

样例:

from sklearn.datasets import load_breast_cancer
from sklearn.feature_selection import SelectKBest, f_classif
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC

# 加载数据集
data = load_breast_cancer()

# 划分数据集
X_train, X_test, y_train, y_test = train_test_split(data.data, data.target, test_size=0.2, random_state=42)

# 特征选择
selector = SelectKBest(score_func=f_classif, k=10)
X_train_new = selector.fit_transform(X_train, y_train)
X_test_new = selector.transform(X_test)

# 训练模型
clf = SVC()
clf.fit(X_train_new, y_train)

# 评估模型
score = clf.score(X_test_new, y_test)

print("Accuracy:", score)

        上述示例中,首先加载了一个乳腺癌数据集,然后使用train_test_split函数将数据集划分为训练集和测试集。接下来,使用SelectKBest函数进行特征选择,选择了10个最相关的特征,然后将训练集和测试集中的特征向量转换为只包含选择的特征向量的新特征向量。最后,使用支持向量机模型训练新的特征向量和目标变量,然后使用测试集评估模型性能。

3、特征缩放

        函数:StandardScaler

        用途:将特征缩放到均值为0、方差为1的范围内,以便提高模型的训练速度和准确性

 样例:

from sklearn.datasets import load_iris
from sklearn.preprocessing import StandardScaler

# 加载数据集
iris = load_iris()

# 缩放数据集
scaler = StandardScaler()
X_scaled = scaler.fit_transform(iris.data)

print(X_scaled[:5])

样例输出:

[[-0.90068117  1.01900435 -1.34022653 -1.3154443 ]
 [-1.14301691 -0.13197948 -1.34022653 -1.3154443 ]
 [-1.38535265  0.32841405 -1.39706395 -1.3154443 ]
 [-1.50652052  0.09821729 -1.2833891  -1.3154443 ]
 [-1.02184904  1.24920112 -1.34022653 -1.3154443 ]]

4、模型训练

        函数:fit

        用途:对数据进行训练,以得到一个机器学习模型。

 样例:

from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier

# 加载数据集
iris = load_iris()

# 训练决策树模型
clf = DecisionTreeClassifier()
clf.fit(iris.data, iris.target)

print(clf)

5、模型预测

        函数:predict

        用途:对新数据进行预测,以得到模型的输出结果。

样例:

from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier

# 加载数据集
iris = load_iris()

# 训练决策树模型
clf = DecisionTreeClassifier()
clf.fit(iris.data, iris.target)

# 预测新数据
y_pred = clf.predict([[5.1, 3.5, 1.4, 0.2]])

print(y_pred)

输出:

[0]

 文章来源地址https://www.toymoban.com/news/detail-471024.html

到了这里,关于【机器学习基础 3】 sklearn库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • sklearn机器学习库(二)sklearn中的随机森林

    集成算法会考虑多个评估器的建模结果,汇总之后得到一个综合的结果, 以此来获取比单个模型更好的回归或分类表现 。 多个模型集成成为的模型叫做集成评估器(ensemble estimator),组成集成评估器的每个模型都叫做基评估器(base estimator)。通常来说,有三类集成算法:

    2024年02月12日
    浏览(45)
  • 机器学习 | sklearn库

    目录 一、样本及样本的划分 1.1 样本划分 1.2 划分样本的方法 二、导入或创建数据集 2.1 导入sklearn自带的样本数据集 2.2 利用sklearn生成随机的数据集 2.3 读入自己创建的数据集 三、数据预处理 3.1 数据标准化 3.2 sklearn中的数据标准化函数 3.3 正则化函数Normalizer() 四、数据的降

    2024年02月08日
    浏览(42)
  • 机器学习--sklearn(决策树)

    决策树(Decision Tree)是一种非参数的有监督学习方法,它能够从一系列有特征和标签的数据中总结出决策规则,并用树状图的结构来呈现这些规则,以解决分类和回归问题。 节点 根节点:没有进边,有出边。包含最初的,针对特征的提问。 中间节点:既有进边也有出边,进

    2023年04月18日
    浏览(33)
  • sklearn机器学习思维导图

    2024年01月24日
    浏览(44)
  • 机器学习框架sklearn之随机森林

    集成学习通过建立几个模型组合来解决单一预测问题。它的工作原理是生成多个分类器/模型,各自独立的学习和作出预测。这些预测最后结合成组合预测,因此优于任何一个单分类的做出预测。 在机器学习中,随机森林是一个包含多个决策树的分类器,并且其输出的类别是

    2023年04月22日
    浏览(42)
  • 仿真机器人-深度学习CV和激光雷达感知(项目2)day03【机器人简介与ROS基础】

    💫你好,我是辰chen,本文旨在准备考研复试或就业 💫本文内容是我为复试准备的第二个项目 💫欢迎大家的关注,我的博客主要关注于考研408以及AIoT的内容 🌟 预置知识:基本Python语法,基本linux命令行使用 以下的几个专栏是本人比较满意的专栏 (大部分专栏仍在持续更新

    2024年01月19日
    浏览(50)
  • 头歌机器学习---sklearn中的kNN算法

    第1关 使用sklearn中的kNN算法进行分类 第2关 使用sklearn中的kNN算法进行回归

    2024年02月06日
    浏览(46)
  • 【机器学习sklearn】第二节:线性回归和线性分类

    作者 🕵️‍♂️:让机器理解语言か   专栏 🎇:机器学习sklearn 描述 🎨:本专栏主要分享博主学习机器学习的笔记和一些心得体会。 寄语 💓:🐾没有白走的路,每一步都算数!🐾          监督学习(英语:Supervised learning)是机器学习中最为常见、应用最为广泛的

    2023年04月26日
    浏览(61)
  • 猿创征文|Python-sklearn机器学习之旅:我的第一个机器学习实战项目

    目录 前言 一、从目的出发 1.导入数据 二、项目开启 1.导入数据

    2024年01月24日
    浏览(53)
  • 【Python机器学习】sklearn.datasets分类任务数据集

    如何选择合适的数据集进行机器学习的分类任务? 选择合适的数据集是进行任何机器学习项目的第一步,特别是分类任务。数据集是机器学习任务成功的基础。没有数据,最先进的算法也无从谈起。 本文将专注于 sklearn.datasets 模块中用于分类任务的数据集。这些数据集覆盖

    2024年02月07日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包