- 博客(51)
- 资源 (1)
- 收藏
- 关注
原创 推荐召回模型评估指标(AUC、HR、F1、Precision、Recall)代码实现
AUC计算的关键是找到所有正样的预测值大于负样本预测值的正负样本对。Precision就是召回了K个item,K个item中被点击了n个,那么Precision=n/K。Recall是用户点击的M个item中,k个物品是在召回模型推荐列表的,那么Recall=k/M。N为样本的总数,m为正例的个数。...
2022-07-31 12:47:13 1740 1
原创 【NLP | 词性标注】使用最大匹配与viterbi算法代码实现中文词性标注
代码实现使用简单的最大匹配算法实现分词同时使用维特比算法实现词性的标注任务。
2022-01-21 10:00:15 784
原创 【nlp | 分词】使用最大匹配(max matching)分词
最大匹配的分词方法是通过设置最大的匹配长度,对输入的sentence基于已有词典进行匹配分词。例如说,词典为“自然,语言,自然语言,处理,自然语言处理”,输入的sentence是“自然语言处理”,当设置max_len为6的时候,“自然语言处理”就会分成一个词,当设置max_len为5的时候,就会分为“自然语言,处理”。下面是简单的Python代码实现:class Segmentation: def __init__(self, vocab): ''' ...
2021-07-21 09:36:35 787
原创 朴素贝叶斯原理及其应用实现
先前在恶补机器学习算法的原理及实现,在此做一些总结记录。首先是贝叶斯法则: 其中,为先验概率,而表示为在事件A发生的情况下事件B发生的概率;在贝叶斯分类中,在得知后验概率(表示在某事件发生了,并且它属于哪个分类)的情况下,就可以对样本进行分类,后验概率越大则其为该分类的可能性越大。...
2021-05-28 08:17:38 448
原创 初入transformer,初步见解
Transformer来源于论文《Attention is All You Need》,自2017年推出来以后,热度一直高居不下,其相关的模型bert及包括各种bert的变种模型、GPT系列等等,一直在不断地刷新各种基础评测任务的评测指标。估计没有谁做nlp,而不了解的人了。作为初入nlp小白的我,自然也是感受到了它的强大,只是一直由于时间的约束,没有好好总结一番。Transformer从宏观来说,可以分为encode与decode两个部分,如下图所示,encode可以分为Multi-Head Atte
2020-11-11 16:47:29 754
原创 深度学习之激活函数篇
深度学习之激活函数篇一般来说,激活函数使网络具有非线性化的作用,在神经网络中,正是由多个网络层接激活函数而使其由足够的非线性拟合的能力。常用的激活函数包括:Sigmoid函数、Tanh函数、Relu函数、Softmax函数、ELU函数(指数线性单元)、SELU函数等等,下面将对前四个函数展开详细的叙述:Sigmoid函数Sigmoid函数的表达式为:该函数常用于回归问题上,其的值域为(0, 1),x越接近负无穷,其函数值越接近0;越接近正无穷,其函数值越接近1。因此,Sigmoid函数是一个不
2020-09-16 20:02:35 238
原创 使用TensorFlow实现一个简单图像识别的全过程介绍
首先,选用一个较为简单的手写数字图像集作为本次演示的数据集。利用普通神经网络实现过程简介在TensorFlow的图像识别任务中:第一步是读取图像,在TensorFlow中手写数字数据集MNIST可以在其dataset中直接获取,当你已经下载过了,可以直接使用,获取MNIST如下代码所示 # 在该数据集中已经划分了训练集与验证集,并且图像与其标签也已经切分(x, y), (x_val, y_val) = datasets.mnist.load_data() 第二步是把图像转化为.
2020-07-27 23:10:34 4144 3
原创 TensorFlow——tensor(张量)的基本操作
在TensorFlow中tensor(张量)无疑是最常用到的数据类型,什么是tensor呢?有人可能认为维度超过三维的矩阵才能叫tensor,但其实scalar(标量)可以看做0维的张量,vector(向量)可以看成1维的张量,matrix(矩阵)可以看做2维的张量。此外,张量内部数据的数据类型可以分为:int、float、string、double、Bool类型。下面将演示一些tensor的操作:创建张量# 创建常量(标量)tf.constant(1) # 直接创建int32...
2020-07-25 22:17:43 2016
原创 决策树原理与常用方式
说到树,可能第一时间就会想到——回归,是的,决策树就是依靠一次次的回归从而是实现分类。另外决策树由如下优点:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征数据。构建决策树的一般流程如下:(1) 收集数据:可以使用任何方法。 (2) 准备数据:树构造算法只适用于标称型数据,因此数值型数据必须离散化。 (3) 分析数据:可以使用任何方法,构造树完成之后,应该检查图形是否符合预期。 (4) 训练算法:构造树的数据结构。 (5) 测试算法:使用经验树...
2020-07-04 10:24:35 497
原创 k-近邻算法(KNN)原理与代码实现
1. 概述 k-近邻算法(k-Nearest Neighbor,KNN)是一种比较常用的机器学习分类算法,在进行有标签的分类任务(一般最好不要超过20类)表现还不错,一般采用的分类方式为:测量不同特征值之间的距离方法进行分类。 距离度量一般采用 Lp 距离(闵可夫斯基距离),当p=2时,即为欧氏距离,在度量之前,应该将每个属性的值规范化,这样有助于防止具有较大初始值域的属性比具有较小初始值域的属性的权重过大。 其中,k-近邻算法的K 值的选择会对算...
2020-07-03 20:49:35 500
原创 按图像尺寸平均切分图像
思路:首先,把图像填充为正方形(以图像的最长边为正方形新图边长,对较短边长居中填充空白) 循环迭代切分图像 保存生成的图像列表from PIL import Imageimport sysimport os# 将图片填充为正方形def fill_image(image): width, height = image.size # 选取长和宽中较大值作为新图片的 new_image_length = width if width > height else
2020-06-10 19:55:18 428
原创 SpringBoot使用WangEditor富文本编辑器
wangEditor是基于javascript和css开发的 Web富文本编辑器, 轻量、简洁、易用、开源免费。若需要使用可以在wangEidtor官网上查看开发文档,或者去直接下载依赖包。直接上前端代码:<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://w...
2020-01-14 20:23:39 1908 1
原创 SpringBoot使用Kaptcha验证码
Kaptcha 是一个可高度配置的实用验证码生成工具。个人认为还是挺好用的,虽然现有更加安全的验证方式。此次是使用springboot+ssm,使用maven管理。直接上步骤:pom文件添加jar包依赖: <!-- kaptcha验证码 --> <dependency> <groupId>com.github...
2020-01-14 20:14:00 274
原创 数据正则化总结
涉及机器学习或者深度学习的问题的时候总能听到有人提起“正则化”,可能都会模糊的知道,正则化是一种 有效的防止过拟合,提高模型泛化能力的有效手段。而过拟合可以理解是模型太过复杂,过分的考虑当前数据的分布结构,过分的拟合当前的数据。在早期的机器学习领域一般只是将范数惩罚叫做正则 化技术,而在深度学习领域认为:能够显著减少方差,而不过度增加偏差的策略都可以认为 是正则化技术,故推广的正则化...
2020-01-13 20:40:09 5888
原创 pytorch实现的Resnet18、VGG16
''' Resnet18 代码 date:2019/11/30 author:hzp'''import torchimport torch.nn as nnimport torch.nn.functional as Fclass ResidualBlock(nn.Module): def __init__(self, inchannel, outch...
2019-12-03 22:36:24 1027
原创 极限学习(elm)实现波士顿房价预测
# import numpy as npfrom sklearn.preprocessing import OneHotEncoder # , LabelEncoderimport numpy as npfrom sklearn.datasets import load_iris # 数据集加载from sklearn.model_selection import train_tes...
2019-12-03 21:04:59 1523 10
原创 利用OpenCV抠出图像中的人脸
""" 参数说明: southPath:存放图像的文件目录 objectPath:裁剪后的图像保存的目录 *suffix:图像的格式"""def readPicSaveFace(sourcePath, objectPath, *suffix): try: # 读取照片,注意第一个元素是文件名 ...
2019-12-03 20:39:55 4914 11
原创 使用pytorch做Resnet迁移学习实现图像分类(完整流程)
图像处理:先对所有的图像的大小reshape到224*224(Resnet输入为224*224)def Image_PreProcessing(imagepath, targetpath): # 待处理图片存储路径 im = cv2.imread(imagepath, 1) h, w, _ = im.shape print(im) t = 0 ...
2019-12-02 22:47:19 9028 3
原创 使用paddlepaddle实现图像分类
首先是对图像集的处理,在此对图像进行了reshape,所有的图像统一处理成(224,224,3)的格式。对图像还可以稍作增强,增加数据集数量: # 随机水平翻转 r1 = random.random() if r1 > 0.5: img = img.transpose(Image.FLIP_LEFT_RIGHT) ...
2019-12-02 22:26:46 3175 2
原创 pytorch损失函数(nn.L1Loss、nn.SmoothL1Loss、nn.MSELoss 、nn.CrossEntropyLoss、nn.NLLLoss)
损失函数,是编译一个神经网络模型必须的两个参数之一,另一个是优化器。损失函数是指用于计算标签值和预测值之间差异的函数,常见的有多种损失函数可供选择,典型的有距离向量,绝对值向量等。 nn.L1Loss L1Loss 计算方法比较简单,原理就是取预测值和真实值的绝对误差的平均数。计算公式如下 ...
2019-12-02 22:08:43 15268
原创 Numpy的常用函数
ndarray-通用函数/常用函数(一元函数) 一元ufunc 描述 调用方式 abs,fabs 计算整数、浮点数或者复数的绝对值,对于非复数,可以使用更快的fabs np.abs(arr) np.fabs(arr) sqrt ...
2019-10-08 20:37:38 123
原创 计算机网络的ip地址分类
各类ip地址的划分 另外,A类第1个字节的最高位固定为0,B类固定为10开头,C类固定为110开头,D类为1110,E类为11110开头。首先是A类地址,其中第1字节为网络地址,其它3个字节为主机地址。地址从1.0.0.1到126.255.255.254;也就是说A类地址中包含126个网络,包含1677214个网络。一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,可用的B...
2019-09-11 19:36:13 3149
原创 Python文件操作笔记
在python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件open(文件名,访问模式)示例如下:writeN = open('Python.txt', 'w')其中w表示只是写入,具体所有操作如下表说明:访问模式 说明 r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 w 打开一个文件只用于写入。如果该...
2019-07-24 23:09:26 170
原创 SpringBoot 使用kaptcha验证码
首先在pom文件中引入坐标:<!-- kaptcha验证码 --> <dependency> <groupId>com.github.penggle</groupId> <artifactId>kaptcha</artifactId> ...
2019-06-12 11:31:16 203
原创 SpringBoot 实现文件下载
文件下载的功能,在此是点击了下载的链接以后,前台把资源的ID返回到后台请求下载。后台先把该资源的URL获取出来,若资源不存在,则返回“-1”。/* * 下载文件 */ @RequestMapping("/download") @ResponseBody public String downloadFile(HttpServletRequest request, @Req...
2019-06-12 11:17:22 1836
原创 SpringBoot 结合layUI实现文件上传
首先是网站的配置:先是pom文件的引入,在此把整个文件全拷贝了:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaL...
2019-06-12 11:06:22 6609 2
原创 关于Mybatis逆向工程的使用
mybatis官方提供逆向工程,可以使用它通过数据库中的表来自动生成Mapper接口和映射文件(单表增删改查)和Po类,可以大大的减少代码的书写提升开发速度。maven工程引入<dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-g...
2019-04-22 20:55:42 184
原创 SpringBoot 文件上传
SpringBoot上使用文件上传 编写静态页面,静态页面可以放在classpath/static目录下或者是src/main/webapp目录下及其子目录下都可以 <!DOCTYPE html><html><head><meta charset="UTF-8"><title>SpringBoot上传文件<...
2019-03-05 11:53:31 125
原创 Spring Boot整合Servlet使用
方法一:通过扫描注解整合 编写servlet @WebServlet(name="MyServlet",urlPatterns="/first")public class MyServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletRe...
2019-03-04 15:55:45 207
原创 使用Spring Boot写一个简单的Hello World
功能就是:在浏览器输入网址http://localhost:8080/hello即可访问Hello World首先创建一个maven工程:就最简单的maven工程即可,在pom.xml编写Spring Boot的依赖:实际为官方文档摘抄而来 <parent> <groupId>org.springframework.boot</groupId...
2019-02-14 13:18:22 470
原创 SQL考试常见题目
--1.学生表Student(S,Sname,Sage,Ssex) --S 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别--2.课程表 Course(C,Cname,T) --C --课程编号,Cname 课程名称,T 教师编号--3.教师表 Teacher(T,Tname) --T 教师编号,Tname 教师姓名--4.成绩表 SC(S,C,score)...
2019-02-02 08:51:31 1422
原创 一个简单的layui登陆界面
<!DOCTYPE html><html lang="en"> <head> <meta charset="utf-8"> <link rel="stylesheet" href="layui/css/layui.css"> &am
2019-01-26 22:03:29 31693 18
原创 关于java的枚举
枚举数据的取值必须是有限的,是可以枚举出来的。枚举的用法:简单定义一个季节的枚举类型,使用enum关键字来定义,季节可分为春、夏、秋、冬。并且枚举类型可以定义为单独的文件,也可以包含于类当中。 public enum Season{ SPRING,SUMMER,FALL,WINTER} 如上,需要使用可以 Season s = Season.SPRING; 先声...
2019-01-26 21:53:24 121
原创 关于java的内部类
一般而言,内部类与包含它的外部类有比较密切的关系,而与其他类关系不大,定义在类的内部,可以实现对外部的完全隐藏,可以有更好的封装性,代码也表现的更为简洁。不过内部类只是java编译器的概念,对于java虚拟机而言,不知道内部类这么一回事,每个内部类最后都会被编译成一个独立的类,生成一个独立得字节码文件。 内部类的分类:(1)静态内部类(2)成员内部类(3)方法内部类(4)匿名内部类静态内部...
2019-01-25 16:49:55 80
原创 关于java的继承
使用继承一方面可以复用代码,公共的属性和行为可以 放到父类当中,而子类只需要关心子类的特有的性质就行可以了;另一方面,不同的子类的对象可以更为方便地被统一处理。在java中,即使没有声明父类,也会有一个隐藏的父类Object,即任何类都可以调用Object类的方法。 一个类最多只有一个父类,使用extends关键字来表示继承 子类不能直接访问父类中的私有属性或者方法,即用private关键...
2019-01-14 12:35:32 189
原创 JQuery使用validate插件完成校验
下载 官网地址:http://jqueryvalidation.org/files/jquery-validation-1.15.0.zip 帮助文档位置:http://jqueryvalidation.org/documentation/ 导入 validate是jQuery插件,及必须在jQuery的基础上进行运行。我们将导入jQuery库、validate库、和国际化资源库(可选...
2019-01-13 21:23:10 179
原创 数据结构之线性链表
线性表的链式存储结构的特点就是用一组任意的存储单元存储线性表的数据元素(数据单元之间的关系是可以连续的,也可以是不连续的)。#include <stdio.h>#include<stdlib.h>#define ERROR 0#define OK 1#define OVERFLOW -2typedef int Status ;typedef int El...
2018-10-03 17:15:58 166
原创 数据结构之顺序表的实现
线性表的实现分顺序存储结构和链式存储结构。 顺序表属于线性表的一种,是用一组地址连续的存储单元依次来实现对元素的存储。 但是,顺序结构最大的缺点就是在进行插入和删除操作的时候,如果插入位置不理想,那么需要移动大量的元素。可以发现在顺序存储结构中,他们相邻的元素的存储位置也是相邻的,在申请内存的的时候,是一次性申请一块连续的内存,中间是没有空隙的,这样也就没办法进行快速的插入,如果进...
2018-09-10 20:38:20 152
原创 常用的20个正则表达式
正则表达式经常被用于字段或任意字符串的校验,比如下面这段校验基本日期格式的JavaScript代码:var reg = /^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2})$/; var r = fieldValue.match(reg); if(r==null)alert('Date format error!');1、校验密...
2018-07-20 00:18:30 181
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人