自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 git添加多个公钥(gitee/github通用)

git添加多个公钥

2022-08-03 02:01:54 1007 1

原创 Git 使用笔记

配置用户信息# 设置 local 用户信息git config --local user.name tangxingit config --local user.email xxintang@qq.com# 设置 global 用户信息git config --global user.name tangxingit config --global user.email xxintang@qq.com设置远程库# 删除名为 origin 的远程库git remote rm or.

2022-05-12 18:27:31 242

原创 机器学习相关资料汇总

机器学习防止模型过拟合方法总结深度学习知识点——梯度消失和梯度爆炸类别不均衡问题之loss大集合逻辑回归常见面试点总结LR+FTRL算法原理以及工程化实现

2022-04-20 12:54:31 1093

原创 推荐系统架构相关资料

谢杨易推荐算法架构1:召回_谢杨易的博客推荐算法架构2:粗排_谢杨易的博客推荐算法架构3:精排_谢杨易的博客推荐算法架构4:重排_谢杨易的博客

2022-04-17 13:15:34 1812

原创 特征工程相关资料

有效特征挖掘几个百试不爽的竞赛专用图像特征!搜索推荐特征工程必看资料!刀功:谈推荐系统特征工程中的几个高级技巧

2022-04-14 01:45:27 100

原创 软件安装教程相关链接

HomebrewHomebrew国内如何自动安装NPSNPS教程Windows Terminalhttps://blog.csdn.net/xuehu96/article/details/99290589https://www.chuchur.com/article/windows-terminal-beautifyhttps://walterlv.blog.csdn.net/article/details/100159481

2022-04-12 14:43:10 154

原创 推荐召回阶段的相关资料

石塔西万变不离其宗:用统一框架理解向量化召回久别重逢话双塔FM:推荐算法中的瑞士军刀负样本为王:评Facebook的向量化召回算法看Youtube怎么利用深度学习做推荐张俊林推荐系统召回四模型之:全能的FM模型推荐系统召回四模型之二:沉重的FFM模型SENet双塔模型:在推荐领域召回粗排的应用及其它推荐系统技术演进趋势:从召回到排序再到重排iwtbs双塔召回模型的前世今生(上篇)双塔召回模型的前世今生(下篇)推荐中的召回算法—总结串讲召回模型中的负样本构造借Youtube论文

2022-04-12 13:20:03 466

原创 PPNet模型和tf.stop_gradient的用法

参考链接:1. 快手参数个性化 CTR 模型 - PPNet2. 快手精排模型实践如上图所示,PPNet 的左侧是目前常见的 DNN 网络结构,由稀疏特征(sparse features)、嵌入层(embedding layer)、多神经网络层(neural layer)组成。右侧是 PPNet 特有的模块,包括 Gate NN 和只给 Gate NN 作为输入的 id 特征。其中 uid,pid,aid 分别表示 user id,photo id,author id。左侧的所有特征的 em

2022-02-21 20:11:40 6303

原创 TensorFlow2.x-教程链接

记录TensorFlow一些使用经验

2022-02-16 00:14:04 568

原创 Conda安装不同的虚拟环境

1. 安装TensorFlow2.x1.1 conda创建环境conda create -n tensorflow2 python=3.9conda activate tensorflow2# 删除环境conda remove -n tensorflow2 --all1.2 安装package# 前提:安装好CUDA11.2和cuDNN8.1pip install tensorflow-gpu=2.6# 安装常用包conda install tqdmconda install n

2022-01-24 23:06:32 1277

原创 pandas.series转DataFrame

示例: # items_set = source_data.loc[:, 'item_id'].to_frame()使用to_frame()即可,类似还有to_list()…

2021-12-23 15:19:35 755

原创 pandas.groupby.agg函数

示例如下: items_set = source_data.groupby(['item_id'])['user_id'].agg( [('count_col', 'count')] ).reset_index()新的列名为count_col,对聚合后的分组执行count函数。还可以执行mean,max等函数…

2021-12-23 15:17:18 740

原创 Pycharm打开项目后解释器消失,无法识别项目文件夹等问题

最近一段时间,利用Pycharm远程跑代码,碰到了两次这个问题:第一次,是我关闭Pycharm IDE之后,再次打开项目时解释器消失了,并且Pycharm无法识别当前文件夹是一个项目文件。第二次,是我在远程跑代码时,Pycharm崩溃了。再次打开时,又出现了上次相同的情况。一开始,我将IDE重装,回退版本,清除缓存,但是这样做都是无效的…直到后来,我再次打开该项目文件,发现IDE帮我创建了一个main函数。当时就估计是不是Pycharm无法将我当前的文件夹识别为项目文件,而Pycharm一般会给

2021-12-16 10:30:44 4610

原创 MacOS下出现zsh: command not found: mysqladmin

在使用mysqladmin修改root密码时,输入:mysqladmin -u root -p "旧密码" password "新密码"结果出现:zsh: command not found: mysqladmin解决办法,对于Mysql的命令无法查找的办法就是去修改./zshr文件vim ~/.zshrc然后在文件中,加入如下的内容:alias mysqladmin=/usr/local/mysql/bin/mysqladmin退出,wq保存,然后执行:source ~/.zsh

2021-10-14 22:48:10 357

原创 pd.set_option

import warningswarnings.filterwarnings('ignore')# 设置显示最大的列数(None表示全部显示)和行数pd.set_option('display.max_columns', None)pd.set_option('display.max_rows', 100)# 设置显示小数保留的位数pd.set_option('display.float_format',lambda x: '%.2f'%x)# pandas设置显示宽度pd.set_opt

2021-10-11 11:54:21 1361

原创 Pycharm代码模板

在如下位置设置即可:代码如下:#!/usr/bin/env python#-*- coding:utf-8 -*-# @file : ${NAME}.py# @Author: xLyons# @IDE : ${PRODUCT_NAME}# @Time : ${DATE}

2021-10-08 14:26:29 534

原创 macOS解决matplotlib无法显示中文

加上一句代码即可:plt.rcParams['font.family'] = 'Heiti TC'

2021-09-26 01:20:53 138

原创 通过Python查找已损坏图片的位置

在使用TensorFlow或其他方式(CV2)通过路径读取图片时,有些图片已经发生了损坏,会发生如下的报错:在这里插入代码片报错后,也不提供报错的图片的位置。这里提供一种损坏图片的查找方式,代码如下: import numpy as np from PIL import Image from tqdm.auto import tqdm for absolute_path in tqdm(image_path): try:

2021-09-25 14:50:04 938

原创 VIF系数

这里简单介绍一下VIF系数的作用,具体的我也未了解。问题:假如,我们要用x1,x2x_1,x_2x1​,x2​去拟合函数yyy。同时,x1,x2x_1,x_2x1​,x2​之间相关性很强,如x1=2x2x_1=2x_2x1​=2x2​。假如得到的拟合函数为:y=3x1−x2y=3x_1-x_2y=3x1​−x2​;从拟合的结果看来,自变量x2x_2x2​和因变量yyy之间是负相关关系;可实际上如果换算,有y=5x2y=5x_2y=5x2​,实际是正相关关系;这说明变量x2x_2x2​与其余自变量之

2021-09-19 20:31:08 5618

原创 1. FM算法

关于FM算法,已经有很多文章将原理讲的很清楚了,这里记录一下个人的想法以及实践中的处理方式,如有不对,还请指正。1. FM算法原理FM算法的输出由2部分组成,分别为线性层和二阶交互层,公式为:而对于输入数据x,从原论文给出的图中,可以知道既然包含了数值特征,也包含了类别特征。对于类别特征处理方式为One-Hot编码。2. 实践中的问题2.1 线性层中的离散特征前面提到了FM一部分输出为线性层,但我们知道对于离散特征进行独热编码后,是很稀疏的。如果就这样直接与数值特征拼接后送入线性层,这会造成很

2021-09-18 01:06:42 442

原创 tf.squeeze()和Flatten

如果某一维度为batch_size,代码会显示该维度为None;此时使用tf.squeeze()如果不指定axis,会出现压缩异常的情况,压缩后shape为unknown。理论上,会压缩所有维度为1的维度,但是这里压缩后却为unknown。如果指定了axis,则没有问题:由于这里使用Flatten也可以达到相同效果,所以最后代码为:Flatten()(tf.concat(embedding_query, axis=-1)但是Flatten是将所有的维度拉成一维,这个也要注意;...

2021-09-15 16:28:21 463

原创 tf.concat和tf.keras.layers.Concatenate()

二者的作用类似,不过使用起来也有区别:使用方式不同:tf.concat([obj1, obj2], axis=-1)tf.keras.layers.Concatenate(axis=-1)([obj1, obj2])concat拼接的对象类型要相同tf.float32和tf.float64似乎都无法直接拼接,反正我使用时会报错;...

2021-09-15 16:12:44 1445

原创 pandas.apply加速-使用swifter

Swfiter是一个库,它“以最快的可用方式将任何函数应用到 Pandas DataFrame(数据框)或Series(序列)。”。Swfiter安装Swifter安装swifter用pip直接安装即可,很方便。$ pip install -U pandas # upgrade pandas$ pip install swifter # first time installation$ pip install -U swifter # upgrade to latest version if a

2021-09-01 10:10:55 2720

原创 Pandas读取字典&一行拆多行

一、字典转换为DataFrame我们现在有一个字典变量feed_data,其格式如下:每个键对应的值为list,那么怎样将其转换为DataFrame呢?可以先将其读取为pd.Series();然后,通过pd.DataFrame将其转换为DataFrame格式;代码如下:pd.DataFrame(pd.Series(feed_data), columns=['pos_items'])结果如下:再整理一下数据格式,对列重命名:feed_pd = feed_pd.reset_inde

2021-08-30 11:13:31 826

原创 Python保存文件

1. 将字典保存为.txt格式# 保存数据 with open(file_path, 'w') as f: f.write(str(data)) f.close() # 读取数据 with open(file_path, 'r') as f: data = f.read() data = eval(data) # 从字符转换为dict格式 f.close() ...

2021-08-13 12:27:39 1847

原创 遍历Pandas.DataFrame的行

使用方法itertuples():for row in df.itertuples(): print(getattr(row, 'feat_1'))通过getattr,可以取出行row列名为feat_1对应的元素值。

2021-08-13 11:56:39 247

原创 Python Collections模块详解

Collections模块1. namedtuple官方文档-具名元组collections.namedtuple(typename, field_names, *, rename=False, defaults=None, module=None)返回一个新的元组子类,名字为typenamefield_names:一个像 [‘x’, ‘y’] 一样的字符串序列。另外 field_names 可以是一个纯字符串,用空白或逗号分隔开元素名,比如 'x y' 或者 'x, y' 。例子

2021-08-04 15:21:31 382

原创 推荐系统评价指标

混淆矩阵True Positive(真正, TP):将正类预测为正类数.True Negative(真负 , TN):将负类预测为负类数.False Positive(假正, FP):将负类预测为正类数. →→ 误报 (Type I error).False Negative(假负 , FN):将正类预测为负类数. →→ 漏报 (Type II error).1. 精确率(precision)定义如下:P=TPTP+FPP=\frac{T P}{T P+F P}P=TP+FPTP​T

2021-08-04 15:19:36 333

原创 Java学习-反射和注解(5)

1. 反射1.1 什么是反射?反射就是Reflection,Java的反射是指程序在运行期可以拿到一个对象的所有信息。正常情况下,如果我们要调用一个对象的方法,或者访问一个对象的字段,通常会传入对象实例:// Main.javaimport com.itranswarp.learnjava.Person;public class Main { String getFullName(Person p) { return p.getFirstName() + " " + p

2021-07-26 00:15:54 95

原创 Java学习-面向对象核心(4)

1. 抽象类1.1 抽象方法和类由于多态的存在,每个子类都可以覆写父类的方法。如果父类的方法没有实际意义,能够去掉执行语句呢?答案是不能。class Person { public void run(); // Compile Error!}当然,完全去掉父类的方法也是不行的,这会失去多态的特性。如果父类本身不需要实现任何功能,仅仅定义了方法签名,然后让子类去覆写它,我们可以将父类的方法声明为抽象方法:class Person { public abstract void r

2021-07-23 00:12:03 221 1

原创 Java学习-面向对象基础(3)

1. 方法1.1 定义classclass Person { public String name; public int age;}一个class可以包含多个字段(field),字段用来描述一个类的特征。上面的Person类,我们定义了两个字段,分别为name和age;1.2 创建实例Person ming = new Person();new Person()是创建Person实例。1.3 私有变量直接把field用public暴露给外部可能会破坏封装性,也就是外界

2021-07-19 22:12:59 634 1

原创 Java学习-数组(2)

以下笔记重点参考了如下链接:数组操作1. 数组类型1.1 创建数组方法一定义一个数组类型的变量,使用数组类型“类型[]”,例如,int[]。和单个基本类型变量不同,数组变量初始化必须使用new int[5]表示创建一个可容纳5个int元素的数组。:int[] ns = new int[5];// 数组元素赋值ns[0] = 68;ns[1] = 79;ns[2] = 91;...Java的数组有几个特点:数组所有元素初始化为默认值,整型都是0,浮点型是0.0,布尔型是fal

2021-07-16 11:48:01 129

原创 Java学习-语言基础(1)

Java语法部分和C/C++类似,这里只选择性记录笔记。1. Java程序分析1.1 类Java是面向对象的编程语言,所以一个程序的基本单位是类,这里的类名是Hello。/** * 可以用来自动创建文档的注释 */public class Hello { public static void main(String[] args) { // 向屏幕输出文本: System.out.println("Hello, world!"); /*

2021-07-14 08:44:05 133

原创 Java学习-配置环境(0)

这里在macOS上配置Java,首先是下载Java编译器IntelliJ IDEA Ultimate:下载完IDE以后,打开软件:如果尝试学习IntelliJ IDEA中的程序,会提醒你下载JDK,按照它的提示直接下载即可。尝试编写一个程序打印hello, world,运行如下:一切顺利,配置java环境结束…...

2021-07-13 19:49:14 72

原创 Linux学习(5)-磁盘管理

一、监视程序1. 探查进程-ps命令进程(process),我们可以使用ps命令来检测这些进程。默认情况下,ps不会提供太多的信息:➜ ~ ps PID TTY TIME CMD 7643 ttys000 0:01.32 -zshps命令,默认显示运行在当前控制台的进程,也就是-zsh shell;上例显示了进程的ID(process ID, PID),运作的终端TTY,已经进程已用的CPU时间;ps命令支持三种不同类型的命令行参数,分别为Unix风格,B

2021-06-27 00:03:25 382

原创 Linux学习(4)-文件和目录管理

一、bash手册1. man命令man命令可以用于访问存储在Linux系统上的手册页面,在要查找的工具前面加一个man命令然后回车即可。例如:man ls如果我们要退出手册,输入q即可;如果不记得命令名,可以使用关键词来搜索手册页,语法为:man -k 关键词。例如,要查找与终端相关的命令,可以输入:man -k terminal# 部分输出:ansi_send(n), term::ansi::send(n) - Output of ANSI control sequences to

2021-06-23 18:02:55 174

原创 Linux学习(3)-Linux权限

一、用户管理Linux安全系统的核心是用户账户,每个进入Linux系统的用户都会被分配唯一的用户账号,用户对系统中各种对象的访问权限取决于他们登陆系统时的账号。用户权限是通过创建用户时分配的UID来跟踪的,UID是每个用户唯一的ID,它不等价于登陆名。1. /etc/passwd文件Linux使用了一个专门的文件,来将登录名关联到UID,它就是/etc/passwd文件夹。该文件夹包含了与用户相关的一些信息。通过执行如下的命令可以查看用户信息:cat /etc/passwd关于cat /

2021-06-19 16:48:57 384

原创 Linux学习(2)-配置Ubuntu

本次安装的是Win10内置的Ubuntu系统。1. 在MicroSoft Store界面搜索Ubuntu2. 安装Ubuntu 18.043. 在PowerShell配置Ubuntu配置代码如下: { "guid": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}", "hidden": false, "name": "Ubuntu-18.04", "source": "Windows.Terminal.Wsl" },

2021-06-15 21:51:31 76

原创 Linux学习(1)

1. 什么是LinuxLinux全称为GNU/Linux,是一种免费使用且开源的操作系统。其广泛应用于各类设备之中,比如手机操作系统安卓就是基于Linux开发的。2. 为什么使用Linux主要原因是由于开源,使用的人数较多,每个人都可以参与修补补丁,所以安全系数可靠。3. 常用的发行版CentOSCentOS是Community Enterprise Operating System的缩写,也叫做社区企业操作系统。Ubuntu由于较为完善的图像界面,而备受开发者的喜爱。等等…4. M

2021-06-14 21:53:25 267 1

原创 Win10下,记录TensorFlow及Keras安装全过程

# 创建环境conda create -n tensorflow1.14 python=3.6# 激活环境conda activate tensorflow1.14# 更新pippython -m pip install --upgrade pip -i https://pypi.mirrors.ustc.edu.cn/simple/# 安装tensflow1.14pip install -i https://mirrors.aliyun.com/pypi/simple/ tensorf

2021-04-15 19:07:02 864

空空如也

空空如也

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

TA关注的人

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