![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据分析
文章平均质量分 53
黄佳俊、
to be or not to be!
热爱生活!
执着学习!
展开
-
python numpy 自定义数据类型
在某些场景下,可能会用到numpy的自定义数据类型,比如需要将电子表格或者数据库的一行数据作为一个数据。举例说明,我们创建一个存储商店库存信息的数据类型。其中,我们用一个长度为40个字符的字符串来记录商品名称,用一个32位的整数来记录商品的库存数量,最后用一个32位的单精度浮点数来记录商品价格。创建数据类型>>> t = np.dtype([('name',np.str_,40),('numitems',np.int32),('price',np.float32)])>原创 2022-03-26 16:13:31 · 1466 阅读 · 0 评论 -
numpy 提供的两种基本的对象是?
numpy 提供了两种基本的对象:ndarray(数组,表示储存单一的数据类型的多维数据) ufunc(能够对数组进行运算的函数)原创 2022-03-26 16:02:29 · 4277 阅读 · 0 评论 -
numpy.random中shuffle 和permutation的区别
共同点:shuffle与permutation这两个函数都是对打乱原来数组的顺序。不同之处: shuffle直接在原来数组上操作,而permutation不改变原有数组顺序,只是返回一个新的乱序的数组。代码示例:a=np.arange(10)print(a)np.random.shuffle(a)print(a)a=np.arange(10)b=np.random.permutation(a)print(b)print(a)输出如下:[0 1 2 3 4 5 6 7 8.原创 2022-03-26 16:01:24 · 1002 阅读 · 0 评论 -
获取两个numpy数组之间的公共项
a = np.array([1,2,3,2,3,4,3,4,5,6])b = np.array([7,2,10,2,7,4,9,4,9,8])np.intersect1d(a,b)# > array([2, 4])numpy.intersect1d(ar1, ar2, assume_unique=False, return_indices=False)[source]Find the intersection of two arrays. 返回两个数组中共同的元素Return t...原创 2022-03-26 15:59:40 · 2004 阅读 · 0 评论 -
使用numpy实现矩阵的翻转(flip)与旋转
如果是一维数组,可以使用a = a[:,:,-1]实现反转!numpy.flip(m, axis=None)Reverse the order of elements in an array along the given axis.The shape of the array is preserved, but the elements are reordered.把m在axis维度进行切片,并把这个维度的index进行颠倒示例随机生成一个二维数组 1 2.原创 2022-03-26 15:57:01 · 4362 阅读 · 0 评论 -
Numpy中扁平化函数ravel()和flatten()的区别
在Numpy中经常使用到的操作由扁平化操作,Numpy提供了两个函数进行此操作,他们的功能相同,但在内存上有很大的不同.先来看这两个函数的使用: 1 from numpy import * 2 3 a = arange(12).reshape(3,4) 4 print(a) 5 # [[ 0 1 2 3] 6 # [ 4 5 6 7] 7 # [ 8 9 10 11]] 8 print(a.ravel()) 9 # [ 0 1 2 3 4 5 6..原创 2022-03-26 15:53:19 · 139 阅读 · 0 评论 -
numpy.loadtxt
numpy.loadtxtnumpy.loadtxt(fname,dtype=<class'float'>,comments='#',delimiter=None,converters=None,skiprows=0,usecols=None,unpack=False,ndmin=0,encoding='bytes',max_rows=None,*,like=None)Load data from a text file.Each row in the te...原创 2022-03-22 14:01:23 · 350 阅读 · 0 评论 -
python中argsort()函数的用法
由于想使用python用训练好的caffemodel来对很多图片进行批处理分类,学习过程中,碰到了argsort函数,因此去查了相关文献,也自己在python环境下进行了测试,大概了解了其相关的用处,为了怕自己后面又忘了,就写下来权当加深理解了。(ps:我也是python小白,理解可能比较浅显)1.先定义一个array数据1 import numpy as np2 x=np.array([1,4,3,-1,6,9])2.现在我们可以看看argsort()函数的具体功能是什么:x.a..原创 2022-03-22 13:56:54 · 2099 阅读 · 0 评论 -
python-numpy.zeros()的用法
1.numpy.zeros() 介绍:用法:zeros(shape, dtype=float, order=‘C’)参数:shape:形状dtype:数据类型,可选参数,默认numpy.float64dtype类型:t ,位域,如t4代表4位b,布尔值,true or falsei,整数,如i8(64位)u,无符号整数,u8(64位)f,浮点数,f8(64位)c,浮点负数,o,对象,s,a,字符串,s24u,unicode,u24order:可选参数,c代表与c语言原创 2022-03-21 15:29:11 · 1354 阅读 · 0 评论 -
range()和np.arange()的区别
range的中文意思是范围、搜索与牧场的。具体释义如下:n.范围;射程;类别;(山脉,房屋等的)排列vi.搜索;变化;延伸;漫游vt.排列;(按一定位置或顺序)排序;把…分类;徘徊adj.牧场的,放牧区的arrange vt. 安排;排列;整理 vi. 安排;排列;协商 通过官方文档的描述,我们可以知道:range()和np.arange()的返回类型不同,range()返回的是range object,而np.arange()返回的是ndarray类型;.原创 2022-03-19 09:42:44 · 297 阅读 · 0 评论 -
NumPy 数据类型
numpy 支持的数据类型比 Python 内置的类型要多很多,基本上可以和 C 语言的数据类型对应上,其中部分类型对应为 Python 内置的类型。下表列举了常用 NumPy 基本类型。名称 描述 bool_ 布尔型数据类型(True 或者 False) int_ 默认的整数类型(类似于 C 语言中的 long,int32 或 int64) intc 与 C 的 int 类型一样,一般是 int32 或 int 64 intp 用于索引的整数类型(类似于原创 2022-03-18 16:07:11 · 346 阅读 · 0 评论 -
ETL讲解(很详细版)
ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。ETL是BI项目重要的一个环节。 通常情况下,在BI项目中ETL会花掉整个项目至少1/3的时间,ETL设计的好坏直接关接到BI项目的成败。 ETL的设计分三部分:数据抽取、数据的清洗转换、数据的加载。在设计ETL的时候我们也是从这三部分出发。数据的抽取是从各个不同的数据源抽取到ODS(Operational Data Store,操作型数...原创 2022-02-28 15:23:02 · 4814 阅读 · 1 评论 -
CART算法中某一特征被使用后还能被重复使用吗?
假设有m个特征,其中一个特征Xi再某一节点的分裂中被使用,那么之后的节点的分裂还能继续使用它吗?在经典决策树算法(ID3、C4.5、CART)中不存在“特征能否继续使用“这样的问题,而应该考虑的是在当前分支下,该特征能否可再次划分(或是是否还有可利用的价值),而不能再次划分的意思就是在当前分支内,该特征只有唯一的值(或者按照C4.5中的定义:该特征的分裂信息为0)。如果不能划分=>该特征消耗。下面先说说ID3和C4.5。如果Xi是离散特征:ID3和C4.5在离散特征上都是多叉.原创 2022-02-27 19:08:42 · 1319 阅读 · 0 评论 -
数据分析 | 残差
统计学上把数据点与它在回归直线上相应位置的差异称残差,把每个残差的平方后加起来称为残差平方和,它表示随机误差的效应残差残差在数理统计中是指实际观察值与估计值(拟合值)之间的差。“残差”蕴含了有关模型基本假设的重要信息。如果回归模型正确的话, 我们可以将残差看作误差的观测值。它应符合模型的假设条件,且具有误差的一些性质。利用残差所提供的信息,来考察模型假设的合理性及数据的可靠性称为残差分析。特征在回归分析中,测定值与按回归方程预测的值之差,以δ表示。残差δ遵从正态分布N(0,σ2).原创 2022-02-27 19:07:27 · 8071 阅读 · 0 评论 -
决策树如何解决过拟合问题
一.什么是过度拟合数据? 过度拟合(overfitting)的标准定义:给定一个假设空间H,一个假设h属于H,如果存在其他的假设h'属于H,使得在训练样例上h的错误率比h'小,但在整个实例分布上h'比h的错误率小,那么就说假设h过度拟合训练数据. overfittingt是这样一种现象:一个假设在训练数据上能够获得比其他假设更好的拟合,但是在训练数据外的数据集上却不能很好的拟合数据.此时我们就叫这个假设出现了overfitting的现象.二.产生过度拟合数据问题的原因有哪些?原因...原创 2022-02-27 18:58:47 · 6018 阅读 · 0 评论 -
决策树--信息增益,信息增益比,Geni指数的理解
决策树是表示基于特征对实例进行分类的树形结构 从给定的训练数据集中,依据特征选择的准则,递归的选择最优划分特征,并根据此特征将训练数据进行分割,使得各子数据集有一个最好的分类的过程。决策树算法3要素: 特征选择 决策树生成 决策树剪枝 部分理解:关于决策树生成决策树的生成过程就是 使用满足划分准则的特征不断的将数据集划分为纯度更高,不确定性更小的子集的过程。对于当前数据集D的每一次的划分,都希望根据某特征划分之后的各个子集的纯度更高,不确定性...原创 2022-02-27 18:54:06 · 2784 阅读 · 0 评论 -
信息增益可以是负数吗
决策树中信息增益不可能是负的(原理待定)原创 2022-02-27 18:52:28 · 1646 阅读 · 0 评论 -
数据分析 | 交叉验证
交叉验证交叉验证(Cross-validation)主要用于建模应用中,例如PCR、PLS回归建模中。在给定的建模样本中,拿出大部分样本进行建模型,留小部分样本用刚建立的模型进行预报,并求这小部分样本的预报误差,记录它们的平方加和。思想介绍在使用训练集对参数进行训练的时候,经常会发现人们通常会将一整个训练集分为三个部分(比如mnist手写训练集)。一般分为:训练集(train_set),评估集(valid_set),测试集(test_set)这三个部分。这其实是为了保证训练效果而特意设置的。原创 2022-02-27 18:51:16 · 1229 阅读 · 0 评论