python lu分解_[Hulu百面机器学习]python实战系列(1.31.4)——(高维)组合特征

随着内容进一步发展,我们不得不面对组合特征或高维特征的问题。

Q: 什么是组合特征?如何处理高维难度组合特征?(2⭐)

为了提高复杂关系的拟合能力,我们时常把两个特征变量的个特征和个特征合在一块组成一个由个特征组成的向量。这种方法当引入ID类特征的时候,问题就出现了。这时需要引入一个较小的数,来达成降维目的。熟悉推荐算法的同学一眼就能看出是等价于矩阵分解(包括lu分解、qr分解和奇异值分解,详见百面机器学习系列的),他们都有各自独特的算法决定值,使得特征数下降到,甚至到只有个特征(这时的可能还只是个位数)。

然而,可能会引发参数/特征过多、过拟合的问题,那如何筛选特征呢?

Q: 怎样有效地找到组合特征?(2⭐)

从根本上看,得用决策树算法(简单说就是根据不同特征的分叉去构建因变量模型)。机器学习这块有很多种决策树算法,在后面会一一展示出来。

因为很多东西都得放到后面去讲,这次的代码实战块主要集中在高维特征处理上:

import numpy as np
import pandas as pd

我们先考虑找个组合特征(数量非常大),并赋值:

# (默认为上个模块的m和n)
Z = np.zeros((m*n,3+m*n))

Z[:,0] = np.random.randint(0,2,m*n)
Z[:,1] = np.repeat(np.arange(m),n)
Z[:,2] = list(range(n))*m

Z[:,-m*n:] = np.eye(m*n)

再去看看随机生成的用户和物品特征,直接筛选出组合特征数(这样的坏处是值仍然比较高):

m = 100
n = 20
Z = np.zeros((m*n,2))

Z[:,0] = np.random.randint(0,m,m*n)
Z[:,1] = np.random.randint(0,n,m*n)

# 这次就用上numpy的多维寻找unique值的函数:
Y = np.unique(Z,axis = 0)
k = len(Y)

组合特征更是要被筛选出来的。sklearn,tensorflow和pytorch都没有相似的高阶特征组合工具,相应的算法耗时和占用空间就不进行比较了。这一期对构建机器学习框架没有什么帮助,那就

敬请期待下一期:[Hulu百面机器学习]python实战系列(1.5)文本表示模型

最后,我们的公众号精彩不断,欢迎大家关注哦:

f75c519a73c0440b189b5c3657abff84.png

写留言

LU分解_SVD分解 张量(Tensor),是Tensorflow里常用的一个数据结构 张量有很严谨的定义,可暂且把它简单理解为一个多空间,一张量就是向量,二就是矩阵,三直接就叫三张量,Tensorflow就是围绕张量运算的一个库。——助教老师 LU 初识LU Tensorflow的线性代数函数tf.linalg.lu data = tf.constant([2, 1, 8, 7], dtype=tf.float32, shape=[2,2]) tf.linalg.lu(data) output Lu(lu=&l 阅读详情

相关推荐

矩阵的LU分解法——Python实现

理论参考: LU分解、LDLT分解和Cholesky分解 https://blog.csdn.net/zhouliyang1990/article/details/21952485 Doolittle分解法(LU分解)详细分析以及matlab的实现 https://blog.csdn.net/lol_IP/article/details/78491457 ...

白片片的博客 2万+

二)PyTorch入门基础串讲(二)

这里的Q虽然是n×n的,但是当把Q的特征值从大到小排列会发现里边有些数是非常小的,这些度的能量小,很可能是造成,这些特征就可以。matplotlib里,用户绘图可以通过plt这个对象来绘图,在visdom中,同样需要一个绘图对象,我们通过。使用序列的方法完成对网络的定义,串联起来或者采用字典的结构,类似sklearn中的pipline。完成对模型的保存和加载,比如网络要迭代10万次,我们要每1万次保存参数,用以上的方法。dropout在训练和推理时的参数是不一样的,因此训练和推理时要指定不同的参数。

Engineering_的博客 492

PyTorch的学习笔记01-基础中的基础

主要内容源于对PyTorch的doc的阅读: Doc 仅记录了我认为比较常用和有用的API。 torch.is_tensor(obj),若obj为Tensor类型,那么返回True。 torch.numel(obj),返回Tensor对象中的元素总数。 torch.eye(n),返回一个单位方阵,和MATLAB的eye()非常像。还有其他参数。 torch.fro

风海流的豪赌 1万+

机器学习--lu分解

转载于:https://www.cnblogs.com/wqbin/p/11178024.html

weixin_30339969的博客 212

python 矩阵元素变为整形_矩阵论分解系列--LU分解python实现

哈喽,大家好,矩阵论是小师兄正在学习的课程,我总结了一些矩阵分解的资料,如解法、python代码等,将会陆续上传到知乎专栏/WX公众号(信通小师兄),欢迎各位小伙伴关注!言归正传,回到今天的主题--LU分解LU分解在本质上是高斯消元法的一种表达形式。敲重点:LU变换实质上是将A通过初等行变换变成一个上三角矩阵,其变换矩阵就是一个单位下三角矩阵。下为大家介绍LU分解步骤,并给一道例题做详细解答...

weixin_39866867的博客 641

Pytorch深度学习-Tensor的线性代数范数运算与矩阵分解(PCA主成分分析算法)

p范数:表示这个向量的每个值绝对值的p次方相加求和后得到的数再开1/p次方后所得到的数、torch.dist(a, b, p=n):表示计算张量a和b之间的ln距离(n为一个参数常量),通常n越大,结果越小 代码: import torch torch.manual_seed(1) a = torch.rand(1, 2) b = torch.rand(1, 2) print(torch.dist(a, b, p=1)) print(torch.dist(a, b, p=2)) prin

weixin_59634927的博客 1635

PyTorch学习(二)

Pytorch与矩阵分解 常见的矩阵分解 一般从概率层机器学习进行解释,从矩阵层机器学习进行求解。 LU分解 :用在行列式计算和线性方程组求解上比较多,类似于高斯消元法 QR分解:可以完成对矩阵特征值和特征向量的求解。在我们解决优化问题的时候,QR分解能够帮助使得算法的收敛速度更快。 EVD分解(Eigenvalue Value Decomposition):也就是特征值分解。和特征值相关的一种机器学习算法:PCA主成分分析,用于数据,无监督学习。 SVD分解(Singular Value

Yannie's Blog 1736

矩阵分解与PCA知识点整理

目录 1 矩阵谱分解 2 矩阵LU分解 3 满秩分解 4 QR分解 5 特征值分解 6 奇异值分解 7 PCA 1 矩阵谱分解 2 矩阵LU分解 n阶方阵可能通过初等变换变为上三角矩阵,不一定存在。 3 满秩分解 4 QR分解 5 特征值分解 6 奇异值分解 7 PCA 其中第二步详细过程: 由第(3)式和...

qq_29153321的博客 1303

推荐系统基础:使用PyTorch进行矩阵分解

我们一天会遇到很多次推荐——当我们决定在Netflix/Youtube上看什么,购物网站上的商品推荐,Spotify上的歌曲推荐,Instagram上的朋友推荐,LinkedIn上的工作推荐……列表还在继续!推荐系统的目的是预测用户对某一商品的“评价”或“偏好”。这些评级用于确定用户可能喜欢什么,并提出明智的建议。 推荐系统主要有两种类型: 基于内容的系统:这些系统试图根据项目的内容(类型、颜色等)和用户的个人资料(喜欢、不喜欢、人口统计信息等)来匹配用户。例如,Youtube可能会根据我是一个厨师的事实

deephub 8124

数值分析--python--LU分解

** 1LU分解法介绍 ** LU分解在本质上是高斯消元法的一种表达形式。实质上是将A通过初等行变换变成一个上三角矩阵,其变换矩阵就是一个单位下三角矩阵。这正是所谓的杜尔里特算法(Doolittle algorithm):从下至上地对矩阵A做初等行变换,将对角线左下方的元素变成零,然后再证明这些行变换的效果等同于左乘一系列单位下三角矩阵,这一系列单位下三角矩阵的乘积的逆就是L矩阵,它也是一个单位...

qq_43923588的博客 2286

LU分解 python实现

以下是使用python实现LU分解,代码写的很丑,不要喷。。。   # -*- coding: utf-8 -*- """ Created on Sun Dec 3 10:03:45 2017 @author: www """ # python实现LU分解 import numpy as np def my_LU(B): A = np.array(B) n =...

xckkcxxck的博客 7595

python实现LU分解

引言 这是小编第二篇文章啦!其实纠结了很久作者该用什么自称比较好,于是度娘了一番,发现还真是有些讲究。小编或笔者是最常用的了吧。emmm纠结了一番(其实没纠结)还是自称小编吧,自称笔者感觉很客观很严肃,这里还是活泼一点阿哈哈哈~好,进入正题。 正文 因为矩阵分析的老师要求我们用程序实现LU分解,于是小编认真研究了一下LU分解的步骤,因为涉及矩阵运算,首先想到了用python的numpy实现。然后小...

weixin_37990514的博客 4521

几种矩阵分解算法: LU分解,Cholesky分解,QR分解,SVD分解,Jordan分解

目录 1.LU分解 2. LDLT分解法 3. Cholesky分解的形式 4. QR分解 5.SVD分解 5.1 SVD与广义逆矩阵 6. Jordan 分解 参考文章:                                                                                                         ...

mucai1的专栏 3万+

Pytorch 学习(4): Pytorch中Torch 工具包的数学操作汇总速查

Pytorch 学习(4): Pytorch中Torch 工具包的数学操作汇总速查           torch package 包含了多张量的数据结构, 以及基于其上的多种数学操作. 此外, 它还提供了许多用于高效序列化 Tensor 和任意类型的实用工具包, 以及一起其它有用的实用工具包. torch的操作方法汇总如下: Tensors (张量) torch.is_tensor(...

大模型与Agent智能体 6470

LU分解,LDLT分解,Cholesky分解

LU分解 如果方阵是非奇异的,即的行列式不为0,LU分解总是存在的。 A=LU,将系数矩阵A转变成等价的两个矩阵L和U的乘积,其中L和U分别是下三角和上三角矩阵,而且要求L的对角元素都是1,形式如下: 本质上,LU分解是高斯消元的一种表达方式。首先,对矩阵A通过初等行变换将其变为一个上三角矩阵,然后,将原始矩阵A变为上三角矩阵的过程,对应的变换矩阵为一个下三角矩阵。 LDLT分解LU...

hanshihao1336295654的博客 8164

高维组合特征的处理

来源自《机器学习1 高维高阶组合特征 为了提高对复杂关系的拟合能力,在特征工程中经常会把一阶离散特征两两组合,构成高阶组合特征。 然而高阶矩阵的参数是一个很严重的问题 例如对于一个m和一个n的特征组合,那么如果以logistics回归为例子,则参数参数w的度为m*n,如果m,n很大的话,则难以进行计算。 所以采用矩阵分解的方法,将m和n的特征都转化k 2.组合特征选择 可以...

rl小透明 1290

用tensorflow实现矩阵分解

采用最小二乘的求逆方法在大部分情况下是低效率的。特别地,当局镇非常大时效率更低。另外一种实现方法是矩阵分解,此方法使用tensorflow内建的Cholesky矩阵分解法。Cholesky矩阵分解法把一个矩阵分解为上三角矩阵和下三角矩阵,L和L'。求解Ax=b,改写成LL'=b。首先求解Ly=b,然后求解L'x=y得到系数矩阵。1.导入编程库,初始化计算图,生成数据集。接着获取矩阵A和b。>...

zrh_CSDN的博客 3158

使用sklearn做单机特征工程

目录 1 特征工程是什么?2 数据预处理  2.1 无量纲化    2.1.1 标准化    2.1.2 区间缩放法    2.1.3 标准化与归一化的区别  2.2 对定量特征二值化  2.3 对定性特征哑编码  2.4 缺失值计算  2.5 数据变换  2.6 回顾3 特征选择  3.1 Filter    3.1.1 方差选择法    3.1.2 相关系数法    3.1.3 卡方检验  ...

weixin_30872789的博客 2044
上一篇: vant的表单点击其他输入框输入的值会消失_如何设计出“让用户高效使用”的表单?...
下一篇: windows host 端口_jmeter命令行指定IP、端口、线程参数(非GUi模式)
石建平
博客等级 码龄9年 49粉丝 58原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值