自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 收藏
  • 关注

原创 Python安装Factory/faker失败的解决办法:ModuleNotFoundError: No module named ‘faker‘

Python安装Factory/faker失败的解决办法:ModuleNotFoundError: No module named 'faker'

2023-03-01 10:59:40 1260 3

原创 适用Mac的Python学习资源

莫烦python:https://mofanpy.com。推荐理由:由于mac和win系统的差别,因此在mac和win上编程和使用python等也会有一些差别,所以想给大家推荐一个最近发现的适用于mac系统的python学习资源,特别适合我这种技术不好的小渣渣。这个教程不需要考虑mac和win上编写和运行代码的差别,不会出现看的win系统的python教程,但是copy到mac系统上运行不了的情况。当然,如果是技术大神可以忽略这一点。这个教程里面包含python的基础教程,以及基于python的数据

2020-11-27 19:36:56 225 1

原创 WEKA中文乱码解决方法

测试环境:win7  32位  weka3.8乱码原因:weka默认的字符集编码是Cp1252,如果导入的数据中有中文字符,就会显示为乱码。解决办法:1、打开weka安装目录下的RunWeka.ini文件,找到【fileEncoding=】这一行,将Cp1252编码改为需要的字符集编码,比如utf-8,cp936(简体中文),cp950(繁体中文)。# The fi

2016-08-28 13:43:09 5470

原创 Python进行文本预处理(文本分词,过滤停用词,词频统计,特征选择,文本表示)

系统:win7 32位分词软件:PyNLPIR集成开发环境(IDE):Pycharm功能:实现多级文本预处理全过程,包括文本分词,过滤停用词,词频统计,特征选择,文本表示,并将结果导出为WEKA能够处理的.arff格式。直接上代码:#!/usr/bin/env python# -*- coding: utf-8 -*-"""功能:PyNLPIR文

2016-08-25 15:28:51 64041 14

原创 【python问题解决】去除文本中的所有换行符

#使用strip()去掉字符串前后的换行f = codecs.open('C:\\Users\\Administrator\\Desktop\\textmining_experiment2\\wordseg\\traintxt500\\%d\\%d.txt' % (j,i),'r',"gb18030") for line in f: s += line.

2016-07-14 23:36:56 10955

原创 【python问题解决】UnicodeDecodeError :'gb2312' codec can't decode bytes:illegal multibyte sequence

错误提示:UnicodeDecodeError :'gb2312' codec can't decode bytes in position 2-3:illegal multibyte sequence意思是:将一个字符串,通过gb2312的方式,去解码,想要获得Unicode字符串,结果出错了 解决方法:处理的字符的确是gb2312的,但是其中夹杂的部分特殊字符,是gb2312编码中

2016-07-14 23:30:58 39055 13

原创 【python问题解决】RuntimeError:NLPIR function 'NLPIR_Init' failed

1、实验过程:在pycharm中新建项目textmining,在项目下新建文件夹File,将pynlpir文件夹添加到该文件夹后,运行分词测试程序:#!/usr/bin/env python# -*- coding: utf-8 -*-"""功能:测试PyNLPIR包时间:2016年7月13日 13:02:37"""import pynlpirpynlpir.open()

2016-07-14 13:20:01 4383

原创 Pycharm简介和下载安装

一、PyCharm简介PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。二、PyCharm下载安装1、到pycharm官网https://www.

2016-07-14 13:02:38 1137

原创 PyNLPIR简介和下载安装

1、简介:PyNLPIR中文分词软件的python包。 2、下载地址:https://pypi.python.org/pypi/PyNLPIR/0.4.1#downloads下载PyNLPIR-0.4.1.tar.gz (md5)压缩包 3、安装:将下载的压缩包解压缩,得到一个文件夹PyNLPIR-0.4.1,安装完成

2016-07-14 12:56:32 4704

原创 TF-IDF值和文本向量化

根据提取的特征词计算特征值,即TF-IDF。采用向量空间模型(VSM)将文档表示成向量,并将文档输出为WEKA能处理的.arff格式。直接上代码:#!/user/bin/python# -*- coding: utf-8 -*-import codecsimport math# 特征词列表feture_word = [] # 存放特征词feture_word_dic =

2016-07-11 19:06:44 8625 2

原创 特征选择

文本特征提取的方法很多,如基于文本频率的特征提取法、信息增益法、卡方检验法和互信息法等。本文采用基于文本特征频率的提取法,计算文档频率DF,即计算出现某个term在同类文档中的DF。根据计算出来的DF值来选取能代表某类文档的特征词,本实验按DF从高到低,取每类文本前50个term作为特征词,共450个,去重后得到287个特征词。直接上代码:#!/usr/bin/env python# -

2016-07-11 19:00:08 1187

原创 词频统计

词频统计TF是统计一个term在文本中出现的次数,一般来说,一个term在某类文本中出现的次数越多,就越能代表一类文本。当然,如果某个term在一类文本中出现的次数越多而在其他类文本里根本不出现,就更能代表这一类文本。直接上代码:#!/usr/bin/env python# -*- coding: UTF-8 -*-for j in range(1,10): for i in

2016-07-11 18:57:30 1924

原创 去停用词

停用词是一些完全没有用或者没有意义的词,例如助词、语气词等。本文的停用词表是笔者首先从网上下载的哈工大停用词表,含有767个停用词,过滤掉训练集中的停用词。由于停用词过滤得不干净,于是整合了其他词表,结合笔者自己根据实验需求制作的停用词,进行二次过滤。直接上代码:# -*- coding: UTF-8 -*- stopwords=[]st = open('/Users/Admini

2016-07-11 18:54:43 13733

原创 Python调用NLPIR/ICTCLAS进行文本分词

本文采用搜狗中文语料库mini版的文本数据,共九类(财经、IT、健康、体育、旅游、教育、招聘、文化、军事),每个类别共1990个文本,并在实验前通过.py程序抓取前500个文本数据作为训练集。数据预处理包括文本分词、去停用词、词频统计、特征选择、采用向量空间模型表示文档等。接下的几篇博文将按照这几个歩棸对文本进行预处理。文本分词主要通过Python调用中科院计算所汉语词法分析系统NLPIR

2016-07-11 18:44:50 11816 3

原创 【Python学习笔记】正则表达式

【根据廖雪峰python教程整理】字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在。比如判断一个字符串是否是合法的Email地址,虽然可以编程提取@前后的子串,再分别判断是否是单词和域名,但这样做不但麻烦,而且代码难以复用。 正则表达式是一种用来匹配字符串的强有力的武器。它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串

2016-07-11 18:30:28 1309

原创 【Python学习笔记】IO编程:序列化

【根据廖雪峰python教程整理】在程序运行的过程中,所有的变量都是在内存中,比如,定义一个dict:d = dict(name='Bob', age=20, score=88)可以随时修改变量,比如把name改成'Bill',但是一旦程序结束,变量所占用的内存就被操作系统全部回收。如果没有把修改后的'Bill'存储到磁盘上,下次重新运行程序,变量又被初始化为'Bob'。

2016-07-11 17:24:15 412

原创 【Python学习笔记】IO编程:操作文件和目录

【根据廖雪峰python教程整理】如果我们要操作文件、目录,可以在命令行下面输入操作系统提供的各种命令来完成。比如dir、cp等命令。 如果要在Python程序中执行这些目录和文件的操作怎么办?其实操作系统提供的命令只是简单地调用了操作系统提供的接口函数,Python内置的os模块也可以直接调用操作系统提供的接口函数。 打开Python交互式命令行,我们来看看如何使

2016-07-11 17:08:54 705

原创 【Python学习笔记】IO编程:文件读写

【根据廖雪峰python教程整理】读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数

2016-07-11 16:59:09 975

原创 【Python学习笔记】IO编程

【根据廖雪峰python教程整理】IO在计算机中指Input/Output,也就是输入和输出。由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘、网络等,就需要IO接口。 比如你打开浏览器,访问新浪首页,浏览器这个程序就需要通过网络IO获取新浪的网页。浏览器首先会发送数据给新浪服务器,告诉它我想要首页的HTML,这个动作是

2016-07-11 16:38:31 599

原创 【Python学习笔记】文档测试

【根据廖雪峰python教程整理】如果你经常阅读Python的官方文档,可以看到很多文档都有示例代码。比如re模块就带了很多示例代码:>>> import re>>> m = re.search('(?>>> m.group(0)'def'可以把这些示例代码在Python的交互式环境下输入并执行,结果与文档中的示例代码显示的一致。 这些代码与其他说明可以

2016-07-11 16:27:59 418

原创 【Python学习笔记】单元测试

【根据廖雪峰python教程整理】如果你听说过“测试驱动开发”(TDD:Test-Driven Development),单元测试就不陌生。 单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。比如对函数abs(),我们可以编写出以下几个测试用例:输入正数,比如1、1.2、0.99,期待返回值与输入相同;输入负数,比如-1、-1.2、-0.9

2016-07-11 16:23:33 367

原创 【Python学习笔记】调试

【根据廖雪峰python教程整理】程序能一次写完并正常运行的概率很小,基本不超过1%。总会有各种各样的bug需要修正。有的bug很简单,看看错误信息就知道,有的bug很复杂,我们需要知道出错时,哪些变量的值是正确的,哪些变量的值是错误的,因此,需要一整套调试程序的手段来修复bug。 一、第一种方法简单直接粗暴有效,就是用print把可能有问题的变量打印出来看看:# er

2016-07-11 16:10:35 364

原创 【Python学习笔记】错误处理

【根据廖雪峰python教程整理】在程序运行的过程中,如果发生了错误,可以事先约定返回一个错误代码,这样,就可以知道是否有错,以及出错的原因。在操作系统提供的调用中,返回错误码非常常见。比如打开文件的函数open(),成功时返回文件描述符(就是一个整数),出错时返回-1。 用错误码来表示是否出错十分不便,因为函数本身应该返回的正常结果和错误码混在一起,造成调用者必须用大量的代码来判

2016-07-11 15:53:59 516

原创 【Python学习笔记】错误、调试和测试

【根据廖雪峰python教程整理】在程序运行过程中,总会遇到各种各样的错误。 有的错误是程序编写有问题造成的,比如本来应该输出整数结果输出了字符串,这种错误我们通常称之为bug,bug是必须修复的。 有的错误是用户输入造成的,比如让用户输入email地址,结果得到一个空字符串,这种错误可以通过检查用户输入来做相应的处理。 还有一类错误是完全无法在程序运行过程

2016-07-11 15:35:50 499

原创 【Python学习笔记】面向对象编程:获取对象信息

【根据廖雪峰python教程整理】当我们拿到一个对象的引用时,如何知道这个对象是什么类型、有哪些方法呢? 一、使用type()首先,我们来判断对象类型,使用type()函数:基本类型都可以用type()判断:>>> type(123)>>> type('str')>>> type(None)如果一个变量指向函数或者类,也可以用type()

2016-07-11 15:31:21 433

原创 【Python学习笔记】面向对象编程:继承和多态

【根据廖雪峰python教程整理】一、继承在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类、父类或超类(Base class、Super class)。 比如,我们已经编写了一个名为Animal的class,有一个run()方法可以直接打印:class A

2016-07-11 15:14:23 1390

原创 【Python学习笔记】面向对象编程:访问限制

【根据廖雪芳python教程整理】在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑。 但是,从前面Student类的定义来看,外部代码还是可以自由地修改一个实例的name、score属性:>>> bart = Student('Bart Simpson', 98)>>> bart.score98

2016-07-11 15:02:59 457

原创 【Python学习笔记】面向对象编程:类和实例

【根据廖雪峰python教程整理】一、面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同。 仍以Student类为例,在Python中,定义类是通过class关键字:class Student(object):

2016-07-11 13:45:38 617

原创 【Python学习笔记】面向对象编程

【根据廖雪峰python教程整理】面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。 面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行。为了简化程序设计,面向过程把函数继续切分为子函数,即把大块函数通过切割成小块函数来降低系统的复

2016-07-11 13:34:13 460

原创 【Python学习笔记】使用__future__

【根据廖雪峰python教程整理】使用__future__ Python的每个新版本都会增加一些新的功能,或者对原来的功能作一些改动。有些改动是不兼容旧版本的,也就是在当前版本运行正常的代码,到下一个版本运行就可能不正常了。 从Python 2.7到Python 3.x就有不兼容的一些改动,比如2.x里的字符串用'xxx'表示str,Unicode字符串用u'xxx

2016-07-11 13:19:45 462

原创 【Python学习笔记】第三方模块

【根据廖雪峰python教程整理】一、在Python中,安装第三方模块,是通过setuptools这个工具完成的。Python有两个封装了setuptools的包管理工具:easy_install和pip。目前官方推荐使用pip。 如果你正在使用Mac或Linux,安装pip本身这个步骤就可以跳过了。 如果你正在使用Windows,请参考安装Python一节的内容,

2016-07-11 13:12:47 540

原创 【Python学习笔记】使用模块

【根据廖雪峰python教程整理】一、Python本身就内置了很多非常有用的模块,只要安装完毕,这些模块就可以立刻使用。 我们以内建的sys模块为例,编写一个hello的模块:#!/usr/bin/env python# -*- coding: utf-8 -*- ' a test module ' __author__ = 'Michael Lia

2016-07-11 13:07:59 472

原创 【Python学习笔记】模块

【根据廖雪峰python教程整理】在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在Python中,一个.py文件就称之为一个模块(Module)。 使用模块有什么好处?最大的

2016-07-11 12:50:22 477

原创 【Python学习笔记】函数式编程:偏函数

【根据廖雪峰python教程整理】Python的functools模块提供了很多有用的功能,其中一个就是偏函数(Partial function)。要注意,这里的偏函数和数学意义上的偏函数不一样。 在介绍函数参数的时候,我们讲到,通过设定参数的默认值,可以降低函数调用的难度。而偏函数也可以做到这一点。举例如下: int()函数可以把字符串转换为整数,当仅传入字符串时

2016-07-10 21:45:57 590

原创 【Python学习笔记】函数式编程:装饰器

【根据廖雪峰python教程整理】由于函数也是一个对象,而且函数对象可以被赋值给变量,所以,通过变量也能调用该函数。>>> def now():...     print '2013-12-25'...>>> f = now>>> f()2013-12-25 函数对象有一个__name__属性,可以拿到函数的名字:>>> now.__name__

2016-07-10 21:39:21 416

原创 【Python学习笔记】函数式编程:匿名函数lambda

【根据廖雪峰python教程整理】当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便。 在Python中,对匿名函数提供了有限支持。还是以map()函数为例,计算f(x)=x2时,除了定义一个f(x)的函数外,还可以直接传入匿名函数:>>> map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9])[1

2016-07-10 21:25:11 1862

原创 【python学习笔记】函数式编程:返回函数

【根据廖雪峰python教程整理】函数作为返回值 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回。 我们来实现一个可变参数的求和。通常情况下,求和的函数是这样定义的:def calc_sum(*args):    ax = 0    for n in args:        ax = ax + n    return ax但

2016-07-10 21:19:54 347

原创 【Python学习笔记】函数式编程:高阶函数sorted

【根据廖雪峰python教程整理】排序算法 排序也是在程序中经常用到的算法。无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小。如果是数字,我们可以直接比较,但如果是字符串或者两个dict呢?直接比较数学上的大小是没有意义的,因此,比较的过程必须通过函数抽象出来。通常规定,对于两个元素x和y,如果认为x ,则返回-1,如果认为x == y,则返回0,如果认为x

2016-07-10 21:07:36 467

原创 【Python学习笔记】函数式编程:高阶函数filter

【根据廖雪峰python教程整理】 Python内建的filter()函数用于过滤序列。 和map()类似,filter()也接收一个函数和一个序列。和map()不同的时,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。 例如,在一个list中,删掉偶数,只保留奇数,可以这么写:def is_odd(n)

2016-07-10 20:51:29 1222

原创 【Python学习笔记】函数式编程:高阶函数map和reduce

【根据廖雪峰python教程整理】Python内建了map()和reduce()函数。 如果你读过Google的那篇大名鼎鼎的论文“MapReduce: Simplified DataProcessing on Large Clusters”,你就能大概明白map/reduce的概念。 一、map我们先看map。map()函数接收两个参数,一个是函数,一

2016-07-10 20:07:06 1636

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除