自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 收藏
  • 关注

原创 信息增益计算

def ent(data):prob1 = pd.value_counts(data)/len(data)return sum(np.log2(prob1)prob1(-1))def gain(data,str1,str2):e1 = data.groupby(str1).apply(lambda x:ent(x[str2]))p1 = pd.value_counts(data[str1])/len(data[str1])e2=sum(e1*p1)return ent(data[str2])-

2021-09-28 15:46:15 234

原创 连续特征相关性筛选

def screen_con_feature(corr_data,threshold): ''' corr_data : 要计算相关行的数据集,最好不要有label threshold : 相关性阈值 return : res : 排除掉的特征 result :留下的特征 ''' res = [] result = [] for col_name in corr_data.columns: if col_name in res: continue else: te

2021-03-03 14:48:36 288 1

原创 离散分箱

#对离散特征进行分箱(特征分箱需遵循分箱后样本随分箱结果有规律变化)def get_dispersed_result_group(data,aim,label,label_loss): ''' data : 数据集需包括aim和label aim : 要分组的特征名 label :标签名 label_loss : 标签的流失值,就是分箱后指定的需随结果规律变化的label值 ''' result_group = [] result_rate = [] group_lis = dat

2021-03-03 14:40:30 365 1

原创 筛选相关特征

def calcute_corr(data,aim): ''' data : 包含所有需要计算corr相关性的特征数据集 aim : 相关性删除的阈值 return : result : 留下待使用的特征 the_same_feature : 要删除的相关性大于阈值的特征 ''' the_same_feature = [] result = [] for col_name in data.columns: .

2021-02-22 17:41:20 220

原创 iv计算code

import numpy as npimport pandas as pddata={"feature1":[1,1,2,1,3,2,3],"feature2":[1,3,2,1,2,2,3],"label":[0,0,0,1,1,0,1]}df=pd.DataFrame(data)def calcute_iv(df,aim,res): ''' data : 只包含feature,和label aim :关心的相应变量值,(流失为1) ''' iv = 0

2021-02-20 15:33:06 212

原创 data_pd.value_counts()和data_pd.groupby(by='类别').goups

data = [['青年', '否', '否', '一般', '否'] , ['青年', '否', '否', '好', '否'] , ['青年', '是', '否', '好', '是'] , ['青年', '是', '是', '一般', '是'] , ['青年', '否', '否', '一般', '否'] , ['中年...

2020-03-30 17:24:47 266

原创 读取csv文档

import csvimport numpy as npboston_dir_path = r'D:\annconda\Lib\site-packages\sklearn\datasets\data\boston_house_prices.csv'def load_boston(): with open(boston_dir_path) as f: data_fi...

2020-02-17 12:21:42 188

原创 树树树

近期在,额~~~~所以正好把西贴上来,嗯,没错。

2019-12-24 16:05:15 81

转载 特征处理

好的数据及特征往往是一个性能优异模型的基础特征处理:数据清洗(缺失值处理,异常值检验,调配样本比例和权重)数据规范化特征衍生与规范特征选择:特征过滤Wrapper methodEmbedded method数据清洗(缺失值处理,异常值检验,调配样本比例和权重)缺失值处理:(以免引入过多人工信息)方法:删除缺失值和填充缺失值删除...

2019-12-24 16:04:22 197

原创 leetcode--134加油站

在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。说明:如果题目有解,该答案即为唯一答案。输入数组均为非空数组,且长度相同。输入数组中的元素均为非...

2019-12-16 16:33:06 143

原创 聚类

Kmeans1.选取聚类中心2.计算每个样本与聚类中心的距离,将样本归为距离最小的那个聚类中心的类3.计算每个聚类的中心(均值)更新聚类中心。4.重复2,3均值偏移聚类1.选取若干个聚类中心,以及半径r2.对聚类中心进行迁移,求均值3.直至没有方向可以移动DBSCAN聚类1.确定半径r,以及半径r内最少的点数2.随机选取,若满足步骤1,则为一类,并对这个...

2019-12-12 10:34:06 336

原创 XGboost

思考:1.XGB与GBDT、随机森林等模型相比,有什么优缺点?答:XGB的基分类器可以是cart树也可以是线性分类器,gbdt为cart树。XGB加入了正则化,且优化时是对损失函数的二阶导,gbdt为一阶导。xgb使用了shrinkage,每次学习完,在叶节点上乘以该系数,用以削弱每棵树的影响,来给下面的树留出更大的学习空间。xgb可以使用并行处理2.XGB为什么可以并行训练?答:上述...

2019-12-04 17:27:28 154

原创 GBDT

大家都是成年人,直入主题了1.gbdt的算法流程2.gbdt如何选择特征3.gbdt为什么可以构造特征4.gbdt如何用于多分类5.gbdt通过什么方式减少误差6.gbdt相比于LR,SVM为什么效果好一点7.gbdt如何加速训练8.gbdt的参数有哪些,如何调参9.gbdt的优缺点这里先明确:GBDT的弱分类器为cart回归树(二分类)1.gbdt的算法流程其实就是树的构...

2019-12-03 17:48:48 156

原创 Adaboost

本人较懒,嗯,贴图片吧

2019-12-03 15:55:52 84

原创 tensorflow---读取数据集

def read_and_decode(filename): filename_queue = tf.train.string_input_producer([filename]) reader = tf.TFRecordReader() _,serialized_example = reader.read(filename_queue) features = ...

2019-11-30 12:16:18 471

原创 Insightface----loss

总结下insightface的相关内容,其实,个人理解,这种用于分类的算法,相比较检测的算法来说的话,要来的简单一点。为了搞清楚整个算法的流程,这里先对arcface_loss做一些在项目过程中的记录。先贴上损失函数公式损失函数如上图所示。其实对于arcface的损失函数,网上的理解比比皆是,无非是为了增加分类的准确性,扩大化类间差距,增强类内紧度,引入了参数m。但是这里看下公式,既然是损...

2019-11-25 19:59:51 524

原创 leetcode---131路径总和

给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ / \ 7 2 5 1返回:...

2019-11-24 20:43:20 82

原创 MTCNN--Pnet--decode

现在我们记录下如何在训练好P_net模型后,来把网络输出decode出人脸框的坐标,坐标偏移,以及landmarks首先看下模型的输出,我们恢复P_net训练好的模型输入一张(height,width,3)的图片输出为(height_,width_,2) (height_,width_,4)暂时先不考虑landmark的输出由于整个P_net为fcn,所以height_和width_的大小...

2019-11-24 11:54:55 347

原创 MTCNN--P--create_data

总结下做MTCNN时的过程以及关键步骤。首先说明下MTCNN的损失函数,因为是多任务级联,多任务值得就是多个损失,级联指的是三个网络联合P-R-O因为是用来检测人脸并识别关键点的,所有有三个损失,人脸交叉熵损失,offset偏差的MSE损失,以及landmark的MSE损失。损失很简单就不说明了。这里先标注下P网络的输出数据的维度用于人脸的交叉熵损失(batch,hei...

2019-11-23 12:45:50 328

原创 Cornernet---decode

我们训练好模型后,如何从网络的输出,decode出所需要的信息呢。也就是模型的训练和测试中的测试部分。首先我们先把网络的输出摆着heatmap_tl : (batch,128,128,80)heatmap_br:(batch,128,128,80)tag_tl : (batch,128,128)tag_br:(batch,128,128)offset_tl:(batch,128,2)...

2019-11-22 17:38:54 190 1

原创 Tensorflow--基础api--1

tf.train.batch()tf.train.batch(tensors, batch_size, num_threads=1, capacity=32, enqueue_many=False, shapes=None, dynamic_pad=False, allow_smaller_final_batch=False, shared_n...

2019-11-21 17:45:16 112

原创 cornernet------loss

首先我们使用网络训练出左上角的heatmap_tl以及右下角的hetmap_br,这个heatmap维度为(batch,128,128,80)其中80是类别数。在制作数据集的时候,将数据也同样制作成了(batch,128,128,80)。以左上角为例,我们每一类都有一个(128,128)的矩阵与之对应。输入网络一张图片,我们会得到左上角以及右下角的heatmap,这个heatmap里面又包括了...

2019-11-21 17:05:07 487

原创 Tensorflow----训练

为了充分使用多GPU加速训练,我们使用并联式训练方法(这个名称忘了),因此需要把每一次训练的梯度更新给取出来(这个与训练方法有关)获取所有变量train_variables = tf.trainable_variables()计算梯度tower_grads = []grads = optim.compute_gradients(loss,var_list=train_varia...

2019-11-21 10:15:36 97

原创 cornernet---net网络结构(hourglass)

2019-11-20 19:45:57 452

原创 tensorflow----构建net基本函数

tf.nn.conv2d( inputs, out_dim, k, strides=strides, padding='same')inputs:[batch,height,width,channels]out_dim:代表输出几个channels,其他函数会自动判断k:卷积核大小,如果长宽一样,那么就给一个数字即可stride:卷积步长,同样的如果长宽一样,那么就给一个数字即可...

2019-11-20 16:04:53 109

原创 leetcode---归并排序

首先对俩个有序数组进行组合排序def merge_two_vec(nums1,nums2,res): i = 0 j = 0 len_i = len(nums1) len_j = len(nums2) while i <= len_i and j <= len_j: if nums1[i] <= nums2[j]: res.append(nums1[i])...

2019-11-19 21:19:52 152

原创 Cornernet-----数据集制作1

我们使用coco数据集来训练我们的cornernet,首先下载数据集,存放路径为D:/dataset\coco\annotations\instances_train2017.json我们主要是使用的.json文件。这里可以参考-----来了解.json文件的存储形式。我们使用from pycocotools.coco import COCO这个工具来读取.json文件1.首先我们要拿到所有...

2019-11-19 16:54:10 451

原创 Tensorflow---变量

1.tf.Variable(0,name=‘steps’,training=True)创建变量,初始值为0,名称为stepssteps = tf.Variable(0,name='steps',training=True)2.optim=tf.train.AdamOptimizer(learning_rate=lr)使用adam优化器,学习率为lr,这里的lr有俩种方式定义,第一种为固定...

2019-11-18 11:02:24 86

转载 Tensorflow使用多线程

Tensorflow的Session对象支持多线程,可以在同一个Session中创建多个线程,默认是cpu有多少个核,就启动多少个线程。Tensorflow提供了俩个类来实现对Session中多线程的管理:tf.Coordinator和tf.QueueRunner,这俩个类必须一起使用。Coordinator类用来管理Session中的多个线程。使用tf.tain.Coordinator()来...

2019-11-18 10:31:16 936

原创 leetcode22---括号的生成

给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出 n = 3,生成结果为:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/generate-parentheses著作权归领扣网络所...

2019-11-17 11:52:25 63

原创 求子集3----leetcode40

给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用一次。说明:所有数字(包括目标数)都是正整数。解集不能包含重复的组合。示例 1:输入: candidates = [10,1,2,7,6,1,5], target = 8,所求解集为:[[1...

2019-11-14 21:30:56 114

原创 求子集2----leetcode90

给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: [1,2,2]输出:[[2],[1],[1,2,2],[2,2],[1,2],[]]思考:这个其实和leetcode78很相似,只不过需要判断下是否为重复。这里只需要在添加到res的时候做个判断,如果存在了,那么就不加就好了。def fun(nu...

2019-11-13 21:29:36 95

原创 求子集----leetcode78

给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[[3],[1],[2],[1,2,3],[1,3],[2,3],[1,2],[]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/subsets著作权归领扣...

2019-11-13 21:27:07 127

原创 BP反向传播

这里简单记录一下神经网络bp反向传播的过程首先最普通的神经网络,抛开最后输出的损失函数,以及激活层,其隐藏层之间其实就是很多个线性回归y=wx+b组成的那么,思考下线性回归的权重更新方式,直接计算法,和梯度下降(我们做机器学习或者深度学习,肯定是迭代过程,为梯度下降,而且当维度太高时,直接计算法会导致维度爆炸无法计算)。那么我们可不可以在多层的神经网络里面延续梯度下降的方式来对权重进行更新呢?...

2019-11-12 19:39:11 96

原创 Windows下安装pycocotools

不知道什么时候安装了pycocotools,在import的时候一只报错No module named 'pycocotools._mask'解决方法:找到annconda目录annconda\Lib\site-packages下的pycocotools文件夹将其删除,如果没有,可以忽视这一步然后在github上下载大神改写的支持 Windows 的 COCO 地址:https://g...

2019-11-12 13:48:37 131

原创 最优加油方法---poj 243

已知一条公路上,有一个起点和一个终点,这之间有n个加油站。已知:从这n个加油站到终点的距离d与各个加油站可以加油的量L,起点位置至终点的距离L与起始时刻油箱的油量P。假设1个单位的汽油走1个单位的距离,油箱没有上限,最少加几次油,可以从起点开至终点?(无法到达返回-1)思考:汽车经过每个加油站,到底该不该加油,如果所有的都遍历,就是2**n次方,肯定不行。那么联想到跳跃问题,我们尽可能...

2019-11-11 20:51:39 187

原创 tensorflow构建网络--Keras

方式2:本文将解释如何使用keras构建网络1.定义输入这里由于使用Keras因此输入tensor必须使用Input()进行转换from keras.layers import Input#假设输入的形状为[224,224,3]X_input = [224,224,3]X_input = Input(X_input)2.搭建网络def net(X_input,out_put):...

2019-11-11 16:01:03 104

原创 tensorflow构建网络-----TF-Slim

方式1使用轻量级库TF-Slimimport tensorflow.contrib.slim as slim1.使用slim创建变量#常规变量,step那种weights = slim.variable('weights', shape=[384,12,12,3]. #方差为0.1 initializer=tf.truncated_normal_initializer(...

2019-11-11 15:30:59 395

原创 Tensorboard---可视化

可视化变量,其实主要是观察loss,acc这些指标,所以我们以loss为例1.将cls_loss加入到summary中tf.summary.scalar('cls_loss',cls_loss)2.将所有的summary保存到磁盘,以便tensorboard显示。而且这个summary_op需要和train_op一起训练。summary_op = tf.summary.merge_all...

2019-11-11 13:47:52 98

原创 跳跃游戏I---leetcode55

给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。eg1:输入: [2,3,1,1,4]输出: true解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。eg2:输入: [3,2,1,0,4]输出: false解释: 无论怎样,你总会到达索引...

2019-11-11 12:07:07 100

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除