首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

实战 | 客户细分:如何找到最有价值的TA?

原因是简单直观、易于理解和解释、操作简便、适用范围广,但效力强大、几乎可以做任何事情(没有夸张)。...第4象限,瘦狗产品,淘汰或合并 栗子5:女神挑汉子 第1象限,俗称高富帅 第2象限,俗称钻石王老五 第3象限,俗称小白脸 第4现象,俗称屌丝 2X2矩阵的原理和方法都很简单,不只有客户分类,它绝大多数需要多维度考虑的事情上都适用...上一回书说到2X2矩阵,简便易行且适用范围非常广,但同时2X2矩阵的分类也有缺点,分类的维度只有2个,当业务指标大于2个时无能为力,总体而言2X2矩阵不失为一种快速有效的分类方法。...鬼知道砖家填表有没有逻辑错误,比如A>B,B>C,那么A肯定>C啊,但是砖家填C>A,很明显不符合逻辑,所以要做一致性验证 计算矩阵最大特征根 用矩阵A乘以权重列W%,得到一个列向量,然后用列向量中每一个元素除以矩阵阶数和相对应的权重乘积...找到最有价值的TA(一) 介绍2X2矩阵的各种常见或不常见用法,几乎能做任何事情 找到最有价值的TA(二) 客户价值分类中使用最广泛的RFM模型和改进、以及层次分析法确定权重 找到最有价值的TA(三)

2.1K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【Kaggle竞赛】h5py库学习

    在python中处理HDF5文件依赖于h5py这个库,安装h5py包方法如下: conda install h5py   # anconda3环境安装 pip install h5py    # Python2...dataset类似数组的数据集合,和numpy的数组差不多。 group是类似文件夹一样的容器,可以包含dataset和其他groups,好比python中的字典,有键(key)和值(value)。...使用h5py要记住的最基本的事情就是: Groups就像字典(dictionaries)一样工作,而datasets像Numpy数组(arrays)一样工作!...下面代码是创建HDF5文件的用法: import h5py f = h5py.File("mytestfile.hdf5", "w") # 在当前目录下会生成一个mytestfile.hdf5文件 文件名可以是字节字符串或...当使用内存中的数据对象时,比如io.BytesIO,数据的写入也会相应占用内存的。如果要编写大量数据,更好的选择可能是使用tempfile中的函数将临时数据存储在磁盘上。

    86810

    Python开发之numpy的使用

    ]] # 创建2x2定值为7的数组 c = np.full((2,2), 7) print(c) out: [[7 7] [7 7]] # 创建2x2的单位矩阵(对角元素为1) d = np.eye...,中括号内填写index print(np.arange(6)[3]) out:3 #访问二维数组的某一元素,中括号内填写[行,列] print(np.arange(6).reshape(3,2)[...1,1]) out:3 #访问三位数组中的某一元素,中括号内[组,行,列] print(np.arange(12).reshape(2,3,2)[0,1,1]) out:3 #更改某一元素,用...2维数据中,axis = 0表示选择行,axis = 1表示选择列,但不能机械的认为0就表示行,1就表示列,注意前提2维数据中。...在三维数据中,axis = 0表示组,1表示行,2表示列。这是为什么呢?提示一下,三位数组的shape中组、行和列是怎样排序的?

    1.4K20

    《利用Python进行数据分析·第2版》 附录A NumPy高级应用A.1 ndarray对象的内部机理A.2 高级数组操作A.3 广播A.4 ufunc高级应用A.5 结构化和记录式数组A.6 更多

    图A-3 按C(行优先)或Fortran(列优先)顺序进行重塑 二维或更高维数组的重塑过程比较令人费解(见图A-3)。...用广播的方式对行进行距平化处理会稍微麻烦一些。幸运的是,只要遵循一定的规则,低维度的值是可以被广播到数组的任意维度的(比如对二维数组各列减去行平均值)。 ?...结构化数组是一种特殊的ndarray,其中的各个元素可以被看做C语言中的结构体(struct,这就是“结构化”的由来)或SQL表中带有多个命名字段的行: In [144]: dtype = [('x',...为什么要用结构化数组 跟pandas的DataFrame相比,NumPy的结构化数组是一种相对较低级的工具。它可以将单个内存块解释为带有任意复杂嵌套列的表格型结构。...一个数组的内存布局是连续的,就是说元素是以它们在数组中出现的顺序(即Fortran型(列优先)或C型(行优先))存储在内存中的。默认情况下,NumPy数组是以C型连续的方式创建的。

    4.9K71

    炒鸡简单,带你快速撸一遍Numpy代码!

    ]] # 创建2x2定值为7的数组 c = np.full((2,2), 7) print(c) out: [[7 7] [7 7]] # 创建2x2的单位矩阵(对角元素为1) d = np.eye...这里主要是提供了一些访问、更改或增加ndarray中某一元素的基础方法。...#访问某一元素,这里可以自己多尝试 #访问一维数组的某一元素,中括号内填写index print(np.arange(6)[3]) out:3 #访问二维数组的某一元素,中括号内填写[行,列] print...在三维数据中,axis = 0表示组,1表示行,2表示列。这是为什么呢?提示一下,三位数组的shape中组、行和列是怎样排序的? 所以,axis的赋值一定要考虑数组的shape。...X[X > 10] #筛选数组X中大于10的数据 这里需要注意的是,当输入多个筛选条件时,&表示与,|表示或,~表示非。

    1.5K30

    炒鸡简单,带你快速撸一遍Numpy代码!

    ]] # 创建2x2定值为7的数组 c = np.full((2,2), 7) print(c) out: [[7 7] [7 7]] # 创建2x2的单位矩阵(对角元素为1) d = np.eye...这里主要是提供了一些访问、更改或增加ndarray中某一元素的基础方法。...#访问某一元素,这里可以自己多尝试 #访问一维数组的某一元素,中括号内填写index print(np.arange(6)[3]) out:3 #访问二维数组的某一元素,中括号内填写[行,列] print...在三维数据中,axis = 0表示组,1表示行,2表示列。这是为什么呢?提示一下,三位数组的shape中组、行和列是怎样排序的? 所以,axis的赋值一定要考虑数组的shape。...X[X > 10] #筛选数组X中大于10的数据 这里需要注意的是,当输入多个筛选条件时,&表示与,|表示或,~表示非。

    1.6K40

    NumPy学习笔记—(33)

    ` 2.1.1.按照行或列进行排序 2.2.部分排序:分区 2.3.例子:k 近邻 2.4.额外内容:大 O 复杂度 3.1.创建结构化数组 3.2.高级复合类型 3.3.记录数组:面向对象的结构化数组...[4, 5]]) # 索引数组是一个2x2数组,结果也将会是一个2x2数组 x[ind] array([[71, 86], [60, 20]]) 高级索引也支持多维数组。..., 4, 5]) 2.1.1.按照行或列进行排序 NumPy 的排序算法可以沿着多维数组的某些轴axis进行,如行或者列。...因此结果中原来行或列之间的联系都会丢失。 2.2.部分排序:分区 有时候我们并不是需要对整个数组排序,而仅仅需要找到数组中的K个最小值。...如果你在写访问底层 C 语言或 Fortran 语言的 Python 接口的话,你会发现这种结构化数组很有用。

    2.3K20

    【科普】什么是TPU?

    考虑一个矩阵乘法运算: 2x2 矩阵相乘 对于 2x2 输入,输出中的每一项都是两个乘积的总和。没有元素被重复使用,但个别元素被重复使用。 我们将通过构建一个 2x2 网格来实现这一点。...对于我们的数组,我们首先 像这样加载权重: 稍后我将讨论我们如何做到这一点 接下来激活进入输入队列,在我们的示例中,该队列位于每一行的左侧。...FIFO) 5、主机触发执行,激活通过 MXU 传播到累加器 6、当输出出来时,它们通过激活管道运行,新层替换缓冲区中的旧层 7、重复 4 到 6 直到我们到达最后一层 8、最后一层的激活被发送回主机...但是,只要知道 TPUv2 能做什么,我们就可以猜到一些不同之处: TPUv1 中的 MXU 是一个 8 位整数 256x256 数组,比 TPUv2 中的 16 位 bfloat16 128x128...单个 TPU 通常不足以以所需的速度训练大型模型,但训练涉及频繁的权重更新,需要在所有相关芯片之间分配。

    3.6K20

    系统设计:SQL VS NoSQL

    一、数据库的解决方案 在数据库世界中,有两种主要的解决方案:SQL和NoSQL(或关系数据库和非关系数据库)。他们俩的构建方式、存储的信息类型以及他们使用的存储方法。...1.2、NoSQL 以下是最常见的NoSQL类型: 1.2.1、键值存储: 数据存储在键值对数组中。“钥匙”是一把钥匙链接到“值”的属性名称。...在NoSQL中,模式是动态的。可以动态添加列,并且每个列“行”(或等效行)不必包含每个“列”的数据查询:SQL数据库使用SQL(结构化查询语言)来定义以及操纵数据,这是非常强大的。...在NoSQL数据库中,查询集中在一组文档上。有时它也被称为UnQL(非结构化查询语言)。不同的数据库有不同的功能 使用UnQL的语法。...尽管NoSQL数据库正在增长由于其速度和可扩展性广受欢迎,仍有一些情况下 高度结构化的SQL数据库可能表现更好;选择正确的技术取决于用例。

    3.3K164

    Python NumPy结构化数组设计与应用

    在处理复杂数据时,尤其是包含多种不同类型信息的数据集(如表格数据或数据库记录),NumPy 的普通数组可能显得力不从心。...为了解决这一问题,NumPy 提供了结构化数组(Structured Array),允许为数组的每一列或字段分配不同的数据类型。...什么是结构化数组 结构化数组是 NumPy 的一种特殊数组,它允许定义多个字段,每个字段可以具有不同的数据类型和名称。结构化数组类似于数据库中的表格,每行代表一条记录,每列代表一个字段。...创建结构化数组 定义结构化数据类型 在创建结构化数组之前,需要定义每个字段的名称、数据类型和可选的形状。...', 30, 1.8) ('Charlie', 35, 1.75)] 在这个数组中,每行包含三个字段:Name、Age 和 Height。

    13610

    Eigen库学习教程(全)

    the vector v: 1 0 3 -3 Its maximum coefficient (3) is at position 2 10 Eigen 块操作 10.1块基本操作 块指的是矩阵或数组中的一个矩形区域..., at: " << minRow << "," << minCol << endl; } 输出: Max: 4, at: 1,1 Min: 1, at: 0,0 14 部分规约 部分规约指的是对矩阵或数组按行或列进行的操作...,它将列向量加到矩阵的每一列中;或者将列向量复制4次的得到一个2×4的矩阵,之后进行矩阵的相加运算: +=、+和-运算符也可以按列或行操作。...在数组中也可以用*=、/=、和/运算符执行元素级的按行或列乘除运算。...结合广播和其他操作 广播也可以和其他操作结合,比如矩阵或数组的运算、规约和部分规约操作。下面介绍一个更加复杂的例子,演示了在矩阵中找到和给定向量最接近的一列,使用到了欧氏距离。

    5.2K61

    【Kaggle竞赛】h5py库快速入门

    一,核心知识(Core concepts) h5py文件是存放两类对象的容器,数据集(dataset)和组(group)。 dataset类似数组的数据集合,和numpy的数组差不多。...使用h5py要记住的最基本的事情就是: Groups就像字典(dictionaries)一样工作,而datasets像Numpy数组(arrays)一样工作!...示例代码如下: import h5py f = h5py.File('mytestfile.hdf5','r') h5py文件对象(File object)的学习是我们开始的起点。...HDF5文件中的每个对象都有一个名字,并且它们以 POSIX 方式分层,用一个反斜杠 / 分隔开: dset.name ‘/mydataset’ 在这个系统中,”folders”被称为组(groups)...我们创建的File object本身也是一个group,下面代码的这种情况是根组(root group,也可以称为起始组或起始文件夹,意味着最顶层的文件夹),命名为一个反斜杠符号,/: f.name u

    1.1K10

    面向对象有限元编程|数值计算类

    生成矩阵 python主要依赖第三方库numpy,其中np.array和np.mat有区别,主要体现在: 生成矩阵所需格式不同 np.mat可以从字符串或列表中生成,而np.array只能从列表中生成...import numpy as np a = np.mat("1,2; 3,4") #字符串生成2x2矩阵 b = np.mat([ [5,6], [7,8] ]) #列表生成2x2矩阵 c =...np.array([ [2,6], [5,8] ]) 生成的数组运算方式不同 np.array生成矩阵,用np.dot()表示矩阵乘法,星号(*)或np.multiply()表示点乘(对应元素相乘...2]]) c = a*b #矩阵乘法 d =np.dot(a, b) #矩阵乘法 e = np.multiply(a, b) #对应元素相乘 矩阵索引 用a[0][0]访问矩阵a中第一行第一列元素...解方程组 用np.linalg.solve(A, b)解方程组Ax=b,例如 ##方程组Ax=b的解 import numpy as np A =np.array( [ [6, -1.5, 1], [-

    59831

    python开发h5页面_大数据和python有关吗

    H5是一种开源文件格式,支持大型、复杂的异构数据。 H5使用类似“文件目录”的结构,允许以多种不同的结构化方式组织文件中的数据,就像处理计算机上的文件一样。...一个h5文件就是 “group” 和 “dataset” 二合一的容器。 group:一种分组结构,包含零个或多个dataset(数据集) 或group(组)的实例,以及支持的元数据。...处理group和dataset在许多方面类似于处理 UNIX 中的目录和文件。 与 UNIX 目录和文件一样,H5 文件中的对象通常通过提供完整(或绝对)路径名来描述。...一个group有两部分组成: group header:包含名称和属性列表 group 符号表:属于该group对象的列表 H5 datasets 数据集以两部分存储在文件中:header和数据数组...header包含数据集的数组部分所需的信息,以及描述或注释数据集的元数据。

    89430

    利用前缀和计算二维矩阵子矩阵的和

    利用前缀和计算二维矩阵子矩阵的和 二维矩阵在计算机科学中具有重要的地位,它们广泛用于图形处理、数据处理以及算法设计等领域。在处理二维矩阵时,经常需要计算子矩阵的和。...通过预处理得到一个与原矩阵相同大小的二维数组,用于存储矩阵中每个位置左上角子矩阵的和。然后,利用前缀和数组可以在常数时间内计算任意子矩阵的和。...0, 0, 0, 0}, // 增加一行一列用于边界处理 {0, 1, 0, 1, 0}, {0, 0, 1, 0, 1}, {0, 1, 0, 1, 0}, {0,...,1x1 子矩阵的和为: 1 以 (1, 1) 为左上角,2x2 子矩阵的和为: 2 以 (1, 2) 为左上角,2x2 子矩阵的和为: 2 以 (1, 3) 为左上角,2x2 子矩阵的和为: 2 以...(2, 1) 为左上角,2x2 子矩阵的和为: 2 以 (2, 2) 为左上角,2x2 子矩阵的和为: 2 以 (2, 3) 为左上角,2x2 子矩阵的和为: 2 以 (3, 1) 为左上角,2x2 子矩阵的和为

    7610

    如何使用python处理稀疏矩阵

    如果使用有限的列来可靠地描述某些事物,则通常为给定数据点分配的描述性值已被剪掉,以提供有意义的表示:一个人,一张图像,一个虹膜,房价,潜在的信用风险等。...但是某些类型的数据在其表示中不需要这种冗长的描述。比如关系。可能需要捕获大量潜在事物以获取其关系状态,但是在这些事物的交集处,可能需要简单地记录是,存在关系或不存在。 此人是否购买了该物品?...假设采用标准的方法来表示2x2矩阵,则尽管没有捕获到有用的信息,也需要在内存中为每个空表示进行分配。此内存分配也继续用于永久存储。...那么关于列表,我们在其中一个列中跟踪row,col非零项目的存在以及在另一列中其对应值的情况呢?请记住,稀疏矩阵不必只包含零和一。只要大多数元素为零,无论非零元素中存在什么,矩阵都是稀疏的。...如果按列,则现在有一个压缩的稀疏列矩阵。方便地,Scipy对两者都支持。 让我们看一下如何创建这些矩阵。首先,我们在Numpy中创建一个简单矩阵。

    3.5K30

    分布式机器学习原理及实战(Pyspark)

    大数据技术,是指从各种各样类型的数据中,快速获得有价值信息的能力。...自2003年Google公布了3篇大数据奠基性论文,为大数据存储及分布式处理的核心问题提供了思路:非结构化文件分布式存储(GFS)、分布式计算(MapReduce)及结构化数据存储(BigTable),...,可以分配计算任务给各个计算节点(机器); 结构化数据存储及查询的问题:有Hbase、Bigtable等,可以快速获取/存储结构化的键值数据; 大数据挖掘的问题:有Hadoop的mahout,spark...Yarn 或 Mesos),以及Worker Node组成。...以其核心的梯度下降算法为例: 1、首先对数据划分至各计算节点; 2、把当前的模型参数广播到各个计算节点(当模型参数量较大时会比较耗带宽资源); 3、各计算节点进行数据抽样得到mini batch的数据

    4.7K20
    领券