当前位置: 首页 > news >正文

机器学习实操项目03——Scikit-learn介绍及简单分类案例

上一章:机器学习实操项目02——Pandas入门
下一章:
机器学习核心知识点目录:机器学习核心知识点目录
机器学习实战项目目录:【从 0 到 1 落地】机器学习实操项目目录:覆盖入门到进阶,大学生就业 / 竞赛必备

文章目录

  • Scikit-learn六大功能
    • 分类
    • 回归
    • 聚类
    • 数据降维
    • 模型选择
    • 数据预处理
  • 简单案例
  • 总结

Scikit-learn六大功能

Scikit-learn的基本功能主要被分为六大部分:分类,回归,聚类,数据降维,模型选择和数据预处理

分类

概念:分类给自定对象指定所属类别

范畴:监督学习

最常见的应用场景:垃圾邮件检测、图像识别

已实现算法:支持向量机(SVM,Support Verctor Machine)、K最邻近算法(KNN,K-NearestNeighbor)、逻辑回归(LR,Logistic Regression)、随机森林(RF,Random Forest)、决策树(Decision Tree)、多层感知器(MLP,Multi-layer Perceptron)神经网络等。

回归

概念:预测与给定对象相关联的连续值属性

最常见的应用场景:预测药物反应、预测股票价格

已实现算法:支持向量回归(SVR,Support Vector Regression),脊回归(Ridge Regression),Lasso回归(Lasso Regression),弹性网络(Elastic Net),最小角回归(LARS)、贝叶斯回归(Bayesian Regrssion)等。

聚类

概念:自动识别具有相似属性的给定对象,并将其分组为集合

范畴:无监督学习

最常见的应用场景:顾客细分、实验结果分组

已实现算法:K-均值聚类(K-means),谱聚类(Spectral Clustring)、均值偏移(Mean Shift)、分层聚类、DBSCAN聚类

数据降维

概念:通过降维技术来减少考虑的随机数量的个数

应用场景:可视化处理、效率提升

降维技术算法:主成分分析(PCA,Principal Component Analysis)、非负矩阵分解(NMF,Non-negative Matrix Factorizatio)

模型选择

概念:对给定参数和模型的比较、验证和选择

目的:通过参数调整来提升精度

已实现的模块包括:格点搜索,交叉验证和各种针对预测误差评估的度量函数

数据预处理

概念:数据的特征提取和归一化

归一化:将输入数据转换为具有零均值和单位权方差的新变量。

归一化注意点:因为大多数时候都做不到精确等于0,因此会设置一个可接受的范围,一般都要求落在0-1之间

特征提取:是指将文本和图像数据转化为孔用于机器学习的数字变量。

简单案例

代码:

# 引入数据集,sklearn包含众多数据集
from sklearn import datasets
# 将数据分为测试集和训练集
from sklearn.model_selection import train_test_split
# 利用邻近点方式训练数据
from sklearn.neighbors import KNeighborsClassifier# 引入数据,本次导入鸢尾花数据,iris数据包含4个特征变量
iris = datasets.load_iris()# 特征变量
iris_X = iris.data
# print(iris_X)print('特征变量的长度',len(iris_X))# 目标值
iris_y = iris.target
print('鸢尾花的目标值',iris_y)# 利用train_test_split进行训练集和测试机进行分开,test_size占30%
X_train,X_test,y_train,y_test=train_test_split(iris_X,iris_y,test_size=0.3)# 我们看到训练数据的特征值分为3类
# print(y_train)

输出结果:

特征变量的长度 150
鸢尾花的目标值 [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 00 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 11 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 22 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 22 2]

代码:

# 训练数据# 引入训练方法
knn = KNeighborsClassifier()# 进行填充测试数据进行训练
knn.fit(X_train,y_train)params = knn.get_params()
print(params)

输出结果:

{'algorithm': 'auto', 'leaf_size': 30, 'metric': 'minkowski', 'metric_params': None, 'n_jobs': None, 'n_neighbors': 5, 'p': 2, 'weights': 'uniform'}

代码:

score = knn.score(X_test,y_test)
print("预测得分为:%s"%score)

输出结果:

预测得分为:0.9777777777777777

代码:

# 预测数据,预测特征值
print(knn.predict(X_test))

输出结果:

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

代码:

# 打印真实特征值
print(y_test)

输出结果:

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

总结

sklearn是Python中机器学习领域最著名的库,它提供了大量的机器学习算法,并且使用起来非常简单,更多具体操作在后续的实战项目中结合具体的任务介绍。

上一章:机器学习实操项目02——Pandas入门
下一章:
机器学习核心知识点目录:机器学习核心知识点目录
机器学习实战项目目录:【从 0 到 1 落地】机器学习实操项目目录:覆盖入门到进阶,大学生就业 / 竞赛必备


文章转载自:

http://1v2GLwGN.wnnfh.cn
http://zEOihGMx.wnnfh.cn
http://cEjaRX9U.wnnfh.cn
http://SPsvQsbu.wnnfh.cn
http://hFn2osBc.wnnfh.cn
http://W8oqYXmt.wnnfh.cn
http://qs4d4fLk.wnnfh.cn
http://1iE8dkPJ.wnnfh.cn
http://hz3Czuk1.wnnfh.cn
http://xDUvfYyG.wnnfh.cn
http://HMzv888G.wnnfh.cn
http://vfCxfW9I.wnnfh.cn
http://UDAdbXwz.wnnfh.cn
http://QzQuS63v.wnnfh.cn
http://krFEGAvX.wnnfh.cn
http://yMy3S1LX.wnnfh.cn
http://zYrgT4PP.wnnfh.cn
http://vHWMEdGt.wnnfh.cn
http://wfbJ9YS3.wnnfh.cn
http://Bu8fNNHW.wnnfh.cn
http://H2SsKDgX.wnnfh.cn
http://hX19BP4j.wnnfh.cn
http://DvT7xaW7.wnnfh.cn
http://FjEmffC1.wnnfh.cn
http://jnc2V4mH.wnnfh.cn
http://XO5ykRFi.wnnfh.cn
http://mfLUIzRK.wnnfh.cn
http://Ihs8jKjS.wnnfh.cn
http://IBxF8Qoh.wnnfh.cn
http://LK6iiwKb.wnnfh.cn
http://www.dtcms.com/a/376919.html

相关文章:

  • 了解网站安全监测系统的重要性
  • 图像尺寸和CMOS的关联
  • 视频转webp批量处理工具哪个好?这里有答案
  • cuda-NCCL笔记(3)-- 分布式训练LeNet
  • Android Studio开发环境配置
  • 【springboot+vue3】博客论坛管理系统(源码+文档+调试+基础修改+答疑)
  • 中台的万象
  • 从Grok 4多智能体协同到RAG范式革命:2025年AI工作流的技术重构
  • pythonFlask 使用 SQLAlchemy 的连接池
  • 【系统架构设计(25)】Web应用服务器与现代架构
  • minikube 的 kubernetes 入门教程-Nginx Proxy Manager
  • ‌Git Bisect 二分查找定位错误总结
  • 基于大数据挖掘的药品不良反应知识整合与利用研究
  • Git 命令教程
  • springboot synchronized 本地锁入门与实战
  • 【竞赛系列】机器学习实操项目08——全球城市计算AI挑战赛(数据可视化分析)
  • Nginx 实战系列(八)—— Nginx SSL/TLS 配置指南
  • Python函数详解及*args、**kwargs用法
  • 零基础3个月上岸[特殊字符]自学数据分析路线
  • Java多线程(一)
  • pyspark读取hive表中数据后进行lgb建模
  • LeetCode 热题 42.接雨水(双指针写法)
  • 带你走进vue的响应式底层
  • 【算法--链表】117.填充每个节点的下一个右侧节点指针Ⅱ--通俗讲解
  • BFS与FloodFill算法简介与实战
  • 闭包面试题
  • el-table表头做过滤
  • LaTeX 中给单个/部分参考文献标记颜色(BibTeX 文献引用)
  • 深入探讨讲解MOS管工作原理-ASIM阿赛姆
  • 环境变量_进程地址空间