数据挖掘第三篇-文本分类 文本分类总体上包括8个步骤.数据探索分析->数据抽取->文本预处理->分词->去除停用词->文本向量化表示->分类器->模型评估.重要python库包括numpy(数组),pandas(用于处理结构化数据),matplotlib(绘制词云,便于直观表示),sklearn(提供大量分类聚类算法库). 1.数据探索分析 (1)获取大量未经过处理的文档,且标记好文档所属类型. (2)给各个文档分配唯一的Id,并将之前用文字标记的分类类别用离散数…
最近参加比赛,写了一个垃圾短信识别器,在这里做一下记录. 官方提供的数据是csv文件,其中训练集有80万条数据,测试集有20万条数据,训练集的格式为:行号 标记(0为普通短信,1为垃圾短信) 短信内容:测试集的格式为: 行号 短信内容:要求输出的数据格式要求为: 行号 标记,以csv格式保存. 实现的原理可概括为以下几步: 1.读取文件,输入数据 2.对数据进行分割,将每一行数据分成行号.标记.短信内容.由于短信内容中可能存在空格,故不能简单地用split()分割字符串,应该用正则表达式模块re…
摇骰子游戏升级 此次更改增加下注功能,启动资金1000元,每次赔率都是一倍,钱输光退出. 源码: #!/user/bin/env python #-*-coding:utf-8 -*- #Author: qinjiaxi import random #一次摇三个骰子并将结果存在列表中 def role_a_dice(number = 3, point = None ): print('Let\'s play a game') if point is None: point = [] while…
大家好,我是四毛,最近开通了个人公众号“用Python来编程”,欢迎大家“关注”,这样您就可以收到优质的文章了. 今天跟大家分享的主题是利用python库twilio来免费发送短信. 先放一张成品图 代码放在了本文最后的地址中,欢迎有需要的自取,有任何也可以在评论或者后台直接私聊我. 正文 眼尖的小伙伴已经发现了上面的短信的前缀显示这个短信来自于一个叫Twilio的免费的账户,今天我们用到的库就是twilio,既然是免费的账户,那么肯定是有一些限制的,这个会在后面提到. 另外要注意的是这个网站从…
工信部拟制定<通信短信息服务管理规定>,为治理垃圾短信提供执法根据.当中,对于苹果iMessage垃圾信息泛滥现象,工信部也将跟踪研究技术监測和防范手段.这意味着长期以来处于监管"真空"地带的iMessage骚扰信息乱象有望得以缓解. 据了解,工信部正在制定<通信短信息服务管理规定>.还有制定出台并推动落实<短消息网间联动平台技术要求>等8项反垃圾短信技术标准,以规范短信息服务.特别是商业性短信发送行为,明白对违背用户意愿滥发短信等违规行业的处罚措施…
写在前面 准备近期将微软的machinelearning-samples翻译成中文,水平有限,如有错漏,请大家多多指正. 如果有朋友对此感兴趣,可以加入我:https://github.com/feiyun0112/machinelearning-samples.zh-cn 垃圾短信检测 ML.NET 版本 API 类型 状态 应用程序类型 数据类型 场景 机器学习任务 算法 v0.7 动态API 可能需要更新项目结构以匹配模板 控制台应用程序 .tsv 文件 垃圾信息检测 二元分类 SDCA(…
本篇主要内容:深浅拷贝,自定义函数,三目运算,lambda表达式, 深浅拷贝 一.数字和字符串 对于 数字 和 字符串 而言,赋值.浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址. import copy # ######### 数字.字符串 ######### n1 = 123 # n1 = "i am alex age 10" print(id(n1)) # ## 赋值 ## n2 = n1 print(id(n2)) # ## 浅拷贝 ## n2 = copy.copy(n1…
函数背景 在学习函数之前,一直遵循:面向过程编程: 根据业务逻辑从上到下实现功能,其往往用一长段代码来实现指定功能,开发过程中最常见的操作就是粘贴复制,也就是将之前实现的代码块复制到现需功能处,如下: while True: if cpu利用率 > 90%: #发送邮件提醒 连接邮箱服务器 发送邮件 关闭连接 if 硬盘使用空间 > 90%: #发送邮件提醒 连接邮箱服务器 发送邮件 关闭连接 if 内存占用 > 80%: #发送邮件提醒 连接邮箱服务器 发送邮件 关闭连接 分析可以看出…
前排提示:这个模块不是用于对陌生人进行短信轰炸和电话骚扰的,这个模块也没有这个功能,如果是抱着这个心态来的,可以关闭网页了 语言:python 步骤一:安装twilio模块 pip install twilio 步骤二:进入官网注册 https://www.twilio.com 注册完毕之后,会有一个调查,问你准备做什么项目,在这里先选择短信项目 项目创建之后,申请一个试用号码 在上方图片中有用的信息有三个:试用号码,账号SID,和验证令牌,后两个用右边的复制按钮进行复制 步骤三:绑定一个手机号…
来源于互联网 年代较长 如有侵犯 请联系删除 text模式主要发送字符集(有限的),不能用来发送中文,但是hex moder可以发送所有字符. pdu moder被所有手机支持,主要分为7bit 8bit ucs2 . 7bit 用于普通字符集  8 bit 用来发送短消息-图片铃声,ucs2 用来发送uincode 改变吗就是将单个字符转换为由0-9  a-f  pdu里面会包含发送方电话地址 共有三种方式来发送和接收SMS信息:Block Mode, Text Mode和PDU Mode.其…
最近发现原生短信应用的搜索功能的搜索结果十分不准确,所以就开始追踪代码: 关于android searchview的使用这里就不描述了,简单说一下,android的searchVIew是支持autocomplete的,也就是输入文字就会自动显示一个下拉的搜索结果,相当于快速显示,用户可以直接点击出现的结果进行进一步搜索:所以这里就存在了两次查找,两次查找都会最终在MmssmsProvider中完成,快速显示对应 URI_SEARCH_SUGGEST, 是输入文字发生变化时:一次是真正点击搜索后的…
函数 一.函数参数传值 形参:函数在定义的时候给定的参数 实参:函数在运行时赋给的参数: def func(i):#i为定义时的参数,为形参 pass func(name)#name为运行时的参数,为实参,实参与形参的名字可以相同 传值方式: 位置传值:按照定义时的顺序,用实参给形参赋值 def func(x,y,z): print("x->",x) print("y->",y) print("z->",z) func(1,2,…
一.collections系列 Counter是对字典类型的补充,用于追踪值的出现次数,具备字典的所有功能 + 自己的功能 1.计数器Counter import collections a='abababsbsbhh' c=collections.Counter(a) #直接列出每个元素出现了几次,传入列表和元组也一样 print(c) #输出:Counter({'b': 5, 'a': 3, 'h': 2, 's': 2}) #most_common 列出Counter内的前几个 print…
鸡汤: 多学习,多看书. 推荐书籍:<追风筝的人>,<林达看美国>,<白鹿原> 本节知识点 集合及其操作 文件操作 函数与函数式编程 递归 一.集合及其操作 集合(set):把不同的元素组成一起形成集合,是python基本的数据类型.下面是set的基本操作: 关系测试: #!/usr/bin/env python # -*- coding:utf-8 -*- #Author:wanghui #set_1 = set([123,345,678]) #创建set l1 =…
一.文件操作 文件操作分为三个步骤:文件打开.操作文件.关闭文件,但是,我们可以用with来管理文件操作,这样就不需要手动来关闭文件. 实现原理: import contextlib @contextlib.contextmanager def show(): print('123') yield print('456') with show(): print('777') print('888') print('999') 操作步骤 #windows下默认为gbk,要指定编码为'utf-8'…
本节内容一览图 一.函数介绍 1.什么是函数 2.定义一个函数 你可以定义一个由自己想要功能的函数,以下是简单的规则: 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 (). 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数. 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明. 函数内容以冒号起始,并且缩进. return [表达式] 结束函数,选择性地返回一个值给调用方.不带表达式的return相当于返回 None. 注意: 函数在执行过程中只要遇到…
内容大纲: 1.函数基本语法与特性 2.参数与局部变量 3.返回值 4.递归 5.匿名函数lambda 6.函数式编程介绍 7.高阶函数 8.内置函数 1.函数基本语法与特性 函数的定义:函数是指将一组语句的集合通过一个名字(函数名)封装起来,想要执行这个函数,只需要调用其函数名即可. BASIC中叫做subroutine(子过程或子程序),在Pascal中叫做procedure(过程)和function,在C中只有function,在Java里面叫做method. 特性:1.减少重复代码 2.…
request_foods=["tomato","beaf","milk"] for elements in request_foods: if elements=="beaf": print("sorry for that beaf is out of") else: print("add "+elements+".") print("\nfinished…
dongman =["huoying","sishen","si wang bi ji","pan ni de lu lu xiu"]; print(dongman[0:2]) print(dongman[1:4]) print(dongman[:3])#from the first one print(dongman[2:])# from third number to the last print(dongman[-3:]…
列表和字段都可以在原处进行修改,可以按照需求增长或缩短,并且可以包含任何类型的对象或被嵌套.列表和字典存储的是对象的引用,而不是拷贝. 一,列表 列表是有序的序列,每一个列表项的顺序是固定的,这使得列表可以通过指定的偏移来索引和分片.列表是可变的序列,支持在原处修改. 列表项可以是任何类型,或对象,也可以嵌套列表. 1,列表的创建 创建一个空的列表: >>> l=[] 创建一个纯数字列表: >>> l=[1,2,3] 创建一个数字和字符的混合类型列表: >>…
.pyc是个什么鬼? 1. Python是一门解释型语言? 我初学Python时,听到的关于Python的第一句话就是,Python是一门解释性语言,我就这样一直相信下去,直到发现了*.pyc文件的存在.如果是解释型语言,那么生成的*.pyc文件是什么呢?c应该是compiled的缩写才对啊! 为了防止其他学习Python的人也被这句话误解,那么我们就在文中来澄清下这个问题,并且把一些基础概念给理清. 2. 解释型语言和编译型语言 计算机是不能够识别高级语言的,所以当我们运行一个高级语言程序的时…
1 pycharm的下载安装 下载地址:https://www.jetbrains.com/pycharm/download/#section=windows ....安装没啥好说的 建议购买正版,其它途径http://idea.lanyus.com/  (注册码有效期为2017年10月15日至2018年10月14日) 2 pycharm的首次使用 第一步:创建一个新项目. 第二步:输入项目路径.项目名,选择python解释器. 在Location中填写项目路径.项目名; 在Base inter…
深浅拷贝 set是一个无序且不重复的元素集合访问速度快天生解决重复问题 #!/usr/bin/env python3 # -*- coding:utf-8 -*- #深浅拷贝 import copy #浅拷贝 #copy.copy() #深拷贝 #copy.deepcopy() #赋值 #字符串,数字,无论深拷贝浅拷贝还是赋值,永远指向内存的一块地址 a1 = "fdkoslagj" a2 = a1 print(id(a1)) print(id(a2)) #其他,元组,列表,字典 n1…
在实际的聚类应用中,通常使用k-均值和k-中心化算法来进行聚类分析,这两种算法都需要输入簇数,为了保证聚类的质量,应该首先确定最佳的簇数,并使用轮廓系数来评估聚类的结果. 一,k-均值法确定最佳的簇数 通常情况下,使用肘方法(elbow)以确定聚类的最佳的簇数,肘方法之所以是有效的,是基于以下观察:增加簇数有助于降低每个簇的簇内方差之和,给定k>0,计算簇内方差和var(k),绘制var关于k的曲线,曲线的第一个(或最显著的)拐点暗示正确的簇数. 1,使用sjc.elbow()函数计算肘值 sj…
一 存储引擎介绍 存储引擎即表类型,mysql根据不同的表类型会有不同的处理机制 详见:https://www.cnblogs.com/Forever-x/p/11317479.html 二 表介绍 表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段 id,name,qq,age称为字段,其余的,一行内容称为一条记录 三 创建表 #语法: create table 表名( 字段名1 类型[(宽度) 约束条件], 字段名2 类型[(宽度) 约束条…
https://www.t00ls.net/thread-49742-1-1.html…
基本数据类型之set set是无序不允许重复的集合 set创建:s = set() 创建空集合  s = {11,22,33} 转换s = set(可迭代数据) li = [11,22,33,44] s = set(li) print(s) #结果为{33, 11, 44, 22} 集合元素的添加与清空 se = {11,22,33} se.add(44) print(se) #结果为{33, 11, 44, 22} se.clear() print(se) #结果为set() set_name…
# 读取数数据, 查看数据结构 df_raw <- read.csv("sms_spam.csv", stringsAsFactors=F) str(df_raw) length(df_raw$type) # 将数据分为特征值矩阵 X 和 类标向量y 两部分,将 y 换为因子 X <- df_raw$text y <- factor(df_raw$type) length(y) # 查看类标向量 y 的结构和组成 str(y) table(y) # 安装和加载文本挖掘…
前言 本文将继续讲解K-近邻算法的项目实例 - 手写识别系统. 该系统在获取用户的手写输入后,判断用户写的是什么. 为了突出核心,简化细节,本示例系统中的输入为32x32矩阵,分类结果也均为数字.但对于汉字或者别的分类情形原理都是一样的. 有了前面学习的基础,下面直接进入项目开发步骤. 第一步:收集并准备数据 在用户主目录的trainingDigits子目录中,存放的是2000个样本数据. 每个样本一个文件,其中一部分如下所示: 文件命名格式为: 分类标签_标签内序号 如 0_20.txt 就表…
进入正文 今天跟大家分享的主题是利用python库twilio来免费发送短信. 先放一张成品图: 代码放在了本文最后的地址中 正文 眼尖的小伙伴已经发现了上面的短信的前缀显示这个短信来自于一个叫Twilio的免费的账户,今天我们用到的库就是twilio,既然是免费的账户,那么肯定是有一些限制的,这个会在后面提到. 另外要注意的是这个网站从国内访问的时候,可能会因为一些你懂得原因没法访问,那就只好学习一下怎么***了. 1.Twilio Twilio是一个做成开放插件的电话跟踪服务(call-tr…