文本分析

chapter2 一个完整的机器学习项目实战

一个人想着一个人 提交于 2020-01-18 04:34:39
误差计算 均方根误差(RMSE)计算对应欧几里得范数的平方和的根,也称作 l2 范数。 $$RMSE(X, h) = \sqrt{\frac{1}{m}\sum_{i=1} ^m(h(x)^{(i)} - y^{(i)})^2} $$ 平均绝对误差(MAE)计算对应 l1 范数的绝对值和,也成为曼哈顿范数,因为其测量了城市中的两点,沿着矩形的边行走的距离。 $$MAE(X, h) = \frac{1}{m}\sum_{i=1}^m|h(x^{(i)}) - y^{(i)}|$$ lk 范数定义如下,其中 l0 显示向量的基数(非零元素个数),l∞ 向量中最大的绝对值。 $$||V||_j = (|v_0|^k + |v_1|^k + \cdots + |v_n|^k)^{\frac{1}{k}}$$ 范数的指数越高,就越关注大的值而忽略小的值,这就解释了为什么 RMSE 比 MAE 对异常值更敏感。当异常值是指数分布(类似正态曲线),RMSE 就会表现很好。 创建测试集 datapath = "C://Users/LENOVO/Desktop/book_need_reading/sklearn&tensorflow/data/housing.csv" housing = pd.read_csv(datapath) 使用 python 的 np.random.permutation

嵌入式文本编译器-vi,用户管理及权限管理

[亡魂溺海] 提交于 2020-01-16 06:24:20
vi的工作模式 命令模式:控制屏幕光标的移动,字符,字或行的删除,移动复制某区域,按 i 进入插入模式,按/或:进入底行模式 插入模式:编辑文字,按ESC返回命令模式 底行模式:将文件保存或退出vi,也可以设计编辑环境,如查找字符串,列出行号等。通常底行模式也算是命令 vi的进入 vi+文件名 例: [lin@localhost ~]$ vi a.txt 如果没有a.txt文件则自动在当前目录下生成该文件 进入vi后是命令模式,要输入i才可进入插入模式才能输入文字 编辑 按i可进行编辑,当屏幕下方显示– INSERT –时,表示已进入插入模式,可以编辑文字,若想回到命令模式,保存或退出按ESC键 vi的退出 在命令模式下,按一下冒号[:]进入底行模式 :w a.txt(将编辑的内容以指定文件名a.txt保存) :wq (存盘并退出vi) :q! (不存盘强制退出vi) 删除 x(每按一次,删除光标所在位置字符) nx(例如4x,删除从光标所在位置字符开始并往后的4个字符) X(每按一次,删除光标所在位置前一个字符) nX(例如10X,删除光标所在位置前10个字符) dd(删除光标所在行) ndd(例如3dd,从光标所在行开始删除3行) 复制 yw(将光标所在处到字尾的字符复制到缓冲区中) nyw(如4yw,复制4个字符到缓冲区) yy(复制光标所在行到缓冲区) nyy(如5yy

全程快捷键!硬核小哥超快配图1700页数学笔记,教你上手LaTeX+Inkscape

 ̄綄美尐妖づ 提交于 2020-01-16 01:41:11
边策 乾明 发自 凹非寺 量子位 报道 | 公众号 QbitAI 之前,我们介绍了一位神奇的本科生,他在数学课上用 Vim+LaTeX , 全程手打出1700页课堂笔记 ,速度直追老师的板书。 现在,这位Gilles小哥又开课了,上次他只教了大家手打公式的方法,这次他展示了数学笔记里的画图技巧。 他用到的神器是 Inkscape+LaTeX ,再加上自定义的快捷键,一个 Ctrl+F ,直接完成原来的六个步骤。 让你在电脑上画图也能追得上老师。 无论是复分析、微分几何、电动力学,还是小哥目前正在准备的椭圆曲线毕业论文,都能用这些神器轻松搞定。 △ 【复分析中的路径积分】 △ 【微分几何中的流形】 △ 【电动力学中的折射率椭球】 △ 【作者毕业论文中的椭圆曲线】 为何选择Inkscape 小哥说,其实不用图形软件,他也能画图。 给LaTeX文档添加图形可以用TikZ。用TikZ绘制一个向量A的图形只需要5行代码: \ begin {tikzpicture} \coordinate (A) at ( 1 , 3 ); \draw[thick, ->] ( 0 , 0 ) — (A); \node[above right] at (A) }; \ end {tikzpicture} 运行以上代码就画出矢量A的图形。(注,A应等于(1,3) ,原文错误。)

Python金融大数据挖掘与分析笔记(一)——正则表达式基础

亡梦爱人 提交于 2020-01-12 18:56:22
正则表达式基础 findall() 函数 首先通过以下实例演示正则表达式的用法: import re content = "Today is January 12, 2020" result = re . findall ( '\d\d\d\d' , content ) print ( result ) 输出结果是result findall() 函数的功能是在原始文本中寻找所有符合匹配规则的文本内容,其使用格式如下所示: re . findall ( 匹配规则, 原始文本 ) '\d’是一个特殊符号,表示匹配一个数字字符,下表列出了一些常用的特定符号及其功能。 符号 功能说明 \d 匹配1个数字字符 \w 匹配1个字母、数字或下划线字符 \s 匹配1个空白字符,如换行符、制表符、普通空格等 \S 匹配1个非空白字符 \n 匹配一个换行符 \t 匹配1个制表符 . 匹配1个任意符号,换行符除外 * 匹配0个或多个表达式 + 匹配1个或多个表达式 ? 非贪婪限定符,常与.和*配合使用 () 匹配括号内的表达式,也表示一个组 非贪婪匹配 简单理解: 贪婪匹配:返回满足条件的最长的匹配结果。 非贪婪匹配:返回满足条件的最短的匹配结果 首先通过一个简单的示例比较一下两者的区别。 text = '文本A百度新闻文本B,新闻标题文本A新浪财经文本B,文本A搜狗新闻文本B新闻网址' 贪婪匹配

文本数据挖掘 - - python jieba库

痞子三分冷 提交于 2020-01-10 14:04:40
jieba库 jieba库是一款优秀的 Python 第三方中文分词库,jieba 支持四种分词模式:精确模式、全模式和搜索引擎模式和新增的 paddle模式。 精确模式:试图将语句最精确的切分,不存在冗余数据,适合文本分析。 全模式:将语句中所有可能是词的词语都切分出来,速度很快,但是存在冗余数据,不能消除歧义。 搜索引擎模式:在精确模式的基础上,对长词再次进行切分,提高召回率 paddle模式,利用PaddlePaddle深度学习框架,训练序列标注(双向GRU)网络模型实现分词。 更多详情请查看 : https://github.com/fxsjy/jieba 常用示例 import jieba import jieba.posseg import jieba.analyse '''模式分词''' # cut_all=True:为全模式 # cut_all=FALSE:精准模式(默认) sentence = "我想去拉斯维加斯" words = jieba.cut(sentence, cut_all=False) # words = jieba.lcut(sentence, cut_all=False) # 返回列表类型 for item in words: print(item) print("----------------") '''搜索引擎分词''' sentence

地理文本处理技术在高德的演进(下)

笑着哭i 提交于 2020-01-09 06:40:25
​在 【上篇】 里,我们介绍了地理文本处理技术在高德的整体演进,选取了几个通用query分析的点进行了介绍。下篇中,我们会选取几个地图搜索文本处理中特有的文本分析技术做出分析,包括城市分析,wherewhat分析,路径规划,并对未来做一下展望。 四、query分析技术演进 4.1 城市分析 在高德地图的检索场景下,从基础的地图数据索引、到在线召回、最终产品展示,均以市级别行政单位为基础粒度。一次完整的检索需求除了用户输入的query外,还会包含用户的图面城市以及用户位置城市两个城市信息。 通常,大多数的搜索意图都是在图面或者用户位置城市下,但是仍存在部分检索意图需要在其他城市中进行,准确的识别出用户请求的目标城市,是满足用户需求的第一步,也是极其重要的一步。 在query分析策略流程中,部分策略会在城市分析的多个结果下并发执行,所以在架构上,城市分析的结果需要做到少而精。同时用户位置城市,图面城市,异地城市三个城市的信息存在明显差异性,不论是先验输出置信度,还是用后验特征做选择,都存在特征不可比的问题。 在后验意图决策中,多个城市都有相关结果时,单一特征存在说服力不足的问题,如何结合先验置信度和后验的POI特征等多维度进行刻画,都是我们要考虑的问题。 原始的城市分析模块已经采用先验城市分析和后验城市选择的总体流程 但是原始的策略比较简陋,存在以下问题: 问题1

PyQt5学习记录3-QTableWidget

旧街凉风 提交于 2020-01-06 21:42:30
QTableWidget是Qt程序中常用的显示数据表格的控件,类似于c#中的DataGrid。QTableWidget是QTableView的子类,它使用标准的数据模型,并且其单元数据是通过QTableWidgetItem对象来实现的,使用QTableWidget时就需要QTableWidgetItem。用来表示表格中的一个单元格,整个表格就是用各个单元格构建起来的 QTableWidget类中的常用方法 方法 描述 setROwCount(int row) 设置QTableWidget表格控件的行数 setColumnCount(int col) 设置QTableWidget表格控件的列数 setHorizontalHeaderLabels() 设置QTableWidget表格控件的水平标签 setVerticalHeaderLabels() 设置QTableWidget表格控件的垂直标签 setItem(int ,int ,QTableWidgetItem) 在QTableWidget表格控件的每个选项的单元控件内添加控件 horizontalHeader() 获得QTableWidget表格控件的表格头,以便执行隐藏 rowCount() 获得QTableWidget表格控件的行数 columnCount() 获得QTableWidget表格控件的列数

【论文翻译】Deep Visual-Semantic Hashing for Cross-Modal Retrieval

笑着哭i 提交于 2020-01-06 17:57:25
Deep Visual-Semantic Hashing for Cross-Modal Retrieval 用于跨模态检索的深度视觉语义哈希 摘要: 由于哈希算法具有较高的存储和检索效率,在大规模多媒体检索中被广泛应用于近似近邻搜索。跨模态哈希能够有效地检索图像以响应文本查询,反之亦然,近年来受到越来越多的关注。现有的大多数跨模态哈希研究工作都没有捕捉到图像的空间依赖性和文本句子的时间动态,从而学习强大的特征表示和跨模态嵌入,从而缓解了不同模式的异质性。摘要提出了一种新的深度视觉语义哈希(DVSH)模型,该模型在端到端深度学习体系结构中生成图像和句子的紧凑哈希码,捕捉视觉数据与自然语言之间的内在跨模态对应关系。DVSH是一种混合的深度架构,它构成了一个用于学习图像和文本句子的联合嵌入空间的可视化语义融合网络,以及两个用于学习哈希函数以生成紧凑二进制代码的特定于模态的哈希网络。我们的架构有效地统一了联合多模态嵌入和交叉模态哈希,它是基于图像上的卷积神经网络、句子上的递归神经网络和一个结构化的最大裕度目标的新组合,该目标将所有东西集成在一起,从而能够学习保持相似性和高质量的哈希码。大量的经验证据表明,我们的DVSH方法在图像-句子数据集的跨模态检索实验中,即标准的IAPR TC-12和大规模的Microsoft COCO中,得到了最先进的结果。 1.介绍 而海量

文档对象模型(DOM)

徘徊边缘 提交于 2020-01-04 18:42:21
文档对象模型(DOM)是表示文档(比如HTML和XML)和访问、操作构成文档的各种元素的应用程序接口(API)。一般的,支持Javascript的所有浏览器都支持DOM。本文所涉及的DOM,是指W3C定义的标准的文档对象模型,它以树形结构表示HTML和XML文档,定义了遍历这个树和检查、修改树的节点的方法和属性。 7.4.1、DOM眼中的HTML文档:树   在DOM眼中,HTML跟XML一样是一种树形结构的文档,<html>是根(root)节点,<head>、<title>、<body>是<html>的子(children)节点,互相之间是兄弟(sibling)节点;<body>下面才是子节点<table>、<span>、<p>等等。如下图:      这个是不是跟XML的结构有点相似呢。不同的是,HTML文档的树形主要包含表示元素、 标记 的节点和表示文本串的节点。 7.4.2、HTML文档的节点   DOM下,HTML文档各个节点被视为各种类型的Node对象。每个Node对象都有自己的属性和方法,利用这些属性和方法可以遍历整个文档树。由于HTML文档的复杂性,DOM定义了nodeType来表示节点的类型。这里列出Node常用的几种节点类型: 接口 nodeType常量 nodeType值 备注 Element Node.ELEMENT_NODE 1 元素节点 Text

linux shell 之在线文本编辑sed

百般思念 提交于 2020-01-01 13:36:36
sed命令 sed是一种文本编辑命令,读取文件数据到缓冲区,然后通过sed编辑文本,在输出到指定的文件,sed 是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,sed按行处理文本数据,不断重复,直到文件末尾。可同时处理多个文件; 先讲个实例,大家看到如下一堆字符串,这是有多个sed命令表达式组合成的命令,|表示多个表达式的组合,\表示换行,冒号中s表示替换,g表示全部替换;$0是第一个输入参数,是一个文件名称,第一行意思是读取文件中的数据,将IVMS_SERVICE=0全部替换成IVMS_SERVICE=1,这里只是字符替换;第二行是将变量$SVC_PROG全部替换掉IVMS_SERVICE_PROG,第四行是先替换,然后将缓冲区中的数据输入到变量$SVC_SYS_FILE标记的文件中; # create service bash sed -e "s%IVMS_SERVICE=0%IVMS_SERVICE=1%g" $0 | \ sed -e "s%IVMS_SERVICE_PROG%$SVC_PROG%g" | \ sed -e "s%IVMS_SERVICE_NAME%$SVC_NAME%g" | \ sed -e "s%IVMS_SERVICE_DIR%$SVC_DIR%g" > $SVC_SYS_FILE sed的选项、命令、替换标记 命令格式