机器学习入门-----sklearn

机器学习基础了解

概念

机器学习是人工智能的一个实现途径
深度学习是机器学习的一个方法发展而来
定义:从数据中自动分析获得模型,并利用模型对特征数据【数据集:特征值+目标值构成】进行预测

算法

数据集的目标值是类别的话叫做分类问题;目标值是连续的数值的话叫做回归问题;统称监督学习;
另一类是无监督学习,这一类的数据集没有目标值,典型:聚类;

做什么

可以进行传统预测、图像识别、自然语言处理
传统预测
店铺销量预测、量化投资、广告推荐、企业客户分类、sql语言安全检测分类
图像识别
街道交通标志检测、人脸识别
自然语言处理
文本分类、情感分析、自动聊天、文本检测、翻译、写报纸、简单的新闻报告等

机器学习开发流程

数据收集、数据清洗(过滤、缺失处理、异常处理)、特征工程、数据建模 、模型评估

数据清洗是指处理数据中的错误、不完整或不准确的部分,以确保数据的质量和准确性。数据清洗通常涉及处理缺失值、异常值、重复值和错误值等。
特征工程是指根据数据的特性和业务需求,对原始数据进行转换、组合和提取,以提取出对建模和分析有用的特征。特征工程通常涉及对原始数据进行标准化、归一化、离散化、特征选择、特征组合等处理。
因此,数据清洗主要关注数据的准确性和完整性,而特征工程主要关注如何从原始数据中提取出对建模和分析有用的特征。两者都是数据预处理的重要环节,对于最终的数据分析和建模结果都有着重要的影响。

特征工程

定义:特征工程是使用专业背景知识和技巧处理数据,使得特征能在机器学习算法上发挥更好的作用的过程

数据集

Kaggle网址:https://www.kaggle.com/
UCI网址:https://archive.ics.uci.edu/
scikit-learn:https://scikit-learn.org/stable/index.html

scikit-learn
Classification 分类; Regression 回归; Clustering 聚类;
Dimensionality reduction降维; Model selection 模型选择 ;Preprocessing 特征工程;
安装步骤:1.安装相关库【numpy+mkl和scipy】:步骤为下载相关库安装包,打开下载文件夹,shift+鼠标打开‘在此处打开Powershell窗口,使用pip install 名字 安装;2.win+R输入cmd,进入cmd命令框;使用命令pip install -U scikit-learn 安装 具体见笔记;
验证一下,打开cmd命令框,查看版本pip list;
在这里插入图片描述

数据集使用

特征提取:load(获取小规模数据集)、fetch(获取大规模数据集)
返回Bunch数据类型

数据集划分

使用:sklearn.model_selection.train_test_split
训练数据:用于训练,构建模型
测试数据:模型检验使用,用于评估模型是否有效,一般20%-30%

特征工程步骤

特征提取【特征值化】:

使用:sklearn.feature_extraction
将任意数据(如文本图像)转换为可用于机器学习的数字特征,目的是为了计算机能够更好的理解数据,如字典特征提取【特征离散化】、文本特征提取、图像特征提取【深度学习】

字典特征抽取【将特征当中存在的类别信息做one-hot编码处理】
应用场景:
1)数据集中类别特征比较多时,可以先将数据集特征转化为字典类型,然后使用sklearn.feature_extraction.DictVectorizer类转换【调用fit_transform(数据集)方法,默认是系数矩阵;用get_feature_names()方法返回类别名称】;2)数据集本身就是字典类型

one-hot编码:One-hot编码是一种将分类变量转换为二进制向量的编码方法。在这种编码中,每个分类变量的取值被表示为一个长度为n的二进制向量,其中n是分类变量的取值个数。在这个向量中,只有对应分类变量取值的索引位置上的值为1,其他位置的值都为0。这种编码方法可以使分类变量在机器学习算法中更容易处理和分析。

文本特征抽取
应用场景:
1)统计每个样本特征词出现的个数,用sklearn.feature_extraction.text.CountVectorizer类进行转换【调用fit_transform(文本)方法】;
2)统计一个字或者一个词对一个文件集或一个语料库中其中一份文件的重要程度,即统计在某一类类别文章出现次数很多,但其他类别文章当中出现较少的关键词,用sklearn.feature_extraction.text.TfidfTransformer类进行转换【调用fit_transform(文本)方法】,即tf-idf【term frequency词频,inverse document frequency逆向文档频率】方法;

扩展:
jieba可以用来中文分词
安装jieba库方法如下
使用命令pip install jieba
在这里插入图片描述
安装成功
在这里插入图片描述

特征预处理

The sklearn.preprocessing package provides several common utility functions and transformer classes to change raw feature vectors into a representation that is more suitable for the downstream estimators.
解释:通过一些转换函数将特征数据转换为更加适合算法模型的特征数据过程

数值型数据的无量纲化:

为什么要进行归一化和标准化:
特征的单位或者大小相差较大,或者某特征的方差要比其他特征要大出几个数量级, 容易影响(支配)目标结果,使得一些算法无法学习到其他目标;所以为了使不同规格数据转换为同一规格要使用无量纲化(归一化和标准化)
比较:
对于归一化来说,如果出现异常点,会影响最大值和最小值,结果会发生变化
对于标准化来说,如果出现异常点,由于具有一定的数据量,少量的异常点对于平均值的影响不大,从而方差【标准差代表数据的集中程度】影响较小

1)归一化

定义:对原始数据进行变换把数据映射到(默认【0,1】)之间 公式:
在这里插入图片描述
使用场景:因为最值是变化的且容易受异常点影响,所以这种方法鲁棒性【健壮性】较差,只适合传统精确小数据场景

使用:sklearn.preprocessing.MinMaxScaler
调用sklearn.preprocessing.minmax_scale(X, feature_range=(0, 1)【最小最大值放缩】,先读取数据,然后实例化对象【调用fit_transform()方法即可】,如下

数据,文件名:dating.txt

milage,Liters,Consumtime,target
40920,8.326976,0.953952,3
14488,7.153469,1.673904,2
26052,1.441871,0.805124,1
75136,13.147394,0.428964,1
38344,1.669788,0.134296,1

代码

import pandas as pd
from sklearn.preprocessing  import MinMaxScalerdef minman_demo():"""归一化:return:"""#   1.获取数据data = pd.read_csv("dating.txt")data = data.iloc[:,:3]  # 每行都要,前3列print("data:\n", data)#   2.实例化转换器类transfer = MinMaxScaler()#   3.调用转换器类data_new = transfer.fit

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/250340.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FullStack之Django(1)开发环境配置

FullStack之Django(1)开发环境配置 author: Once Day date:2022年2月11日/2024年1月27日 漫漫长路,才刚刚开始… 全系列文档请查看专栏: FullStack开发_Once_day的博客-CSDN博客Django开发_Once_day的博客-CSDN博客 具体参考文档: The web framewor…

Docker中配置MySql环境

目录 一、简单安装 1. 首先从Docker Hub中拉取镜像 2. 启动尝试创建MySQL容器,并设置挂载卷。 3. 查看mysql8这个容器是否启动成功 4. 如果已经成功启动,进入容器中简单测试 4.1 进入容器 4.2 登录mysql中 4.3 进行简单添加查找测试 二、主从复…

C++函数分文件编写之VScode版

VScode实现函数的分文件编写 1.下载插件创建项目2.分文件编写内容3.修改主函数文件名 我在分享内容时经常用的软件是VScode,相信有些内存敏感或需要VScode便利性的小伙伴也是更愿意使用VScode。那么接下来我们就盘一盘怎样使用VScode实现分文件编写。 1.下载插件创建…

20240202在WIN10下使用fast whisper缺少cudnn_ops_infer64_8.dll

20240202在WIN10下使用fast whisper缺少cudnn_ops_infer64_8.dll 2024/2/2 10:48 https://blog.csdn.net/feinifi/article/details/132548556 Could not locate cudnn_ops_infer64_8.dll. Please make sure it is in your library path!解决办法 安装cuDNN c:\faster-whisper-…

用HTML5 + JavaScript实现下雪效果

用HTML5 JavaScript实现下雪效果 下面是用HTML5 JavaScript实现下雪效果示例&#xff0c;展示了如何使用 HTML5 的 <canvas> 元素以及 JavaScript 来创建下雪效果。效果如下&#xff1a; 源码如下&#xff1a; <!DOCTYPE html> <html lang"en">…

【Vue3】源码探索之旅:compiler-core之parseChildren函数(二)

简言 parseChildren函数是在baseParse函数中作为createRoot函数的子节点参数传入的&#xff0c;今天来探索下parseChildren函数。 parseChildren在 compiler-core/src/parse.ts文件内。 parseChildren 这个函数就是用来解析模板字符串内容的 &#xff0c;里面有个while循环…

vue全家桶之状态管理Vuex

一、认识应用状态管理 1.什么是状态管理 在开发中&#xff0c;我们会的应用程序需要处理各种各样的数据&#xff0c;这些数据需要保存在我们应用程序中的某一个位置&#xff0c;对于这些数据的管理我们就称之为是 状态管理。 在前面我们是如何管理自己的状态呢&#xff1f; …

HiSilicon352 android9.0 开机视频调试分析

一&#xff0c;开机视频概念 开机广告是在系统开机后实现播放视频功能。 海思Android解决方案在原生Android基础上&#xff0c;增加了开机视频模块&#xff0c;可在开机过程中播放视频文件&#xff0c;使用户更好的体验系统开机过程。 二&#xff0c;模块结构 1. 海思自研开机…

【Docker篇】Linux安装Docker、docker安装mysql、redis、rabbitmq

1.Linux安装docker 官方帮助文档&#xff1a;Install Docker Engine on CentOS | Docker Docs 1.1安装命令 # 1. 卸载之前的dockersudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate…

认识 SYN Flood 攻击

文章目录 1.什么是 SYN Flood 攻击&#xff1f;2.半连接与全连接队列3.如何防范 SYN Flood 攻击&#xff1f;增大半连接队列开启 SYN Cookie减少 SYNACK 重传次数 参考文献 1.什么是 SYN Flood 攻击&#xff1f; SYN Flood 是互联网上最原始、最经典的 DDoS&#xff08;Distri…

dvwa,xss反射型lowmedium

xss&#xff0c;反射型&#xff0c;low&&medium low发现xss本地搭建实操 medium作为初学者的我第一次接触比较浅的绕过思路high low 发现xss 本关无过滤 <script>alert(/xss/)</script> //或 <script>confirm(/xss/)</script> //或 <scr…

2024数学建模美赛F题思路代码分享

非法的野生动物贸易会对我们的环境产生负面影响&#xff0c;并威胁到全球的生物多样性。据估 计&#xff0c;它每年涉及高达265亿美元&#xff0c;被认为是全球第四大非法交易。[1]你将开发一个由数 据驱动的5年项目&#xff0c;旨在显著减少非法野生动物贸易。你的目标是说服一…

【24美赛思路已出】2024年美赛A~F题解题思路已出 | 无偿自提

A题&#xff1a;资源可用性和性别比例 问题一&#xff1a; 涉及当灯鱼种群的性别比例发生变化时&#xff0c;对更大的生态系统产生的影响。为了分析这个问题&#xff0c;可以采用以下的数学建模思路&#xff1a;建立灯鱼种群模型&#xff1a; 首先&#xff0c;建立一个灯鱼种群…

C语言第十六弹---操作符(下)

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】 操作符 1、下标访问[]、函数调用() 1.1、[ ] 下标引用操作符 1.2、函数调用操作符 2、结构成员访问操作符 2.1、结构体 2.1.1、结构的声明 2.1.2、结构体变…

计算机网络第4章(网络层)

4.1、网络层概述 简介 网络层的主要任务是实现网络互连&#xff0c;进而实现数据包在各网络之间的传输 这些异构型网络N1~N7如果只是需要各自内部通信&#xff0c;他们只要实现各自的物理层和数据链路层即可 但是如果要将这些异构型网络互连起来&#xff0c;形成一个更大的互…

【Python笔记-设计模式】建造者模式

一、说明 又称生成器&#xff0c;是一种创建型设计模式&#xff0c;使其能够分步骤创建复杂对象。允许使用相同的创建代码生成不同类型和形式的对象。 (一) 解决问题 对象的创建问题&#xff1a;当一个对象的构建过程复杂&#xff0c;且部分构建过程相互独立时&#xff0c;可…

基于SpringBoot Vue单位考勤管理系统

大家好✌&#xff01;我是Dwzun。很高兴你能来阅读我&#xff0c;我会陆续更新Java后端、前端、数据库、项目案例等相关知识点总结&#xff0c;还为大家分享优质的实战项目&#xff0c;本人在Java项目开发领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目&#x…

C#——三角形面积公式

已知三角形的三个边&#xff0c;求面积&#xff0c;可以使用海伦公式。 因此&#xff0c;可以执行得到三角形面积公式的计算方法代码如下&#xff1a; /** / <summary>* / 三角形面积公式* / </summary>* / <param name"a">边长a</param>*…

Android矩阵Matrix裁切setRectToRect拉伸Bitmap替代Bitmap.createScaledBitmap缩放,Kotlin

Android矩阵Matrix裁切setRectToRect拉伸Bitmap替代Bitmap.createScaledBitmap缩放&#xff0c;Kotlin class MyImageView : AppCompatImageView {private var mSrcBmp: Bitmap? nullprivate var testIV: ImageView? nullconstructor(ctx: Context, attrs: AttributeSet) :…

VUE3+TS使用OpenSeadragon学习之旅,实现多图片切换效果

1.官方网站&#xff1a;OpenSeadragon 2.使用npm下载插件&#xff1a;npm install openseadragon 3.在 index.html文件引入资源 <link rel"stylesheet" href"node_modules/openseadragon/build/openseadragon/openseadragon.css" /><script src…