机器学习 笔记

server/2024/11/18 19:56:23/

特征值提取

字典

from  sklearn.extaction  import DictVectorizer

m=DictVectorizer(sparse=False)#sparse是否转换成三元组形式

data=[],  #传入字典数据

data1=model.fit_transform(data)  #使用API

英文特征值提取

from sklearn.feature_extraction.text import CountVectorizer

data=[]

transfer=CountVectorizer(stop_words=])#创建词频提取对象

x=transfer.fit_transform(data)# 提取词频

中文特征值提取

from sklearn.feature_extraction.text import CountVectorizer,TfidfVectorizer

import jieba  # 导入jieba用于断词中文字符串

import pandas as pd

def text_cut(text):

 return "-".join(jieba.cut(text)) # 函数断词

data=[]

data1=(text_cut(i) for i in data) # 推导式

transfer=TfidfVectorizer(stop_words=[])

re=transfer.fit_transform(data1)

data2=pd.DataFrame(data=re.toarray(),columns=transfer.get_feature_names_out())

无量纲化-预处理

归一化

通过对原始数据进行变换把数据映射到指定区间(默认为0-1)

这里的 Xmin 和 Xmax 分别是每种特征中的最小值和最大值,而 ��是当前特征值,Xscaled 是归一化后的特征值。

标准化

标准化是一种数据预处理技术,也称为数据归一化或特征缩放。它的目的是将不同特征的数值范围缩放到统一的标准范围,以便更好地适应一些机器学习算法,特别是那些对输入数据的尺度敏感的算法。

注意点

在数据预处理中,特别是使用如StandardScaler这样的数据转换器时,fitfit_transformtransform这三个方法的使用是至关重要的,它们各自有不同的作用:

fit:

这个方法用来计算数据的统计信息,比如均值和标准差(在StandardScaler的情况下)。这些统计信息随后会被用于数据的标准化。

你应当仅在训练集上使用fit方法。

fit_transform:

这个方法相当于先调用fit再调用transform,但是它在内部执行得更高效。

它同样应当仅在训练集上使用,它会计算训练集的统计信息并立即应用到该训练集上。

transform:

这个方法使用已经通过fit方法计算出的统计信息来转换数据。

它可以应用于任何数据集,包括训练集、验证集或测试集,但是应用时使用的统计信息必须来自于训练集。

当你在预处理数据时,首先需要在训练集X_train上使用fit_transform,这样做可以一次性完成统计信息的计算和数据的标准化。这是因为我们需要确保模型是基于训练数据的统计信息进行学习的,而不是整个数据集的统计信息。

一旦scaler对象在X_train上被fit,它就已经知道了如何将数据标准化。这时,对于测试集X_test,我们只需要使用transform方法,因为我们不希望在测试集上重新计算任何统计信息,也不希望测试集的信息影响到训练过程。如果我们对X_test也使用fit_transform,测试集的信息就可能会影响到训练过程。

总结来说:我们常常是先fit_transform(x_train)然后再transform(x_text)

​​​​​​​

特征降维

实际数据中,有时候特征很多,会增加计算量,降维就是去掉一些特征,或者转化多个特征为少量个特征

特征降维其目的:是减少数据集的维度,同时尽可能保留数据的重要信息。

特征降维的好处:

减少计算成本:在高维空间中处理数据可能非常耗时且计算密集。降维可以简化模型,降低训练时间和资源需求。

去除噪声:高维数据可能包含许多无关或冗余特征,这些特征可能引入噪声并导致过拟合。降维可以帮助去除这些不必要的特征。

特征降维的方式:

特征选择

从原始特征集中挑选出最相关的特征

主成份分析(PCA)

主成分分析就是把之前的特征通过一系列数学计算,形成新的特征,新的特征数量会小于之前特征数量


http://www.ppmy.cn/server/142990.html

相关文章

【Git】Git Clone 指定自定义文件夹名称:详尽指南

目录 引言一、git clone 基本语法二、默认行为:没有指定文件夹名称时三、如何指定自定义文件夹名称四、高级使用技巧:动态文件夹名称4.1 基于日期命名文件夹4.2 基于版本标签(Tag)动态命名文件夹4.1 基于日期命名文件夹4.2 基于版…

活着就好20241118

今天是18号,周一,亲爱的朋友们,大家早上好!在这个略显不同却又充满希望的周一早晨,让我们怀揣着周末的余温,带着新的目标和梦想,共同迎接这全新的一天吧! 🌞 今天是2024…

《C++设计模式:重塑游戏角色系统类结构的秘籍》

在游戏开发领域,游戏角色系统的类结构设计至关重要。一个良好的类结构可以使游戏更易于扩展、维护和优化,而 C中的设计模式为我们提供了强大的工具来实现这一目标。 一、理解游戏角色系统的复杂性 游戏角色系统通常具有高度的复杂性。每个角色都有自己…

1. kafka分布式环境搭建

一. 集群规划 主机名IP组件hadoop1192.168.205.154zookeeper, kafkahadoop2192.168.205.155kafkahadoop3192.168.205.156kafka kafka版本:3.6.0二. 集群部署 安装JDK,具体安装过程此处不赘述。 安装zookeeper,本次采用单机模式部署在hadoo…

2411rust,异步函数

原文 Rust异步工作组很高兴地宣布,在实现在特征中使用异步 fn的目标方面取得了重大进度.将在下周发布稳定的Rust1.75版,会包括特征中支持impl Trait注解和async fn. 稳定化 自从RFC#1522在Rust1.26中稳定下来以来,Rust就允许用户按函数的返回类型(一般叫"RPIT")编…

基于Spider异步爬虫框架+JS动态参数逆向+隧道代理+自定义中间件的猎聘招聘数据爬取

在本篇博客中,我们将介绍如何使用 Scrapy 框架结合 JS 逆向技术、代理服务器和自定义中间件,来爬取猎聘网站的招聘数据。猎聘是一个国内知名的招聘平台,提供了大量的企业招聘信息和职位信息。本项目的目标是抓取指定城市的招聘信息&#xff0…

从0开始学习机器学习--Day26--聚类算法

无监督学习(Unsupervised learning and introduction) 监督学习问题的样本 无监督学习样本 如图,可以看到两者的区别在于无监督学习的样本是没有标签的,换言之就是无监督学习不会赋予主观上的判断,需要算法自己去探寻区别,第二张…

【GameFramework框架】8-3、已经开发完成的虚拟仿真程序如何接入GameFramework框架

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址QQ群:398291828大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 【GameFramework框架】系列教程目录: