- 博客(54)
- 收藏
- 关注
原创 java @注解 和 python @函数装饰器
一直在用python和java的@标记一个函数,他俩有啥区别呢?今天把我在笔记上的内容分享出来,供大家参考先写Javajava中的@XX 叫Annotation 也就是注解。1、它存在的意义什么?1、让编译器检查代码2、注解像xml一样给类、方法注入信息2、他是如何实现?https://www.jianshu.com/p/89f4c9d7d37bpython装饰器模式和上一节说到的代理模式非常相似,可以认为,装饰器模式就是代理模式的一个特殊应用,两者的共同点是都具有相同的接口,不同点是
2020-11-12 20:34:18
419
原创 java基础-- new 一个对象的过程
java new 一个对象的流程大体如下一、类加载(方法区) java是使用双亲委派来进行类的加载的双亲委托模型的工作过程是:如果一个类加载器(ClassLoader)收到了类加载的请求,它首先不会自己去尝试加载这个类,而是把这个请求委托给父类加载器去完成,每一个层次的类加载器都是如此,因此所有的加载请求最终都应该传送到顶层的启动类加载器中,只有当父类加载器反馈自己无法完成这个加载请求(它的搜索范围中没有找到所需要加载的类)时,子加载器才会尝试自己去加载。使用双亲委托机制的好处是:能够有效确保
2020-11-12 20:11:00
1770
原创 练习题
1. 互斥量用于线程的互斥,信号量用于线程的同步。这是互斥量和信号量的根本区别,也就是互斥和同步之间的区别。互斥:是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的。同步:是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问。在大多数情况下, 同步已经实现了互斥,特别是所有写入资源的情况必定是互斥的。 ...
2019-07-01 19:33:41
329
转载 ML binning
一、分箱:数据分箱(也称为离散分箱或者分段)是一种数据预处理的方法,用于减少次要观察误差的影响,是一种将多个连续值分为较少数量的分箱的方法。1.1离散化:,把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。通俗的说,离散化是在不改变数据相对大小的条件下,对数据进行相应的缩小。例如:原数据:1,999,100000,15;处理后:1,3,4,2;原数据:{100,200...
2019-06-19 17:09:13
323
原创 降维
一、为什么要降维?举个例子两个特征“千克”,“磅”。可以发现,虽然是两个变量,但它们传达的信息是一致的,即物体的重量。所以我们只需选用其中的一个就能保留原始意义,把2维数据压缩到1维,这样的好处减少矩阵大小,在集合中就是减少维度,减少计算量,减少共线性。二、降维技术降低数据维度的方法主要有两种仅保留原始数据中最相关的变量(特征选择)寻找一组较小的新变量,其中每个变量都是输入变量的组合...
2019-06-13 20:25:12
1805
1
原创 python数据结构、numpy、pandas、matplotlib
与Python列表不同,NumPy受限于所有包含相同类型的数组。如果类型不匹配,NumPy将尽可能向上转换(此处,整数向上转换为浮点数)网址https://github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/02.01-Understanding-Data-Types.ipynbhttps://github....
2019-06-12 16:47:57
200
原创 ML 9day 开始无监督学习 聚类算法 K-means clustering.
先看一个flush动画http://shabal.in/visuals/kmeans/6.html如图所示,数据样本用圆点表示,每个簇的中心点用叉叉表示。(a)刚开始时是原始数据,杂乱无章,没有label,看起来都一样,都是绿色的。(b)假设 数据集可以分为两类,令K=2,随机在坐标上选两个点,作为两个类的中心点。(c-f)演示了聚类的两种迭代。先划分,把每个数据样本划分到最近的中心点 那一...
2019-06-12 16:46:17
254
原创 ML 100day eightday(random forest)
随机森林是有监督的集成学习模型(ensemble—learning model)主要用于分类和回归。随机森林算法分为两步。第一步是创建决策树,第二步是根据第一步中决策树的分类器结果做出决策,随机森林预测过程:1、使用一个随机创建的决策树的规则来预测测试特征的结果(目标)2、计算每个预测目标的票数3、获得票数最高的预测目标视为随机森林算法的最终预测核心代码:#创建分类器对象from s...
2019-06-12 13:49:43
139
原创 回归和分类的区别
回归是定值 分类是定性Q:分类与回归的区别就是离散和连续的区别吗?A:这两者的区别完全不在于连续与否啊,而在于损失函数的形式不同啊!https://www.zhihu.com/question/21329754...
2019-06-11 18:22:52
290
原创 数据倾斜问题
一、数据倾斜的原因:核心原因是reduce段数据分布不均匀,导致少量reduce子任务未完成二、解决方案:2.1调节参数hive.map.aggr = true 在map端部分聚合,相当于combinerhive.groupby.skewindata = true ,数据倾斜的时候进行负载均衡,当选项设定为true,生成的查询计划会有两个MR JOB,map输出的结果集合会随机分不到redu...
2019-06-11 15:34:14
511
原创 模型评估之混淆矩阵(confusion_matrix)
在前面的文章中我们讲到了回归模型和分类模型的评估指标,区分了准确率和精确率的区别,并且比较了精确率和召回率内在的联系。本篇文章我们再来学习另外一个评估方法,即混淆矩阵(confusion_matrix)。在讲矩阵之前,我们先复习下之前在讲分类评估指标中定义的一些符号含义,如下:TP(True Positive):将正类预测为正类数,真实为0,预测也为0FN(False Negative):将...
2019-06-10 09:49:49
5586
原创 ML 100day servenday(SVM )
SVM(Support Vector Machines)支持向量机一、什么是SVM?他是个有监督的机器学习算法,和KNN一样可用于分类和回归分析,最主要是用在分类问题中。在这个算法中,更具特征值,构建n维空间(其中n即是特征的数量),吧每个数据投影到此空间内。二、数据如何分类?通过查找一个超平面,把数据区分为两类。换句话说,算法输出一个最佳超平面,用于数据分类三、什么是最佳超平面对SVM...
2019-06-06 17:08:31
149
原创 ML 100Day sixday KNN算法
1、KNN算法:k最近邻(K-NearestNeighbor,KNN)分类算法的核心思想是如果一个样本在特征空间中的k个最相似(即特征空间中的最临近)的样本中大多数属于某一个类别,则该样本也属于这个类别。KNN算法不仅可以用于分类,还可以用于回归,通过找出一个样本的k个最近邻居,将这些邻居的属性的平均值付给该样本,作为预测值最后一步是投票选出出现频率最大的“”"NearestNeighb...
2019-06-06 13:54:57
160
原创 啥是回归?
今天突然想搞清楚这个问题,遂搜索了一下,现总结如下。这一概念的英文是“regression”,是由高尔顿(Galton)在1886年的论文Regression towards Mediocrity in Hereditary Stature中提出的。论文基于对父亲和儿子身高的研究,发现子辈的平均身高是父辈平均身高与父辈所在族群的平均身高的加权平均和。子辈的平均身高 = 父辈平均身高 * 权重...
2019-06-04 17:32:29
553
原创 ML 100day fiveday(逻辑回归、数据归一化、评估预测、matplotlib数据展示)
***注意一点就是,训练模型的参数是一批***import numpy as npimport matplotlib.pyplot as pltimport pandas as pddataset = pd.read_csv(‘C:\Users\Administrator\Desktop\ml 100day\Social_Network_Ads.csv’)dataset.head()...
2019-06-04 16:42:35
515
原创 100-Days-Of-ML threeday(多元线性回归、特征选择)
第三天学习的是多元线性回归一、前提(想要有一个成功的回归分析,确认这些值很重要):1、线型:自变量和因变量的关系应该是线性的,也就是说特征值和预测值是线性相关的2、保持误差项的方差齐性(常数方差): 也就是误差项的分散(方差)必须相等3、多元正态分布: 多元回归假定残差符合正态分布4、缺少多重共线性: 假设数据有极少甚至没有多重共线性。当特征(或自变量不是相互独立的时,会引发多重共线性...
2019-06-03 17:55:32
519
原创 100-Days-Of-ML twoday
import pandas as pdimport numpy as npimport matplotlib.pyplot as pltdataset = pd.read_csv(‘C:\Users\Administrator\Desktop\ml 100day\MLDayTwoData.csv’)#创建X和Y,注意一点dataframe切片包左不包右X = dataset.iloc[...
2019-06-03 14:03:41
177
原创 100-Days-Of-ML oneday
这个博客是基于github上项目,Avik Jain致力于通过这个项目,让机器学习入门者学习机器学习的理论与实战,话不多说,现在开始:https://github.com/Avik-Jain/100-Days-Of-ML-Code注意:1、pandas包生成的DF使用切片方式不同于python中的切片([:],包左不包右),DF.loc[0:3] 一共是四行2、pandas中的df.co...
2019-05-28 18:28:16
371
原创 python爬虫第一天
学习爬虫我参考的是崔庆才爬虫入门,昨天晚上安装好了redis、mongodb等软件,今天正式开始学习py爬虫一、介绍库名:1、urllib库和re库,安装python时自动安装urllib是Python自带的一个用于爬虫的库,其主要作用就是可以通过代码模拟浏览器发送请求。re是一个正则库2、requests库equests是python实现的简单易用的HTTP库,使用起来比urllib...
2019-05-16 20:01:51
206
原创 数据库锁
https://www.open-open.com/lib/view/open1452046967245.html数据库的乐观锁和悲观锁是什么?数据库的乐观锁和悲观锁是什么?注意: 乐观并发控制(简称乐观锁),悲观并发控制(简称悲观锁),不要把乐观并发控制和悲观并发控制狭义的理解为DBMS中的概念,更不要把他们和数据中提供的锁机制(行锁、表锁、排他锁、共享锁)混为一谈。其实,在DBMS中...
2019-05-15 11:04:25
121
原创 关于乱码的问题
我之前的认知一直是乱码的原因是编码和解码的方式没有对应,所谓三码合一的问题,存在计算机底层的数据都是二进制的形式,但是今天在看廖雪峰的教程时写道:https://www.liaoxuefeng.com/wiki/1016959663602400/1017075323632896*搞清楚了ASCII、Unicode和UTF-8的关系,我们就可以总结一下现在计算机系统通用的字符编码工作方式:在计...
2019-05-08 19:37:39
326
原创 py spider 第一天
总结: selenium只是个虚拟的浏览器,或者说是一个web自动化测试工具,而不是真正意义上的爬虫框架一、ScrapyScrapy A Fast and Powerful Scraping and Web Crawling Framework关键词是和,使用过确实感觉如此。我感觉就是一个全家桶,它把爬虫所需要的大部分东西(为什么不是全部,下面会说到)都集成到这个框架中,如:下载器、中间件、...
2019-05-07 18:17:08
158
原创 机器学习第一天
在模型组已经小半年了,机器学习的应用下的算法也混了耳熟,从上个项目到现在,所有ETL工作也没有什么创新,借助这样好的平台环境,最近的想法是上班时候看建模相关的东西,晚上下班看爬虫的东西,从今天起正式开始第一天的机器学习算法的学习。1、什么是机器学习:参考:知乎 https://zhuanlan.zhihu.com/p/24339995作为人类的一员,你的大脑可以应付绝大多数情况,并且在没有任...
2019-04-23 18:36:15
170
原创 python 第六天
name_ 是当前模块名,当模块被直接运行时模块名为 main 。这句话的意思就是,当模块被直接运行时,以下代码块将被运行,当模块是被导入时,代码块不被运行。如果你接触过这些语言,对于程序入口这个概念应该很好理解,C 和 C++ 都需要有一个 main 函数来作为程序的入口,先将程序编译成二进制文件,但如果是python这种脚本语言,她是动态的一行解释一行运行,也就是从脚本的第一行开始运行,没有...
2019-04-22 18:29:44
136
原创 python第六天(普通方法、类方法、静态方法、__init__、__new__)
举例代码:class A:def init(self):print(self)print(“这是构造方法”)def new(cls, *args, **kwargs):print(id(cls))print(“这是new 方法,相当于__init__只是最后的那盘菜,而__new__才是得到食材”)ret = object.new(cls)print(ret)return re...
2019-04-15 11:13:08
294
原创 python第五天
python中如果子类没有构造方法,就会调用父类构造方法初始化子类对象,但是如果子类有自己的构造方法,那么初始化子类对象的时候只会调用自己的构造方法,不会调用父类构造方法,所以这时父类的属性不能被直接继承(方法可以继承)在明白了构造方法之后,我们来点进阶的问题,那就是构造方法中的初始值无法继承的问题。例子:复制代码class Bird:def __init__(self): ...
2019-04-12 16:02:10
163
转载 python的del 第四天(关键字和__del__()方法)
python的__del__()方法创建对象后,Python解释器默认调用__init__()方法。当删除一个对象时,Python解释器也会默认调用一个方法,这个方法为__del__()方法。在Python中,对于开发者来说很少会直接销毁对象(如果需要,应该使用del关键字销毁)。Python的内存管理机制能够很好的胜任这份工作。也就是说,不管是手动调用del还是由Python自动回收都会触发_...
2019-04-10 10:23:09
935
原创 python第三天
一、引用想一想a = 1b = ab1a = 2a2请问此时b的值为多少?a = [1, 2]b = ab[1, 2]a.append(3)a[1, 2, 3]请问此时b的值又是多少?引用: 在python中,值是靠引用来传递来的。我们可以用id()来判断两个变量是否为同一个值的引用。 我们可以将id值理解为那块内存的地址标示。a = 1b = a...
2019-04-02 18:49:41
208
原创 python第二天
一、局部变量:小结:1、就是在函数内部定义的变量2、作用范围就是在这个函数内部,函数之外不能使用3、作用是存储临时保存的数据二、全局变量1、如果一个变量既能在一个函数中使用也能在别的函数使用这个变量就是全局变量(在函数外边定义的变量叫做 全局变量)举例:定义全局变量a = 100def test1():a = 666print(a) # 虽然没有定义变量a但是依然可以...
2019-04-02 16:11:39
251
转载 python第一天:python的简介
python 是解释性语言还是编译性语言??先说结论,python 是解释性语言。何为编译?1、生成目标文件。2、且目标文件是针对特定的 CPU 体系的,为ARM生成的目标文件,不能被用于MIPS的CPU,也不能用于x86的CPU。反过来说也是成立的。也就是说这段代码在生成目标文件的过错中就已经被翻译成了目标CPU指令,所以如果这个程序需要在另外一种CPU上面运行,这个代码就必须重新翻译...
2019-03-14 19:55:55
156
转载 hadoop fs,hadoop dfs以及hdfs dfs区别
hadoop fs,hadoop dfs以及hdfs dfs区别该文由本人于网上查阅资料所得,如有错误希望帮忙评论指正谢谢。hadoop fs:FS relates to a generic file system which can point to any file systems like local, HDFS etc. So this can be used when you ar...
2019-03-14 10:26:59
1463
转载 echo -n 和echo -e 参数意义
echo -n 和echo -e 参数意义echo -n 不换行输出$echo -n “123”$echo “456”12最终输出123456而不是123456123456echo -e 处理特殊字符若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:\a 发出警告声;\b 删除前一个字符;\c 最后不加上换行符号;\f 换行但光标仍旧停...
2019-03-14 09:19:06
1392
原创 Java NIO 第一版I/O模型概述
Java NIO(一)I/O模型概述目录基本概念讲述基本概念讲述什么是同步?同步就是:如果有多个任务或者事件要发生,这些任务或者事件必须逐个地进行,一个事件或者任务的执行会导致整个流程的暂时等待,这些事件没有办法并发地执行。什么是异步?异步就是:如果有多个任务或者事件发生,这些事件可以并发地执行,一个事件或者任务的执行不会导致整个流程的暂时等待举个简单的例子,假如有一个任务包括两个...
2019-03-11 14:00:04
157
转载 Hive的分区表和分桶表的区别
Hive的分区表和分桶表的区别版权声明: https://blog.csdn.net/JENREY/article/details/80588493
2019-03-04 16:24:32
871
转载 举例说明三范式(简单易懂说人话版)
数据库设计一般满足第三范式就够了第一范式(无重复的列)定义:数据库表的每一列都是不可分割的原子数据项,而不能是集合,数组,记录等非原子数据项。如果实体中的某个属性有多个值时,必须拆分为不同的属性通俗解释:一个字段只存储一项信息eg:班级:高三年1班,应改为2个字段,一个年级、一个班级,才满足第一范式不满足第一范式学号 姓名 班级0001 小红 高三年1班改成学号 姓名 年级 班级...
2018-12-18 15:07:07
1980
1
原创 RHEL 和centos 的区别
结论:centos基于redhat红帽RHEL(Red Hat Enterprise Linux)的开源源码 完成的,为什么redhat愿意这个寄生虫和自己抢市场呢?答:GPL 协议保证linux一定是开源的,这样完全合法1,无偿和有偿的区别:redhat是收费版,centos是免费版;2,redhat一个提供商业的解决方案 ,centos一个不提供。3,CentOS是Linux发行版之一,...
2018-12-06 09:28:59
8822
原创 自己总结sql用法
**- 2018/12/05 with as 用法**一、hivesql中(注意:mysql不支持),with as语句的作用是相当于创建了一个中间表,加载到内存中,这样在后续的使用中极大的提高速度(不用建表,insert数据到中间表;加载内存,使用数据速度快)。二、使用WITH t1 AS (SELECT *FROM carinfo),t2 AS (SELECT *FROM...
2018-12-05 09:52:49
524
原创 一个例子搞懂宽表和窄表的区别
宽表:从字面意义上讲就是字段比较多的数据库表。通常是指业务主题相关的指标、维度、属性关联在一起的一张数据库表。由于把不同的内容都放在同一张表存储,宽表已经不符合三范式的模型设计规范,随之带来的主要坏处就是数据的大量冗余,与之相对应的好处就是查询性能的提高与便捷。这种宽表的设计广泛应用于数据挖掘模型训练前的数据准备,通过把相关字段放在同一张表中,可以大大提高数据挖掘模型训练过程中迭代计算时的效率问题...
2018-11-13 11:28:45
54056
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人