- 博客(25)
- 资源 (3)
- 收藏
- 关注

原创 YOLOv3训练自己的数据集实现目标检测
YOLO的全称是You Only Look Once,是最早出现的单阶段目标检测方法,也是第一个实现了实时目标检测的方法。计算机视觉领域主要包括两大方面:图像分类、目标检测。图像分类是指根据图像的语义信息将不同类别的图像区分开来,比如人脸识别,即模型输入一张图片,判断该图片属于某个类别。YOLO是一个国外开源的目标检测算法,目前流行的YOLO算法分为三个版本,即YOLOv1、YOLOv2、YOLOv3,YOLO的核心思想就是利用整张图作为网络的输入,直接在输出层回归bounding box(边界)的
2020-10-29 11:29:44
33634
113

原创 Python+Keras+opencv实现人脸识别
Keras对人工智能来说,是一款比较好的入门框架。它是一个高级的Python神经网络框架,已经被添加到TensorFlow中,成为其默认的框架,为TensorFlow提供更高级的API。如果将TensorFlow比喻为编程界的Java或者C++,那么Keras就是编程界的Python,它作为TensorFlow的高层封装,可以与TensorFlow联合使用,用它可以快速搭建模型。并且Keras是T...
2019-06-06 16:32:17
34484
89

原创 基于face_recognition实现图片识别
Face Recognition 是一个基于 Python 的人脸识别库,它还提供了一个命令行工具,让你通过命令行对任意文件夹中的图像进行人脸识别操作。该库使用dlib顶尖的深度学习人脸识别技术构建,在户外脸部检测数据库基准(LabeledFacesintheWildbenchmark)上的准确率高达99.38%。此篇博文利用face_recognition实现了一个简单的...
2019-05-07 09:17:52
32167
2
原创 linux(docker中)搭建Oracle客户端解决DPI-1047报错
由于容器化、微服务等概念的流行,项目中需要用到Python环境及在Docker中访问Oracle数据库,在执行Python脚本访问Oracle数据库时遇到如下报错:在此记录解决该问题的步骤:首先,到linux官网下载对应Oracle数据库版本(此处需要Oracle11g的客户端文件)的客户端文件,此处我下载的为instantclient-basic-linux.x64-11.2.0.4.0.zip、instantclient-sqlplus-linux.x64-11.2.0.4.0.zip(不知
2020-11-13 17:30:55
19097
1
原创 Docker容器化安装Python、第三方包、制作镜像、内网部署
在项目中经常需要在linux服务器上搭建Python环境,但是由于linux系统的版本等原因,导致内网环境中安装Python及第三方库的过程出现各种问题,因此采用Docker的方式部署Python。大致流程分为以下步骤:1、Docker hub拉取Python镜像 2、创建容器并在容器内增加项目所需第三方库 3、将步骤二的容器制作为镜像 4、将镜像用于内网环境。(Docker的安装此处不再描述)1、Docker hub拉取官方镜像首先,查看系统已有的镜像,输入如下命令:docker imges
2020-11-04 16:18:16
40975
10
原创 层次分析法原理及应用案例
层次分析法是指将一个复杂的多目标决策问题作为一个系统,将目标分解为多个目标或准则,进而分解为多指标(或准则、约束)的若干层次,通过定性指标模糊量化方法算出层次单排序(权数)和总排序,以作为目标(多指标)、多方案优化决策的系统方法。层次分析法是将决策问题按总目标、各层子目标、评价准则直至具体的备投方案的顺序分解为不同的层次结构,然后用求解判断矩阵特征向量的办法,求得每一层次的各元素对上一层次某元素的优先权重,最后再加权和的方法递阶归并各备择方案对总目标的最终权重,此最终权重最大者即为最优方案。层次分析
2020-10-30 15:04:00
37749
2
原创 经纬度坐标转换为距离及角度(Python)
最近项目上有这样的需求,需要依据设备的经纬度坐标计算距离及角度。经验证后效果较好,并分享。1 经纬度转换距离代码#!/usr/bin/env python# -*- coding: utf-8 -*-__author__ = 'Seven'import math# 计算距离def getDistance(latA, lonA, latB, lonB): ra = 6378140 # 赤道半径 rb = 6356755 # 极半径 flatten = (
2020-10-29 16:30:41
26783
10
原创 K-means算法(无监督学习)
1 什么是无监督学习现实生活中常常会有这样的问题:缺乏足够的先验知识,因此难以人工标注类别或进行人工类别标注的成本太高。很自然地,我们希望计算机能代我们完成这些工作,或至少提供一些帮助。根据类别未知(没有被标记)的训练样本解决模式识别中的各种问题,称之为无监督学习。一家广告平台需要根据相似的人口学特征和购买习惯将美国人口分成不同的小组,以便广告客户可以通过有关联的广告接触到他们的目标客户。 某个人需要将自己的房屋清单分组成不同的社区,以便用户能更轻松地查阅这些清单。我们可以怎样最有用地对其进
2020-10-29 15:36:00
23034
1
原创 KNN算法
KNN即K-NearestNeighbor,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的K个邻近值来代表。1 KNN算法1.1 定义如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。1.2 距离公式两个样本的距离可以通过如下公式计算,又叫欧式距离。欧氏距离计算公式如下:比如存在点a(x1, y1, z1), b(x2, y2, z2)两个点,则a到b的距离为:2 电影类型分析..
2020-10-29 15:12:11
21440
1
原创 深度学习中的激活函数
1. 什么是激活函数如下图,在神经元中,输入的 inputs 通过加权,求和后,还被作用了一个函数,这个函数就是激活函数 Activation Function。2. 为什么要使用激活函数如果不使用激活函数,这种情况下每一层输出都是上一层输入的线性函数。无论神经网络有多少层,输出都是输入的线性组合。如果使用的话,激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函...
2020-10-28 09:57:48
25311
3
原创 威尔逊置信区间算法
此算法的基础是以用户对某种抉择的二项性为基础,每条可记录的数据都是“0-1”的独立事件,符合泊松分布,于是该类数据很容易归类于二项分布里。二项分布计算置信区间有多种计算公式,最常见的是“正太区间”(Normal approximation interval),但它只适用于样本较多的情况(np > 5 且 n(1 − p) > 5),对于小样本,它的准确性很差。Wilson算法正是解决了...
2020-03-23 17:26:52
28551
3
原创 机器学习十大经典算法之线性回归
线性回归可以用以下式子进行描述:线性回归即连续值的预测问题,即根据给定的x以及模型参数θ的计算下,使得该方程的相应能够无限逼近真实值y。下面来举一个连续值预测的简单例子:y = w * x + b当知道两组参数时,即可通过消元法求得参数w与b,即可得到该方程的精确解。即w = 1.477, b = 0.0891.567 = w * 1 + b3.043 = w *...
2020-03-04 16:59:20
20422
1
原创 OneHot编码用于用于生产解决维度问题
不知道大家在使用OneHot编码的过程中有没有遇到这样的问题,比如在训练样本中某一列的值(离散)为“green” "red" "yellow",并对其进行了one-hot编码,效果如下:当在生产环境中实时读取新增数据时,出现一些训练样本中未见过的数据,如"green" "blue",其one-hot编码如下:那么在这种情况下会导致数据维度不一致,但由于训练好的模型输入维度是确定的,...
2019-10-25 09:43:09
21229
1
原创 Python多进程多线程测试
今天在工作中遇到爬虫效率问题,在此处记录多进程、多线程测试脚本#!/usr/bin/env python# -*- coding: utf-8 -*-__author__ = 'Seven'from concurrent.futures import ThreadPoolExecutor, ProcessPoolExecutorimport timedef gcd(pair):...
2019-09-17 17:22:51
20694
1
原创 机器学习十大算法之随机森林
1. 随机森林的定义随机森林属于集成学习,集成学习(ensemble)的思想是为了解决单个模型或者有一组参数的模型所固有的缺陷,从而整合更多的模型,取长补短。随机森林就是集成学习思想下的产物,森林里面有很多的决策树组成,随机森林的每一棵决策树之间是没有关联的。在得到森林之后,当有一个新的输入样本进入的时候,就让森林中的每一棵决策树分别进行一下判断,看看这个样本应该属于哪一类(对于分类算法),然...
2019-07-26 10:31:52
24137
1
原创 内网环境搭建Python3环境及安装第三方库(Linux)
1. Python3.6搭建1.1 下载Python3.6前往Python官网下载对应的Linux版本Python(Python-3.6.8.tgz)1.2 对压缩包解压通过ftp等工具将下载的Python-3.6.8.tgz放入某个路径,如/root/gf0719下进入该目录:cd /root/gf0709解压文件: tar xf Python-3.6.8.tg...
2019-07-19 16:36:55
31274
4
原创 Python中的装饰器
当你在处理大批量的数据时,你想测试一下你写的代码要运行多久,如果你用的是anaconda,那没问题,可以直接%%time来计算此单元格的运行时间,呢么在Pycharm上要怎么做呢,你可以导入time模块去计算一个时间差,但是如果多段代码都需要分别计算执行时间,需要在每个函数上都写一边计时代码吗? 这样岂不是很麻烦,这时我们可以利用装饰器来实现,不仅可以减少重复代码,而且可以在不改变原来代码的基础上...
2019-06-12 15:07:40
24718
1
原创 Python实现微信机器人
最近在学python的过程中无意间发现一个python库:wxpy,其可以实现让微信自动接收、处理消息并进行回复的一系列功能。感觉挺有意思的,便自行摸索学习,并成功地实现了其功能。当我们打开微信,就会秒收到一些活跃分子的回复,有的时候感觉对方回答很在理,但是有的时候发现对方的回答其实是驴唇不对马嘴,仔细深究发现,原来对方是机器人。首先需要安装wxpy库,其次需要去图灵机器人官网注册一下,获...
2019-06-12 13:32:05
26436
4
原创 利用pandas操作Oracle及MySQL数据库
Python强大的处理数据的能力很大一部分来自Pandas,pandas不仅限于读取本地的离线文件,也可以在线读取数据库的数据,处理后再写回数据库中。pandas主要是以sqlalchemy方式与数据库建立链接,支持Mysql、postgresql、Oracle、MS SQLServer、SQLite等主流数据库。SQLAlchemySQLAlchemy是Python编程语言下的一款开源软...
2019-06-11 09:30:37
30083
3
原创 机器学习模型持久化----pickle与joblib
场景:将训练好的模型保存至本地磁盘或者内存picklepickle 模块及其同类模块 cPickle 向 Python 提供了 pickle 支持。后者是用 C 编码的,它具有更好的性能,对于大多数应用程序,推荐使用该模块。joblibjoblib是scikit-learn的外带库,对于大数据而言,joblib比pickle更加高效,但是joblib...
2019-05-09 18:51:09
32041
3
原创 Keras调用sklearn
Keras是Python在深度学习领域非常受欢迎的第三方库之一,但Keras的侧重点是深度学习,而不是所以的机器学习。事实上,Keras力求极简主义,只专注于快速、简单地定义和构建深度学习模型所需要的内容。Python中的scikit-learn是非常受欢迎的机器学习库,它基于Scipy,用于高效的数值计算。scikit-learn是一个功能齐全的通用机器学习库,并提供了许多在开发深度学习过程中非...
2019-05-08 18:23:17
31233
2
转载 嫌pandas慢又不想改代码怎么办?来试试Modin
来源:Python数据科学链接:https://mp.weixin.qq.com/s/SlPdbGtdtfXGPPKrysM7kw 之前和大家分享过一篇关于提速pandas的文章,主要是在pandas的具体操作用法上提出了一些改进,还在抱怨pandas运行速度慢?这几个方法会颠覆你的看法 但方法的改进上难免会遇到上限瓶颈,比如数据非常大的时候。最近看到了一篇也是关...
2019-04-24 14:23:03
31208
6
原创 随机森林、GBDT、XGBoost比较
RF、GBDT和XGBoost都属于集成学习(Ensemble Learning),集成学习的目的是通过结合多个基学习器的预测结果来改善单个学习器的泛化能力和鲁棒性。 根据个体学习器的生成方式,目前的集成学习方法大致分为两大类:即个体学习器之间存在强依赖关系、必须串行生成的序列化方法,以及个体学习器间不存在强依赖关系、可同时生成的并行化方法;前者的代表就是Boosting,后者的代表是Bagg...
2019-04-23 17:59:18
34624
1
原创 机器学习算法选取
在不同的场景如何选取不同的算法总是困扰着我,请教过许多机器学习大牛,最终结论为,如果时间允许,最好每种算法都尝试一下,选择效果最好的算法应用到对应的场景。下面代码选取了五种主流机器学习算法,包括SVM、KNN、决策树、逻辑回归、朴素贝叶斯,当然也包括集成学习算法,Bagging、Adaboost、GBDT和随机森林。编写一个通用函数分别构建上述模型,并作出ROC曲线进行模型评估。以下为测...
2019-04-23 16:56:06
30623
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人