Spark机器学习算法实操——LinearRegression 任务要求如下:实现Spark和HIVE与HDFS之间的通信 利用Spark.sql从HIVE中获取数据,并进行预处理以符合Spark机器学习库中输入文件的libsvm格式 LinearRegression线性回归模型建模 将得到的预测结果写回HDFS现在明确了我们的任务目标,就从头开始进行。配置Spark和Hive之间的通信Spark内部可以直接让SparkContext从hd...
排序算法总结(Python实现)——(二) 上一篇总结了冒泡、选择、插入和希尔排序,这篇来总结归并排序、快速排序和堆排序。归并排序归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。归并排序是一种稳定的排序方法。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为2-路归并。算法描述...
排序算法总结(Python实现)——(一) 整个排序算法分两部分来总结,这篇总结第一部分一些相对简单和常用的排序算法,包括冒泡排序、选择排序、插入排序和希尔排序。冒泡排序冒泡排序应该是大家接触的最早的排序方法了,理解起来也十分简单。冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来...
二叉树最强总结(python实现) 这篇文章总结了关于二叉树的创建和各种遍历方式。二叉树的创建方式通过层次遍历顺序创建 先序遍历顺序(带上叶子结点标识符)创建 先序顺序+中序顺序 中序顺序+后序顺序二叉树的递归方式先序遍历(递归+非递归) 中序遍历(递归+非递归) 后序遍历(递归+非递归) 广度优先遍历(BFS)首先来定义一下节点的结构class Node(): def __init__(s...
NLP————目标情感分析(TSA任务) TSA任务介绍目标情感分析任务(Targeted Sentiment Analysis, TSA)旨在提取目标实体并对其进行情感分类。因此可以理解为命名实体识别(NER)和情感分析(SA)两个任务的联合学习。例如,给出一句“ESPN调查显示迈克尔乔丹是最伟大的篮球运动员”,检测目标是ESPN和迈克尔乔丹,他们的情绪类别分别为中性和正面。最近的一些工作试图联合学习这两项任务,看成序列标注问题,其...
三种常用数据标准化方法 什么是数据标准化(Normalization)?数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间。在某些比较和评价的指标处理中经常会用到,去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较和加权。其中最典型的就是数据的归一化处理,即将数据统一映射到[0,1]区间上,常见的数据归一化的方法有:min-max标准化(Min-ma...
知识图谱发展报告2018————实体关系学习 关系定义为两个或多个实体之间的某种联系,实体关系学习就是自动从文本中检测和识别出实体之间具有某种语义的关系,也称为关系抽取。关系抽取的结果通常是一个三元组(实体1,关系,实体2)。例如:句子“北京是中国的首都、政治中心和文化中心”中的表述抽取出的关系表示为(中国,首都,北京),(中国,政治中心,北京),(中国,文化中心,北京)。关系抽取是知识图谱的构建和知识抽取中的一个重要环节,具有重要的理论意义...
知识图谱发展报告2018————总结(1) 知识图谱技术是知识图谱构建和应用的技术,是语义web、自然语言处理和机器学习的交叉学科。我们将知识图谱技术分为三个部分:知识图谱构建技术、知识图谱查询和推理技术和知识图谱应用。知识图谱构建知识表示与构建知识表示将现实世界中的各类知识表示成计算机能够存储和计算的结构。机器必须要掌握大量的知识,特别是常识知识才能实现真正的智能。知识图谱中的知识表示以结构化的形式描述客观世界中的概念、实体及...
NLP————在神经网络中CRF的使用 最近在做bi_lstm_crf时使用了CRF的一些库函数,是tensorflow官方库提供的。在我的项目中有两处用到了CRF:1.在双向LSTM进行输出之后计算loss时,要使用到 crf_log_likelihood 函数。这个函数是 tensorflow.contrib.crf 提供的。下面举个例子说明函数的参数和函数输出。crf_log_likelihood(inputs,ta...
NLP————VocabularyProcessor进行词表创建和原数据填充 在进行NLP相关编码时,将文本进行序列化编码是一个必要的环节(word->id),之前自己一直是自己手写代码构造词表并给句子进行填充,后来网上看到一个神仙函数两句语句就能完成构造词表vocab和句子填充,就是我们今天的主角VocabularyProcessor函数。函数参数如下:from tensorflow.contrib import learnvocal = learn.pr...
深度强化学习(DRL) DRL形成背景深度强化学习(Deep Reinforcement Learning)顾名思义,是深度学习与强化学习的结合,因此深度强化学习弥补了DL和RL的不足之处。深度学习最近火热,大家也都有所了解,就是通过多层网络和非线性变换,去学习数据的分布式特征表示,因此深度学习侧重于对事物的感知和表达。 而强化学习,了解的同学都知道,通过奖惩机制去挖掘最优策略,因此它侧重于学习解决问题的策略。...
NLP—————word_embedding Embedding这个词接触过深度学习的同学都不陌生,它在keras官方文档中的解释为:嵌入层将正整数(下标)转换为具有固定大小的向量。(这个解释太模糊了啊!!!)实际上,embedding这个词来源于wordEmbedding。使用嵌入层主要有三大原因:使用onehot编码会使向量的维度很高,而且十分稀疏,假如字典包含了2000个词,那么每一个词的onehot向量表示将有2000个整数组...
机器学习————k近邻学习 介绍k近邻(k-Nearest Neighbor 简称KNN)学习是一种常用的监督学习算法,给定一个测试样本,基于某种距离度量来找出训练集的所有样本中与该样本最为靠近的k个样本,然后根据这k个邻居的信息进行预测。什么时候用到KNN?knn算法既能够处理分类任务也能进行回归分析,两种任务所采用的方法略有不同。分类任务:通常使用“投票法”,将选择出的k个邻居样本出现最多的类别标记作为最...
使用matplotlib绘制热图(heatmap) python常用的绘图库就是matplotlib,今天在给公司绘图时,偶然间发现matplotlib可以绘制热图,并且十分简洁,拿出来跟大家分享一下。(由于涉及到公司数据问题,这里采用随机数生成数据进行实验)import randomfrom matplotlib import pyplot as pltfrom matplotlib import cmfrom matplotlib ...
机器学习————决策树(三) 前两篇决策树的blog介绍了有关决策树的理论知识,这篇文章我们编码实践一下,采用了网上较为简单的一个有关天气影响运动的数据集,决策树建模部分是利用sklearn.tree.DecisionTreeClassifier()训练构建决策树模型,利用pydotplus+graphviz进行模型可视化展示。数据集由于数据量较少,就不再划分训练集测试集,将以上数据全部用于训练。编码im...
Mac OS:GraphViz's executables not found (python 3 and pydotplus) 对于决策树结果可视化的问题,比较流行的方法是调用pydot/pydotplus搭配graphviz进行作图。今天在Mac os上运行代码时出现了如下错误:GraphViz's executables not found ,显而易见意思是graphviz的执行文件没有找到,经过了一番百度谷歌后,很多解决办法是在pydot中的python执行文件中手动添加path等,这并不适用于mac os和py...
Mac os 搭建FTP服务器 由于mac拥有自带的FTP工具,因此其实不需要借助其他工具,搭建更加方便。开启FTP服务macos默认的FTP服务是关闭状态的,因此需要进行激活一下,打开终端,指令如下:sudo -s launchctl load -w /System/Library/LaunchDaemons/ftp.plist验证服务开启FTP服务后,可以测试一下是否开启成功:ftp localh...
机器学习————决策树(二) 这篇文章介绍CART算法。分类与回归树(classification and regression tree,CART)模型是应用广泛的决策树的学习方法,CART作为决策树的一种放啊放同样由特征选择、树的生成和剪枝构成,既可以用于分类问题也可以用于回归问题。CART算法特征选择阶段的选择标准是计算基尼指数,基尼指数作为上一篇介绍的信息增益和增益率之后的第三个评判标准,同样被广泛地使用,这里单独...
机器学习————决策树(一) 决策树是一种回归和分类的重要手段,在机器学习中具有重要的比重。本文结合了周志华老师的《机器学习》和李航老师的《统计学习方法》两书中的决策树部分进行了总结。决策树的基本步骤包括:选择适当的算法根据训练样本构建生成决策树、根据验证集样本适当地修剪决策树(剪枝)和从决策树中提取出相关的规则知识。基本流程显然决策树的生成是一个递归过程,根据上述的生成决策树的基本算法,有三种情况会导致递归返...
机器学习----SVM算法 svm算法的通常理解在二维问题上,对于二元分类来说,svm的目的就是找一条线把两类分开。不过下面这个例子,有三条不同的直线都能把这两类分开,那么我们该选哪一条线呢?这将是我们考虑的问题:首先我们先假设一条直线W*X+b=0是最优的分割线。我们把这种最优SVM分割平面叫做超平面,我们现在的目标就是确定最优的W和b的值。SVM定义超平面为:能使支持向量和超平面之间的最小距离的最大值。那么这句话该如何理...