自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 关于阻塞/非阻塞、同步/非同步、死锁

1、阻塞/非阻塞、同步/非同步同步与非同步(消息通知机制):关注的是等待过程的通知方式需要自己主动询问还是被动通知。阻塞与非阻塞(等待消息通知时的状态):关注的是等待过程是否可以转变为其他非等待状态。举例说明:假设我要下载一个视频1、通过看下载进度条等待下载完成的结果(同步),期间不做其他事情(阻塞)2、通过看下载进度条等待下载完成的结果(同步),期间去聊QQ,在聊Q...

2019-09-14 11:33:00 629

转载 关于synchronize与lock的区别

参考文献:https://www.cnblogs.com/cloudblogs/p/6440160.html一、synchronize修饰不同代码都是锁住了什么?大家都知道synchronize可以修饰属性、代码块,方法、类,但是修饰不同的代码锁住的内容是不同的。1、修饰非静态属性和方法时,拿到的是调用这个方法或者属性的对象(this)的锁。2、synchronize()...

2019-09-13 20:16:00 300

转载 为什么volatile能保证有序性不能保证原子性

对于内存模型的三大特性:有序性、原子性、可见性。大家都知道volatile能保证可见性和有序性但是不能保证原子性,但是为什么呢?一、原子性、有序性、可见性1、原子性:(1)原子的意思代表着——“不可分”;(2)在整个操作过程中不会被线程调度器中断的操作,都可认为是原子性。原子性是拒绝多线程交叉操作的,不论是多核还是单核,具有原子性的量,同一时刻只能有一个线程来对它进...

2019-09-13 16:51:00 442

转载 索引以及Mysql中的索引

一、什么是索引索引是表的目录,会保存在额外的文件中,针对表中的指定列建立,专门用于帮助用户快速查询数据的一种数据结构。类似于字典中的目录,查找字典内容时可以根据目录查找到数据的存放位置,然后直接获取即可。在查找数据库内容之前可以先在索引中查询,快速定位查询数据。用在where,like,having等查询语句。二、建立索引的列1、越小的数据类型通常更好:越小的数据类型通...

2019-09-07 22:25:00 189

转载 B树和B+树原理图文解析

B树与B+树不同的地方在于插入是从底向上进行(当然查找与二叉树相同,都是从上往下)二者都通常用于数据库和操作系统的文件系统中,非关系型数据库索引如mongoDB用的B树,大部分关系型数据库索引使用的是B+树。一、B树(也叫B-树,注意并不是读B减树哦)m阶B树需满足以下要求:1、m阶B树:m阶指的是分叉的个数最多为m个。即一个非叶子节点最多可以有m个子节点。2、子...

2019-09-07 15:29:00 1604

转载 mysql安装 报错解决

换了新电脑,重新安装了一下mysql,安装过程出现了一些错误,在此记录一下:参考菜鸟教程:https://www.runoob.com/mysql/mysql-install.html1、下载mysql 5.7.27 zip 解压缩2、生成my.ini配置文件,按照教程填写内容。3、管理员身份运行cmd,进入bin目录,执行mysqld --initialize --...

2019-09-01 10:34:00 212

转载 比较两棵二叉树是否相同/一棵二叉树是否是另一棵二叉树的子树/一棵二叉树是否是另一颗二叉树的子结构...

本文章讨论两个问题:①如何判断两棵二叉树的结构是一样的、对应的每个结点都有着相同的值。--即判断两棵二叉树是一样的②给定两棵二叉树,如何判断一棵二叉树是另一棵二叉树的子结构③给定两棵二叉树,如何判断一棵二叉树是另一棵二叉树的子树注意,子结点与子树不同。如下图所示,2,3,4都是1的子结构但是只有4是1的子树。一、判断两个二叉树是否完全一致(1)由于先序序列和...

2019-08-29 16:00:00 363

转载 KMP算法

https://www.jianshu.com/p/d4cf13b32111https://blog.youkuaiyun.com/v_JULY_v/article/details/7041827转载于:https://www.cnblogs.com/simpleDi/p/11429793.html

2019-08-29 15:08:00 97

转载 几种数据结构的查找、删除、插入的时间复杂度(数组 链表 二叉查找树 平衡二叉查找树 哈希表)...

其中无序数组直接插在末尾,时间复杂度为1有序数组使用二分查找,时间复杂度logN无序链表插入在表尾,时间复杂度1有序链表插入需要寻找插入位置,时间复杂度N二叉树一般情况即为平衡二叉树,最坏情况为有序链表不过,此处需要说明,平衡二叉树删除时需要从被删除节点的父节点开始调节平衡一直调节到根节点,不过这个过程的时复杂度也是logN参考文献:几种数据结构的时间...

2019-08-16 16:22:00 2215

转载 java 多线程的状态迁移 常用线程方法分析

一、线程的各个状态  图中的线程状态(Thread.Stat 中定义的Enum 名)NEW、RUNNABLE 、TERMINATED、WAITING、TIMED_WAITING 和BLOCKED 都能够通过Thread 类的getState 方法获取。由图中可以看到:1、sleep方法只有timed_waiting,是Thread的静态方法,可以通过Thread类名调用,...

2019-08-14 10:56:00 219

转载 JVM内存分区

1、java虚拟机内存结构java程序的执行依赖于JAVA虚拟机(运行于机器内存中),其开始于一个main()方法,如果在一台机器上运行三个java程序,就需要三个java虚拟机。1.1 程序计数器功能:一块较小的内存,执行引擎Execution Engine通过改变计数器的值选取下一条需要执行的字节码指令。条件、循环,异常处理等都需要程序计数器来控制。线程私有...

2019-08-13 14:38:00 117

转载 详解 Java I/O 与装饰者模式

1、I/O分类与装饰者模式基本java I/O包含两种类型的流,字节流(inputStream、outputStream)与字符流(Writer,Reader),关于I/O操作类的设计,用到了装饰者模式,如下图所示。其中FilterInputStream抽象类继承了InputStream抽象类,并且组合了InputStream类。public class Upp...

2019-08-12 22:47:00 129

转载 详解 java 异常

Throwable 可以用来表示任何可以作为异常抛出的类(注意,是类不是接口),分为两种: Error(注意!error也是可以throw的,但是不建议) 和 Exception。其中 Error 用来表示 JVM无法处理的错误,对于这类错误的导致的应用程序中断,仅靠程序本身无法恢复和预防,遇到这样的错误,建议让程序终止。Exception 分为两种:受检异常 :编译器要求必须处...

2019-08-12 22:20:00 102

转载 ExecutorService 线程池详解

1、什么是ExecutorService,为什么要使用线程池?  许多服务器应用程序都面向处理来自某些远程来源的大量短小的任务,每当一个请求到达就创建一个新线程,然后在新线程中为请求服务,但是频繁创建新线程、销毁新线程、线程切换既花费较多的时间,影响相应速度,又消耗大量的系统资源,且有时服务器无法处理过多请求导致崩溃。一种情形:假设一个服务器完成一项任务所需时间为:T1 创建线程时间...

2019-08-12 20:41:00 333

转载 使用匿名内部类和lamda的方式创建线程

1、匿名内部类的方式 1 /** 2 *匿名内部类的方式启动线程 3 */ 4 public class T2 { 5 public static void main(String[] args) { 6     //集成类的方式 7 new Thread(){ 8 public void run(...

2019-08-12 16:21:00 174

转载 匿名内部类与lamda表达式

1、为什么要使用lamda表达式  从JDK1.8开始为了简化使用者进行代码开发,专门提供有Lambda表达式的支持,利用此操作形式可以实现函数式的编程,对于函数式编程比较著名的语言:haskell,Scala,利用函数式的编程可以避免掉面向对象编程之中的一些繁琐的问题。 面向对象在其长期发展的过程中一直有一部分的反对者认为面向对象过于繁琐,比如使用匿名内部类:...

2019-08-12 16:11:00 251

转载 机器学习中数据量多少与模型过拟合欠拟合之间的关系

参考链接:https://blog.youkuaiyun.com/insular_island/article/details/390997211、从模型方面考虑。举例说明:本身问题是二次的,用线性模型处理问题就是欠拟合,用三次及更高次处理问题就是过拟合。但是这里未考虑数据量的多少,只是针对本身模型阶次的考虑。而且现实问题,特别是深度模型处理的问题,并不是简单的就能确定模型复杂度的。2、处...

2019-03-23 10:49:00 3554

转载 设计模式和java实现

三种工厂模式:https://www.cnblogs.com/toutou/p/4899388.html适配器模式:https://www.cnblogs.com/V1haoge/p/6479118.html观察者模式(发布/订阅者模式):https://www.cnblogs.com/luohanguo/p/7825656.html转载于:https://www.cnblo...

2019-03-05 17:00:00 90

转载 八大排序算法汇总——java实现

https://www.cnblogs.com/morethink/p/8419151.htmlhttps://www.cnblogs.com/10158wsj/p/6782124.html?utm_source=tuicool&utm_medium=referral转载于:https://www.cnblogs.com/simpleDi/p/10466292.html...

2019-03-03 16:47:00 127

转载 java多线程并发编程中的锁

synchronized:https://www.cnblogs.com/dolphin0520/p/3923737.htmlLock:https://www.cnblogs.com/dolphin0520/p/3923167.html转载于:https://www.cnblogs.com/simpleDi/p/10462871.html

2019-03-02 20:56:00 95

转载 java NIO

关于java NIOhttps://blog.youkuaiyun.com/u011381576/article/details/79876754cnblogs.com/duanxz/p/6759689.html转载于:https://www.cnblogs.com/simpleDi/p/10452978.html

2019-02-28 20:41:00 89

转载 网络通信引擎ICE的使用

ICE是一种网络通信引擎,在javaWeb的开发中可以用于解决局域网内部服务器端与客户端之间的网络通信问题。即可以在1、在服务器和客户端都安装好ICE2、服务器端(java)在java项目中引入ICE的jar包,在src目录中定义UserInfoIce.ice接口,拷贝HelloService.ice到ICE安装目录\bin,在命令行输入:slice2java HelloServ...

2019-02-27 21:03:00 332

转载 机器学习算法汇总大梳理

多分类问题优先选择SVM,随机森林,其次是逻辑回归。朴素贝叶斯和线性回归都是比较简单的模型,对于数据的要求比较高,功能不是特别强大。1、决策树不需要对数据做任何预处理,2、随机森林3、数据预处理与特征工程(1)数据预处理:只需要X数据无量钢化:标准化(转化为正态分布)、归一化(不改变数据原始分布,改变范围,默认(0-1))处理缺失值:可用均...

2019-01-13 15:08:00 301

转载 处理样本不均衡数据

处理样本不均衡数据一般可以有以下方法:1、人为将样本变为均衡数据。上采样:重复采样样本量少的部分,以数据量多的一方的样本数量为标准,把样本数量较少的类的样本数量生成和样本数量多的一方相同。下采样:减少采样样本量多的部分,以数据量少的一方的样本数量为标准。2、调节模型参数(class_weigh,sample_weight,这些参数不是对样本进行上采样下采样等处理,而...

2019-01-07 21:52:00 294

转载 SVM中的软间隔最大化与硬间隔最大化

参考文献:https://blog.youkuaiyun.com/Dominic_S/article/details/830021531.硬间隔最大化对于以上的KKT条件可以看出,对于任意的训练样本总有ai=0或者yif(xi) - 1=0即yif(xi) = 11)当ai=0时,代入最终的模型可得:f(x)=b,样本对模型没有贡献2)当ai>0时,则必有yif(xi)...

2019-01-06 21:38:00 1597

转载 使用逻辑回归制作评分卡

1、什么是评分卡?在银行借贷场景中,评分卡是一种以分数形式来衡量一个客户的信用风险大小的手段,一般来说,评分卡打出的分数越高,客户的信用越好,风险越小。2、评分卡怎么使用?对于需要借贷的个人或者公司,在借贷时需要填写一张表格,表格内容包括年龄,收入,家庭人口数量等等。评分卡将每个特征划分为几个区间,每个区间有一个分数。根据客户所填信息对照评分卡,为客户所填的每一个特征赋...

2019-01-06 11:02:00 627

转载 团队协作项目——SVN的使用

参考文献:https://www.cnblogs.com/rwh871212/p/6955489.html老师接了一个新项目,需要团队共同完成开发任务,因此需要SVN。SVN是C/S架构:1、服务器端安装VisualSVN server:其中location是安装目录;repository是版本库目录,用来存放项目和文档;Server Port是客户端连接时的接口,一般使...

2019-01-03 16:20:00 362

转载 局域网内共享文件夹

1、使用交换机或者路由器将几台电脑组成一个局域网(互相之间能ping通即可)2、在需要共享的文件夹右键、属性、共享。3、点击“共享”按钮,可以选择“everyone”,点击“添加”按钮,并且可以设备权限为“只读”或者“可读可写”两种方式4、点击下方的“网络和共享中心”,在“所有网络”的“密码保护的共享”中选中关闭密码共享保护5、至此,共享已经完成,可以在局域网的其他电脑上...

2019-01-03 15:31:00 643

转载 远程连接服务器数据库

1、通过navicat通过需要连接的Ip,用户名、密码即可连接远程数据库,并且可以用eclipse访问数据库2、通过远程连接服务器桌面,可以访问远程服务器,使用导出助手将表导出为dbf格式,并保存文件至本地:Win+R,输入mstsc在"远程桌面连接"程序”中"展开选项”,选择“本地资源”标签;“本地设备和资源/详细信息”,勾选所要映射到被控电脑上的磁盘;连接到远...

2019-01-03 13:26:00 1298

转载 拉格朗日乘子法(Lagrange Multiplier) 和KKT条件

参考文献:https://www.cnblogs.com/sddai/p/5728195.html在求解最优化问题中,拉格朗日乘子法(Lagrange Multiplier)和KKT(Karush Kuhn Tucker)条件是两种最常用的方法。在有等式约束时使用拉格朗日乘子法,在有不等约束时使用KKT条件。  我们这里提到的最优化问题通常是指对于给定的某一函数,求其在指定作用域...

2018-12-19 09:52:00 460

转载 python数据预处理和特性选择后列的映射

我们在用python进行机器学习建模时,首先需要对数据进行预处理然后进行特征工程,在这些过程中,数据的格式可能会发生变化,前几天我遇到过的问题就是:对数据进行标准化、归一化、方差过滤的时候数据都从DataFrame格式变为了array格式。这样数据的列名就会消失,且进行特征选择之后列的数量也会发生改变,因此需要重新对列进行映射,为其加上列名并转化为DataFrame的格式。一般情...

2018-12-15 14:31:00 272

转载 银行业评分卡制作——IV、WOE

参考链接:https://blog.youkuaiyun.com/kevin7658/article/details/507803911.IV的用途IV的全称是InformationValue,中文意思是信息价值,或者信息量。  我们在构建分类模型时,经常需要对自变量进行筛选。挑选入模变量过程是个比较复杂的过程,需要考虑的因素很多,比如:变量的预测能力,变量之间的相关性,变量的简单性(...

2018-12-11 16:34:00 750

转载 机器学习算法中的评价指标(准确率、召回率、F值、ROC、AUC等)

参考链接:https://www.cnblogs.com/Zhi-Z/p/8728168.html具体更详细的可以查阅周志华的西瓜书第二章,写的非常详细~一、机器学习性能评估指标1.准确率(Accurary)准确率是我们最常见的评价指标,而且很容易理解,就是被分对的样本数除以所有的样本数,通常来说,正确率越高,分类器越好。准确率确实是一个很好很直观的评价...

2018-12-07 21:31:00 1035

转载 jupyter的使用技巧

具体安装教程参见上一篇博客。1、有几种格式code,编码模式;markdown注释格式;2、如果出现no module named ‘XX’ ,需要在anaconda prompt中使用conda install XX,如果不行可以先使用conda install pip安装pip,再在anaconda prompt中使用pip install XX安装对应插件即可使用。3、...

2018-11-22 17:25:00 190

转载 Anaconda+pycharm(jupyter lab)搭建环境

之前先是安装了pycharm,手动安装了python2.7和3.7版本,在pycharm里面使用alt+/手动下载包。后来想使用jupyter lab,手动下载包太麻烦且有版本管理的文艺,于是打算装Anaconda。anaconda里面集成了包括python在内的很多工具,该python包含了很多常用的包,例如numpy、sklearn等,我们在pycharm中配置后可以直接使用,非...

2018-11-20 22:14:00 533

转载 预处理后数据的保存与读取

在机器学习中,一般都需要先对数据进行数据预处理工作。模型一般需要反复的调参,因此可能需要多次使用预处理之后的数据,但是反复进行数据的预处理工作是多余的,我们可以将其保存下来。#用pickle模块将处理好的数据存储成pickle格式,方便以后调用,即建立一个checkpoint# 保存数据方便调用import osimport picklepickle_file...

2018-11-20 11:35:00 1517

转载 关于python中的随机种子——random_state

random_state是一个随机种子,是在任意带有随机性的类或函数里作为参数来控制随机模式。当random_state取某一个值时,也就确定了一种规则。random_state可以用于很多函数,我比较熟悉的是用于以下三个地方:1、训练集测试集的划分 2、构建决策树 3、构建随机森林1、划分训练集和测试集的类train_test_split  随机数种子控制每次划分训练集和测...

2018-11-19 22:22:00 2430

转载 python的随机森林模型调参

一、一般的模型调参原则1、调参前提:模型调参其实是没有定论,需要根据不同的数据集和不同的模型去调。但是有一些调参的思想是有规律可循的,首先我们可以知道,模型不准确只有两种情况:一是过拟合,而是欠拟合。过拟合是指模型过于复杂,欠拟合是指模型过于简单。2、查找资料:调参时应该知道每一个参数的默认值是多少,其增大或者减小会使模型更加复杂还是更加简单。3、调参可以使用两种方法:1、学...

2018-11-18 21:59:00 425

转载 用graphviz可视化决策树

1.安装graphviz。graphviz本身是一个绘图工具软件,下载地址在:http://www.graphviz.org/。如果你是linux,可以用apt-get或者yum的方法安装。如果是windows,就在官网下载msi文件安装。无论是linux还是windows,装完后都要设置环境变量,将graphviz的bin目录加到PATH,比如我是windows,将C:/Progr...

2018-11-16 22:11:00 1374

转载 莫烦python教程学习笔记——保存模型、加载模型的两种方法

# View more python tutorials on my Youtube and Youku channel!!!# Youtube video tutorial: https://www.youtube.com/channel/UCdyjiB5H8Pu7aDTNVXTTpcg# Youku video tutorial: http://i.youku.com...

2018-11-15 16:36:00 170

空空如也

空空如也

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

TA关注的人

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