- 博客(31)
- 收藏
- 关注
原创 使用modin针对pandas进行性能优化
1.为什么要使用modin?我们在使用pandas进行数据处理时难免出现性能瓶颈,在实际工作生产中pandas操作百万高维数据时,性能不足的问题会逐步放大,这与pandas的单核运行机制相关,pandas在将大数据量加载入缓存时,会将庞大的dataframe同时拷贝入缓存中2.modin与pandas的性能对比实例我们来看一下使用modin分布式并行加速后pandas与原始pandas对比...
2020-01-09 10:08:49
2018
原创 leetcode--组合两表
一、题目描述:表1: Person±------------±--------+| 列名 | 类型 |±------------±--------+| PersonId | int || FirstName | varchar || LastName | varchar |±------------±--------+PersonI...
2019-12-17 17:41:10
224
原创 pandas使用说明手册
导入数据pd.read_csv(filename):从CSV文件导入数据pd.read_table(filename):从限定分隔符的文本文件导入数据pd.read_excel(filename):从Excel文件导入数据pd.read_sql(query, connection_object):从SQL表/库导入数据pd.read_json(json_string):从JSON格式的字...
2019-11-18 15:12:00
4278
转载 [mac]bash: scrapy: command not found
在终端输入scrapy,提示:-bash: scrapy: command not found【解决方法】:创建软连接:ln -s /Library/Frameworks/Python.framework/Versions/3.6/bin/scrapy /usr/local/bin/scrapy为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln -...
2019-08-07 11:04:28
535
转载 Ubuntu18.04 python2.7升级python3.6,并切换版本
1.首先在ubuntu的终端ternimal输入命令:sudo apt-get install python3 (博主选择的是安装python3.6,命令为:sudo apt-get install python3.5) 输入你的密码后会下载,刚才下载的Python程序被安装在usr/localb/python3.5 中。2.指定默认打开的是python3.6版本(你新安装的python版...
2019-07-09 14:39:26
2139
转载 python逆向base64总结
base64背景与用途电子邮件刚出来的时候,只传递英文字符,这没有问题,但是后来,中国人,日本人都要发email,这样问题就来了,因为这些字符有可能会被邮件服务器或者网关当成命令处理,故必须得有一种编码来对邮件进行加密,但是加密的目的是使邮件的传输不在出现问题(现在服务器早已经能处理这些乱七八糟得情况了,不过因为已经形成了一套规范,所以邮件还是得经过Base64编码才能传递)。base64使用...
2019-07-08 19:39:21
600
转载 superset docker 部署
superset酷炫的图表Superset一、使用自己的数据库拉取项目// 创建目录用于存放项目mkdir -p /mnt/supersetcd /mnt/supersetgit clone https://github.com/amancevice/superset.git配置数据库等这里默认你已创建了你自己的空数据库和具有读写该数据库权限的用户,到下面初始化时会自动在你的...
2019-06-27 17:17:45
985
原创 geohash算法原理
geohash的使用背景从地理信息学角度来来分析,在地球中纬度的区间范围为[-90,90],而经度的区间范围为[-180,180]。当将指定位置经纬度获取,转换为geohash再与相应范围geohash相匹配,就可以为他推荐相同geohash的相关信息。甚至可以实现一定程度上地理坐标位置的保密性。geohash介绍与理解通常geohash代表着某一地图中的矩形区域,而不是某个坐标字符串相似...
2019-06-19 20:56:01
457
原创 5.30 地图无忧面试总结
一. 在工作中在数据处理方面的手段1.讲了下特征工程,以及特征工程中筛选特征的几种手段,如将特征有针对性的使用matplotlib或者seaborn进行可视化处理。通过观察数据的分布拟合程度来判定特征是否重要。2.如果在高维度数据中,如上千维中。我们可以定义函数对特征进行异常处理,转为连续数据获取均值再定义区间范围,通过函数对特征进行自动筛选。2.可以通过Isolation算法对特征进行异常...
2019-05-30 19:12:41
231
原创 5.23 北京吧咔科技
一、实现np.doc底层代码(矩阵相乘)二、feed流的理解三、pyspark四、300w用户 1w新闻 1秒 如何实现推荐
2019-05-30 19:12:30
293
原创 5.22 阿博茨科技 面试总结
一、介绍体育新闻分类项目二、n_Gram与IT-IDF的区别n_Gram可以用于字符串模糊匹配,n为匹配的单词位数,n一般为2或3。可以用于词分类。n_Gram可以评价一个句子是否合理,区别两个字符串的差别水平。IT-IDF又称词频-逆向文章频率,是由IT*IDF构成,IT为词频代表单一文本出现词的频率,假设3张纸上写上不同的话,IT为单一张纸上出现有‘你好’这个词,那IT就是你好这个词在...
2019-05-30 19:12:14
2100
原创 5.16 微软 机器学习岗
一、单词反转将字符串单词反转输出,例如:str=‘how are you’ output=‘you are how’二、s1和s2两个字符串,查询两个字符串中的共用子串三、遍历二叉树,从左到右分别展示,从叶子节点向根节点分别展示四、N皇后问题五、都了解什么深层神经网络,分别运用在哪些场合?RNN自动翻译中,如何解决输入输出不一致问题六、手写代码实现knn算法七、使用微软...
2019-05-30 19:11:56
159
原创 5.15 oppo面试总结
oppo一面一、冒泡排序二、快速排序三、实现a = ‘123’ 转换为b = 123 (不能使用python内置方法,或者用C语言实现)四、曝光率问题五、CTR预估问题oppo 二面一、为什么来北京二、余弦相似度矩阵...
2019-05-30 19:11:39
2070
原创 5.08面试总结
讲下你对scikit-sklearn库的理解?回答的不太理想,没有看过sklearn官网的原文档。分别从分类、回归、聚类、特征降维、模型选择、预处理这6个角度来进行回答。sklearn是基于python强大机器学习库,它集成了分类、回归、聚类、降维、模型选择、预处理的众多机器学习方法,分类:主要用于确定对象类别。可应用于垃圾邮件检测、图像识别常用算法有:SVM knn RandomFo...
2019-05-30 19:11:16
153
原创 5.03面试题总结
1.sql语句,在同一张表中筛选出重复的行select id,count(1) from A group by id having count(1) > 1;having是一种可以和group by 联合使用的语句,可以对group by 后的数据进行条件过滤。2.Btree与B+tree区别与时间复杂度1、B+tree所有的data都存储在子叶节点中,而不存储在非子叶节点,Btre...
2019-05-30 19:10:42
521
原创 MySQL数据库索引原理总结
Mysql数据库中索引在Mysql索引使用中,常常出现索引性能需要考虑的问题,那我们是否应当对索引原理进行深入思考。Mysql中不同的存储引擎使用的索引原理是不同的,下面介绍三种类型的索引类型B-tree、B+tree、hash。什么是BtreeBtree是一种高效的数据库存储结构,具体结构形式如下图:什么是平衡二叉树我们在高效搜索的过程中,二叉搜索会提高我们搜索的效率,而平衡二叉树...
2019-04-30 19:42:08
301
原创 总结常用机器学习算法的实践场景
在机器学习中我们对常用模型已有初步的了解,那么在实践中成功的应用机器学习模型算法才是更加重要的。而对于何时使用哪一种模型效果会更好,对此我做出的一些简单总结1.KNN (k近邻)适用于小型数据集,knn作为基准模型有很好的效果,但是因为预测性能不佳,导致其适用性的减弱,但是其原理简单,比较容易解释2.线性回归(线性模型)线性模型是一种非常常用的算法,在性能上比较可靠,适用于非常大的数据集,...
2019-04-26 10:59:26
694
原创 knn中kd树与球树的实现原理
knn算法的思考我们在使用knn算法时是否会发觉,随着数据量的增加,预测过程会越来越缓慢。在K值的选择过程中是否会消耗过多性能
2019-04-24 16:15:36
2672
1
原创 使用python实现遍历二叉树
什么是二叉树?二叉树是一种特殊的树状结构(1)树中每个节点最多只能有两棵树,即每个节点的度最多为2。 (2)二叉树的子树有左右之分,即左子树与右子树,次序不能颠倒。 (3)二叉树即使只有一个子树时,也要区分是左子树还是右子树。遍历二叉树遍历二叉树方法有5种1.前序遍历2.中序遍历3.后序遍历4.深度遍历5.广度遍历...
2019-04-22 18:14:09
461
原创 机器学习算法评估指标整合和解析
一、分类1.精确率和召回率设A为预测正样本数,B为真实正样本数则,C为所有样本数精确率(Precision):精确率代表预测为正样本中真正为正样本数与预测的正样本数的比值。Precision(A,B)=|A⋂B| / |A|召回率(Recall):是预测为正样本中真正为正阳数占真实正样本数,即召回。Recall(A,B)=|A⋂B| / |B|F1-score:有时我们...
2019-04-20 17:39:34
829
原创 朴素贝叶斯中拉普拉斯平滑算法
什么情况下我们会使用拉普拉斯平滑算法?当我们在使用朴素贝叶斯算法去解决分类问题时,在训练集上进行训练时我们可以发现有可能出现某些特征的概率P为0的情况,无论是在全文检索中某个字出现的概率,还是在垃圾邮件分类中,这种情况明显是不太合理的,不能因为一个事件没有观察到就武断的认为该事件的概率是0,拉普拉斯的理论支撑而拉布拉斯平滑处理正是处理这种情况下应运而生的。拉普拉斯平滑处理思想而我们可以发现如...
2019-04-17 19:46:33
6567
原创 机器学习混淆矩阵的原理与使用
什么是混淆矩阵?· 混淆矩阵是一个误差矩阵,通常我们可以通过混淆矩阵来评定监督学习算法的性能。在监督学习中混淆矩阵为方阵,方阵的大小通常为一个(真实值,预测值)或者(预测值,真实值),所以通过混淆矩阵我们更清晰的看出,预测集与真实集中混合的一部分。混淆矩阵可以通过scikit-learn和TensorFlow来实现混淆矩阵可以清晰的反映出真实值与预测值相互吻合的部分,也可以反映出与预测值不...
2019-04-16 00:26:18
11641
1
原创 逻辑斯蒂回归实现与参数分析
逻辑斯蒂是一种处理二分类的经典算法,在sklearn中我们使用LogisticRegression来实现模型的构建1.C:代表正则化系数的倒数,默认为1,可以调节过拟合,又叫惩罚系数,惩罚系数是对误差的容忍程度,惩罚系数越大对容忍性越底。2.solver:逻辑斯蒂内部使用的优化算法,可取值有:newton-cg、lbfgs、liblinear、sag、saga3.max_iter:代表最大...
2019-04-12 22:41:59
2614
原创 机器学习之线性回归理解
什么是线性回归?线性回归是在线性模型的基础上一种线性方法。线性方程为Y = wX^T+b线性回归又名最小二乘法,是回归问题最简单也是最经典算法,线性回归可以通过求解均方误差构建损失函数,来寻找参数w和b,使得均方误差也就是损失函数最小,从而求得回归参数w和截距b。线性回归算法没有参数,这是一个优点但也因此可能无法控制模型的复杂程度,从而导致训练时间过长。1.线性方程一个标签y和一个特征...
2019-04-10 16:47:12
1376
原创 机器学习中最小二乘法和逻辑斯蒂回归最大似然估计最小二乘法
最小二乘法在构建线性回归模型时,我们通过最小二乘法获得均方误差(损失函数),我们需要得到均方误差的最小值,从而真实值与假设值的差异也是最小的,所以可以得到最合适的回归系数W。...
2019-04-10 12:59:22
1685
原创 机器学习中随机梯度下降算法总结分析
我们为什么要使用梯度下降算法人类都是渐进学习的,不断从错误中纠正自己的认知,这恰巧就是梯度下降算法的思想。梯度下降算法随机选择一个方向,然后每次迈步都选择最陡的方向,直到这个方向上能达到的最低点。梯度下降算法的作用都有哪些?在机器学习中有些算法需要对模型构建损失函数以求得需要的系数,然而在损失函数的计算中,我们可能不能获得最佳方案,而梯度下降算法正是一种对损失函数的优化算法,以便损失函...
2019-04-09 20:43:55
3559
1
原创 python排序
冒泡排序冒泡排序对数据操作n-1轮,每轮找出一个最大(小)值。操作指对相邻两个数比较与交换,每轮会将一个最值交换到数据列首(尾),像冒泡一样。每轮操作O(n)次,共O(n)轮,时间复杂度O(n^2)。额外空间开销出在交换数据时那一个过渡空间,空间复杂度O(1)。快速排序从数列中挑出一个元素,称为 “基准”(pivot);重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基...
2019-04-08 21:01:30
656
原创 KNN(K近邻算法)
knn算法1.knn的优缺点knn又叫k近邻算法,顾名思义k近邻算法突出近邻一词,也就是neighbor,knn算法是一种重预测轻训练的算法,算法的核心在于预测,所以很可能预测过程会非常缓慢,所以在使用knn算法时,对数据的预处理非常重要,因为预测速度过慢所以knn往往不能处理数据特征过多的数据,对于大多取值为0的稀疏矩阵数据集来说,效果尤其不好。2.knn算法参数第一个参数n_neig...
2019-04-08 21:00:46
3260
原创 正则化处理
我们为什么要进行正则化处理?在什么情况下我们使用正则化?当我们使用线性回归建模来进行预测时,可能会发生过拟合现象,而正则化正是解决这种过拟合现象而诞生的,在这里我们列举两个正则化方法。1.L2正则化L2 正则化又叫岭回归我们在线性回归中使用最小二乘法来推导w值时,如果m<n,则会导致矩阵不可逆,从而造成过拟合的发生,使得泛化能力下降,为防止这种现象的发生 在均方误差中引入了L1或者 ...
2019-04-08 20:59:17
1942
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人