python机器学习——机器学习相关概念 特征工程

目录

  • 机器学习
  • 特征工程
  • 1.特征抽取
  • 2.特征处理
    • 2.1 归一化:传统精确小数据
    • 2.2 标准化:大多数情况
  • 3.数据降维
    • 3.1特征选择
    • 3.2主成分分析PCA
  • 案例:超市订单分析


机器学习

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
监督学习:输入数据有特征有标签,即有标准答案

  • 分类:k-近邻算法、贝叶斯分类、决策树与随机森林、逻辑回归、神经网络

  • 回归:线性回归、岭回归

  • 标注:隐马尔可夫模型 (不做要求)

无监督学习:输入数据有特征无标签,即无标准答案

  • 聚类:k-means

在这里插入图片描述
在这里插入图片描述

特征工程

特征工程是将原始数据转换为更好地代表预测模型的潜在问题的特征的过程,从而提高了对未知数据的模型准确性

在这里插入图片描述

1.特征抽取

通过演示得出结论:
• 特征抽取针对非连续型数据
• 特征抽取对文本等进行特征值化
字典特征抽取:对字典数据进行特征值化
One—hot编码

在这里插入图片描述

# 特征抽取
# 导入包
from sklearn.feature_extraction import DictVectorizer

def dictves():
    """
    字典数据处理
    :return:小王
    """
    #实例化
    dict=DictVectorizer(sparse=False)
    #调用fit_transform
    data=dict.fit_transform([{'city': '北京','temperature':100},{'city': '上海','temperature':60},{'city': '深圳','temperature':30}])
    print(data)
    return None
if __name__ == '__main__':
    dictves()

文本特征抽取:对文本数据进行特征值化

在这里插入图片描述
流程:

在这里插入图片描述

# 特征抽取
# 导入包
from sklearn.feature_extraction.text import CountVectorizer
def dictves():
    """
    字典数据处理
    :return:小王
    """
    #实例化
    dict=CountVectorizer()
    #调用fit_transform
    data=dict.fit_transform(["life is short,i like python","life is too long,i dislike python"])
    print(data.toarray())#sprase矩阵转换成数组
    print(dict.get_feature_names())
    return None

if __name__ == '__main__':
    dictves()

Jieba结巴分词:对三段话进行特征值化——流程

在这里插入图片描述

# 特征抽取# 导入包
from sklearn.feature_extraction.text import CountVectorizer
import jieba

def cutword():
    c11=jieba.cut("今天很残酷,明天更残酷,后天很美好,但绝对大部分是死在明天晚上,所以每个人不要放弃今天。")
    c21=jieba.cut("我们看到的从很远星系来的光是在几百万年之前发出的,这样当我们看到宇宙时,我们是在看它的过去。")
    c31=jieba.cut("如果只用一种方式了解某样事物,你就不会真正了解它。了解事物真正含义的秘密取决于如何将其与我们所了解的事物相联系。")
    #转换成列表
    content1 = list(c11)
    content2 = list(c21)
    content3 = list(c31)
    #列表转换成字符串
    c1 = ' '.join(content1)
    c2 = ' '.join(content2)
    c3 = ' '.join(content3)
    return c1,c2,c3

def hanzivec():
    """
    中文特征值化
    :return:小王
    """
    #实例化
    c1,c2,c3=cutword()
    dict=CountVectorizer()
    #调用fit_transform
    data=dict.fit_transform([c1,c2,c3])
    print(dict.get_feature_names())
    print(data.toarray())#sprase矩阵转换成数组
    return None

if __name__ == '__main__':
    hanzivec()

在这里插入图片描述
TF-IDF作用:用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。

在这里插入图片描述

# 特征抽取# 导入包
from sklearn.feature_extraction.text import CountVectorizer,TfidfVectorizer
import jieba

def cutword():
    c11=jieba.cut("今天很残酷,明天更残酷,后天很美好,但绝对大部分是死在明天晚上,所以每个人不要放弃今天。")
    c21=jieba.cut("我们看到的从很远星系来的光是在几百万年之前发出的,这样当我们看到宇宙时,我们是在看它的过去。")
    c31=jieba.cut("如果只用一种方式了解某样事物,你就不会真正了解它。了解事物真正含义的秘密取决于如何将其与我们所了解的事物相联系。")
    #转换成列表
    content1 = list(c11)
    content2 = list(c21)
    content3 = list(c31)
    #列表转换成字符串
    c1 = ' '.join(content1)
    c2 = ' '.join(content2)
    c3 = ' '.join(content3)
    return c1,c2,c3

def hanzivec():
    """
    中文特征值化
    :return:小王
    """
    #实例化
    c1,c2,c3=cutword()
    dict=TfidfVectorizer()
    #调用fit_transform
    data=dict.fit_transform([c1,c2,c3])
    print(dict.get_feature_names())
    print(data.toarray())#sprase矩阵转换成数组
    return None

if __name__ == '__main__':
    hanzivec()

2.特征处理

在这里插入图片描述
在这里插入图片描述

2.1 归一化:传统精确小数据

在这里插入图片描述

from sklearn.preprocessing import MinMaxScaler
def mm():
    """
    归一化处理
    :return: None
    """
    mm = MinMaxScaler(feature_range=(2, 3))
    data = mm.fit_transform([[90, 2, 10, 40], [60, 4, 15, 45], [75, 3, 13, 46]])
    print(data)
    return None
if __name__ == '__main__':
    mm()

注意在特定场景下最大值最小值是变化的,另外,最大值与最小值非常容易受异常点影响,所以这种方法鲁棒性较差,只适合传统精确小数据场景。

在这里插入图片描述

2.2 标准化:大多数情况

在这里插入图片描述
在这里插入图片描述
在已有样本足够多的情况下比较稳定,适合现代嘈杂大数据场景。

3.数据降维

维度:特征的数量

3.1特征选择

特征选择就是单纯地从提取到的所有特征中选择部分特征作为训练集特征,特征在选择前和选择后可以改变值、也不改变值,但是选择后的特征维数肯定比选择前小,毕竟我们只选择了其中的一部分特征。

在这里插入图片描述在这里插入图片描述

from sklearn.feature_selection import VarianceThreshold

def seltz():
    """
       特征选择
       :return: None
       """
    mm = VarianceThreshold()
    data = mm.fit_transform([[0, 2, 0, 3], [0, 1, 4, 3], [0, 1, 1, 3]])
    print(data)
    return None

if __name__ == '__main__':
    seltz()

3.2主成分分析PCA

本质:PCA是一种分析、简化数据集的技术
目的:是数据维数压缩,尽可能降低原数据的维数(复杂度),损失少量信息。
作用:可以削减回归分析或者聚类分析中特征的数量

在这里插入图片描述

from sklearn.decomposition import PCA

def pcaz():
    """
       PCA
       :return: None
       """
    mm = PCA(n_components=0.94)
    data = mm.fit_transform([[2,8,4,5],[6,3,0,8],[5,4,9,1]])
    print(data)
    return None

if __name__ == '__main__':
    pcaz()

案例:超市订单分析

在这里插入图片描述
在这里插入图片描述

import pandas as pd
prior=pd.read_csv("F:\python\data\order_products__prior.csv")
products=pd.read_csv("F:\python\data\products.csv")
orders=pd.read_csv("F:\python\data\orders.csv")
aisles=pd.read_csv("F:\python/data/aisles.csv")
#合并四张表到一张表(用户——物品类别)
data1=pd.merge(prior,products,on=["product_id","product_id"])
data2=pd.merge(data1,orders,on=["order_id","order_id"])
data=pd.merge(data2,aisles,on=["aisle_id","aisle_id"])
#交叉表(特殊的分组工具)
cross=pd.crosstab(data["use_id"],data["aisles"])

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

5.4.1 虚拟专用网VPN

5.4.1 虚拟专用网VPN 我们已经学习了因特网的路由协议(5.3.1 因特网的路由协议(一)、5.3.2 因特网的路由协议(二)基于距离向量算法的RIP协议、5.3.3 因特网的路由协议(三)OSPF协议、5.3.4 因特…

无锡斑目信息技术有限公司与无锡漫途科技有限公司签署战略伙伴合作协议!

2023年6月21日无锡斑目信息技术有限公司与无锡漫途科技有限公司签署战略伙伴合作协议。双方将在数字工厂、智慧城市等领域凭借各自的优势进行全方面的合作。 漫途传感科技总经理田吉成、无锡艾森汇智科技总经理钱小伟、无锡数字城市建设发展工业互联网事业部部长王威共同参加签…

kafka安装(包含Zookeeper 安装)

kafka 依赖于 Zookeeper 1. Zookeeper 本地模式安装 修改配置文件 解压后的目录中的 conf 路径下,将文件 zoo_sample.cfg 修改为 zoo.cfg。 mv zoo_sample.cfg zoo.cfg打开 zoo.cfg 文件,修改 dataDir 路径。 dataDir 路径 默认在 /tmp 下&#xff0…

尚硅谷微信小程序开发 仿网易云音乐App 小程序 后端接口服务器搭建

小程序学习 尚硅谷微信小程序开发 项目网易云小程序学习地址: 01-尚硅谷-小程序-课程介绍_哔哩哔哩_bilibili 视频相关的教程文档与笔记分享 链接:https://pan.baidu.com/s/1aq7ks8B3fJ1Wahge17YYUw?pwd7oqm 提取码:7oqm 配套服务器 老师…

Redis的高可用与持久化

目录 一、Redis 高可用1. 持久化2. 主从复制3. 哨兵4. 集群(cluster) 二、Redis 持久化方式1. 持久化的功能2. 持久化的方式 三、RDB 持久化1. 触发条件2.执行流程3. 启动时加载 四、AOF持久化1.开启 AOF2. 执行流程2.1 命令追加2.2 文件写入(write)和文…

路由基础静态路由

路由基础&静态路由 一、路由器基本原理1.1、路由器基本概述1.2、LAN和广播域1.3、路由选路1.3.1、路由器转发数据包1.3.2、IP路由表1.3.3、建立路由表1.3.4、最长匹配原则1.3.5、路由优先级1.3.6、路由度量1.3.7、等价路由 1.4、总结 二、静态路由基础2.1、静态路由配置2.2…

《计算机系统与网络安全》 第九章 访问控制技术

🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~&#x1f33…

自动刷新工具--可以自动编辑安居客房源信息

本工具可以自动刷新安居客的房源信息,不是爬虫,就是一款解放劳动力的RPA工具 使用方法: 1. 首先输入要自动刷新的房源id 2.点击 开始执行 如果需要免密登陆,需要在个人中心填上anjuke的账密 定时执行 声明:此工具只是…

机器学习基础

引言 机器学习是人工智能的一个重要分支,它正在推动着我们社会的各个方面进行数字化转型,从电子商务、医疗健康、社交媒体到自动驾驶等领域。本文旨在帮助你理解机器学习的基本概念,包括其定义、主要类型、基本术语,以及常见的算…

蓝桥杯专题-试题版-【完美的代价】【芯片测试】【序列求和】【杨辉三角形】

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 👉关于作者 专注于Android/Unity和各种游…

CVPR2023中的数据集工作(共46篇)

本文搜集了CVPR2023中所有的以数据集发布为主的工作,共搜集到46篇。所有标题都附带文章超链接,请君享用~ An Image Quality Assessment Dataset for PortraitsLOGO: A Long-Form Video Dataset for Group Action Quality AssessmentTowards …

在Excel当前窗口显示最后一行数据

大家也许都知道Excel工作表中数据行数较多&#xff0c;使用<Ctrl下箭头>组合键可以快速定位最后一行&#xff0c;但是如果数据不是连续的&#xff08;也就是工作表中包含空行&#xff09;&#xff0c;这个方式就只能定位到当前连续数据区域的最后一行。 如下实例代码可以…

YOLOv5图像和视频对象生成边界框的目标检测实践(GPU版本PyTorch错误处理)

识别图像和视频里面的对象&#xff0c;在计算机视觉中是一个很重要的应用&#xff0c;比如无人驾驶&#xff0c;这个就需要实时的检测到周边环境的各种对象&#xff0c;并及时做出处理。目标检测在以往的文章中有重点讲解过几种&#xff0c;其中Faster R-CNN的源码解读&#xf…

国金QMT量化交易系统的Bug及应对策略

国金QMT量化交易系统中的 账号成交状态变化主推 deal_callback() &#xff0c; 当账号成交状态有变化时&#xff0c;这个函数被客户端调用。 我的策略是&#xff0c;在handlebar()里面挂单&#xff0c;等待成交&#xff0c;而判断成交的方式是根据系统主推deal_callback()通知…

【方法】想把PDF文档转换成PPT,如何操作?

很多小伙伴在工作中&#xff0c;会使用PDF或者PPT来展示内容。那如果需要把PDF转换成PPT&#xff0c;要如何操作呢&#xff1f; 我们知道&#xff0c;PPT转换成PDF很容易操作&#xff0c;只需通过PPT的【导出】选项&#xff0c;就可以直接转换成PDF&#xff1b;还可以通过“另…

CC2530 外部中断配置步骤

第一章 硬件原理图分析 第二章 配置按键中断步骤

The Company Requires Superficial StudyPHP 变量的使用 ③

作者 : SYFStrive 博客首页 : HomePage &#x1f4dc;&#xff1a; PHP MYSQL &#x1f4cc;&#xff1a;个人社区&#xff08;欢迎大佬们加入&#xff09; &#x1f449;&#xff1a;社区链接&#x1f517; &#x1f4cc;&#xff1a;觉得文章不错可以点点关注 &#x1f44…

RTSP视频流相关的一些操作

播放rtsp camera 内容 端口554在网络通信中用于Real Time Streaming Protocol(RTSP)。 gst-launch-1.0 playbin urirtsp://admin:WANGfengtu1210.0.20.190:554/client0x gst-launch-1.0 playbin urirtsp://admin:WANGfengtu1210.0.20.61:554/client1xgst-launch-1.0 rtspsrc …

【机器学习】信息熵和信息度量

一、说明 信息熵是概率论在信息论的应用,它简洁完整,比统计方法更具有计算优势。在机器学习中经常用到信息熵概念,比如决策树、逻辑回归、EM算法等。本文初略介绍一个皮毛,更多细节等展开继续讨论。 二、关于信息熵的概念 2.1 要素描述 信息熵:熵是一种测量随机变量 X …

深度:全面解析数据智能的金融“炼金术”!

‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 金融以其财富效应&#xff0c;成为最新科技的试金石。一项新技术出来后&#xff0c;人们首先闪过的念头就是“能不能用它赚钱”。例如&#xff0c;ChatGPT带火了大模型&#xff0c;人们也开始将目标聚焦到大模型在金融领域的…