没有合适的资源?快使用搜索试试~ 我知道了~
首页Python数据预处理实战指南:提升模型精度的关键步骤
数据预处理笔记是一份深入探讨数据预处理重要性的学习资料,针对机器学习、深度学习等领域的数据准备工作展开。作者强调了数据预处理在实际项目中的关键作用,尤其是在面对复杂任务和不同语言数据时,数据质量的提升往往比优化算法模型更为显著。笔记详细介绍了数据预处理的必要性及其流程: 1. 数据预处理定义:数据预处理是将原始数据经过一系列处理,去除噪声、填充缺失值、标准化格式、特征选择和转换,使其转化为适合模型训练的高质量数据。这有助于提高模型的性能,尤其是在处理“的,是”等停用词时,可以避免这些无用特征对模型造成干扰。 2. 预处理流程: - 数据集成:整合来自不同数据源的信息,形成统一的数据存储,例如数据仓库。 - 数据清洗:包括填充缺失值、处理噪声、识别和处理异常值,确保数据的准确性和一致性。 - 数据变换:通过平滑、概括或规范化方法调整数据格式,使之适应算法模型的要求,如将数值范围缩放至0.0-1.0之间。 - 数据归约:对于大规模数据,通过降维技术(如PCA)生成更小但信息损失小的表示,以提高计算效率。 3. 学习内容覆盖Python 3.5开发环境下的数据预处理实践,使用PyCharm和Anaconda作为主要工具,支持最新的插件版本。这部分内容将着重介绍如何使用Python进行文本数据的抽取和处理,包括如何提取有用信息,去除噪声,以及如何进行特征工程。 该笔记不仅包含了理论概念,还包含了一些实用的代码示例和源码,适合初学者了解数据预处理的基本步骤,以及进阶开发者在实际项目中优化数据处理流程。对于想要提升数据驱动分析技能的读者来说,这是一份不可多得的参考资料。
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/12087483/bg10.jpg)
"""
1、引用外部文本抽取模块:import ExtractTxt as ET
2、参数方法使用:TraversalFun(rootDir,ET.File2Txt,saveDir)
3、 创建保存根目录:os.path.abspath
4、递归遍历文件:func(path,save_dir)
"""
class TraversalFun():
# 1、初始化,rootDir目标文件路径
def __init__(self,rootDir,func=None,saveDir=""): # saveDir:保存路径,
self.rootDir = rootDir # 目标文件夹路径
self.func = func # 方法参数,实现文本提取
self.saveDir = saveDir # 文件夹保存路径,
# 2、遍历目录文件—调用具体的遍历文件名函数
def TraversalDir(self):
# 分切文件目录和文件名
dirs,filename = os.path.split(self.rootDir)
print('dirs:',dirs) # 根路径
print('filename=',filename) # 文件夹名称
# 保存目录
save_dir = ""
if self.saveDir == "":
save_dir = os.path.abspath(os.path.join(dirs,'new_'+filename)) # 文件夹保存
的路径
else:save_dir = self.saveDir
print('save_dir=',save_dir) # 打印最新的文件夹所在路径
# 创建保存路径-创建目录文件
if not os.path.exists(save_dir):
os.makedirs(save_dir) # 创建文件路径
print("保存目录:",save_dir)
# 遍历文件并将其转化txt文件
TraversalFun.AllFiles(self, self.rootDir,save_dir) # 根路径和保存路径
# 3、递归算法遍历所有文件,并打印文件名(非目录文件)—具体的遍历文件名(递归遍历所有文件,并提供具体
文件操作功能)
def AllFiles(self,rootDir,save_dir=''):
# 返回指定目录包含的文件或文件夹的名字的列表
# 获取根目录下所有文件
for lists in os.listdir(rootDir):
# 待处理文件夹名称集合
path = os.path.join(rootDir,lists) # 路径拼接
# 核心算法:对文件类型信息抽取,并保存
if os.path.isfile(path): # 如果是文件
self.func(os.path.abspath(path),os.path.abspath(save_dir)) # 文件名和保
存路径
print('原始文件绝对路径:', os.path.abspath(path)) # 打印绝对路径
# 递归遍历文件目录
if os.path.isdir(path): # 如果是一个文件夹
newpath = os.path.join(save_dir,lists) # save_dir+列表
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
![](https://csdnimg.cn/release/download_crawler_static/12087483/bg11.jpg)
第三章 清洗文本数据
本章节主要学习:
1. 准备30万条新闻数据
2. 正则清洗数据
3. Yield生成器
4. 清洗HTML数据
5. 递归读取30万新闻
6. 简繁字体转换
7. 高效读取30万新闻
8. 实战案例30万新闻文本数据清洗
一、数据集准备
if not os.path.exists(newpath): # 如果不存在这样的路径
os.mkdir(newpath) # 创建
TraversalFun.AllFiles(self, path,newpath) # 递归调用函数
if __name__=='__main__':
time_start = time.time() # 起始时间
# 根目录文件路径
rootDir = os.path.abspath(r'../dataSet/Corpus/EnPapers')
# 自定义保存路径
#saveDir = r'../Corpus'
#tra = TraversalFun(rootDir,ET.Files2Txt,saveDir)
# 默认方法参数打印所有文件路径
tra = TraversalFun(rootDir,ET.Files2Txt) # 参数二:文本抽取的方法,保存路径可以为空,
tra.TraversalDir() # 调用一下参数的方法
time_end = time.time() # 终止时间
print('Totall cost:',(time_end-time_start)*1000,'ms')
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
![](https://csdnimg.cn/release/download_crawler_static/12087483/bg12.jpg)
关于数据集的准备,此处就先不详细说明了,具体哪里用到再议。
二、yield生成器
算法思路:
1. 菲波那切数列介绍和数学描述
2. 斐波那锲数列算法实现
3. 斐波那锲数列算法生成器实现
4. 算法时间性能对比分析
2.1 斐波那锲数列算法实现
2.2 斐波那锲数列算法生成器实现
"""
author:jjk
datetime:2019/11/22
coding:utf-8
project name:Pycharm_workstation
Program function:
"""
import time
"""
斐波那锲数列:1,1,2,3,5,8,13,21,34,55,89,144...
从数列的第三项开始,后面每一项是前面两项之和
数学描述:F(0)=1,F(1)=1,...F(n)=F(n-1)+F(n-2) (n>=2,n∈N*)
"""
# 普通的斐波那锲数列
def fab1(max):
n,a,b = 0,0,1 # a=0,b=1
while n<max:
if n<20: print('->',b)
# print('->',b)
a,b = b,a+b
n = n+1 # n表示最大的第几项
def GeneratorDome():
maxnum = 100000 # 最大迭代数
time_start = time.time()
fab1(maxnum)
time_end = time.time()
print('Fab1 Total Time %.f:' % ((time_end-time_start)*1000) + 'ms') # 输出耗费时间
if __name__ == '__main__':
GeneratorDome() # 实例化
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
"""1
![](https://csdnimg.cn/release/download_crawler_static/12087483/bg13.jpg)
三、递归遍历读取30万新闻数据
author:jjk
datetime:2019/11/22
coding:utf-8
project name:Pycharm_workstation
Program function: 实现普通的斐波那锲数列和yield实现斐波那锲数列
"""
import time
"""
斐波那锲数列:1,1,2,3,5,8,13,21,34,55,89,144...
从数列的第三项开始,后面每一项是前面两项之和
数学描述:F(0)=1,F(1)=1,...F(n)=F(n-1)+F(n-2) (n>=2,n∈N*)
"""
# 普通的斐波那锲数列
def fab1(max):
n,a,b = 0,0,1 # a=0,b=1
while n<max:
if n<20: print('->',b)
# print('->',b)
a,b = b,a+b
n = n+1 # n表示最大的第几项
# 斐波那锲数列算法生成器实
def fab2(max):
n,a,b = 0,0,1
while n<max:
yield b # #yield是一个关键词,类似return, 不同之处在于,yield返回的是一个生成器
# return b
a,b = b,a+b
n = n + 1
def GeneratorDome():
maxnum = 500000 # 最大迭代数
# 普通算法实现斐波那锲数列
t1 = time.time()
fab1(maxnum)
t2 = time.time()
print('Fab1 Total Time %.f:' % ((t2-t1)) + 's') # 输出耗费时间
# yield生成器实现斐波那锲数列
t3 = time.time()
b = fab2(maxnum)
t4 = time.time()
print('Fab2 Total Time %.f:' % ((t4 - t3)) + 's') # 输出耗费时间
if __name__ == '__main__':
GeneratorDome() # 实例化
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
![](https://csdnimg.cn/release/download_crawler_static/12087483/bg14.jpg)
3.1 普通算法
算法思路
1. 实现文件遍历递归算法回顾
2. 遍历读取30万新闻
3. 每万条读取打印一次屏幕
4. 完成30万新闻遍历读
实现步骤:
返回指定目录包含的文件或者文件夹的名字的列表
1. 获取待处理文件夹名字列表
2. 实现对文件的具体操作:判断路径是否是一个文件,如果是一个文件,实现具体的打印操作;递归遍历文
件目录:如果是一个目录,进行调用边路目录文件函数。
3. 实现主函数:赋予需要读取文件的绝对路径。
源码
"""
author:jjk
datetime:2019/11/22
coding:utf-8
project name:Pycharm_workstation
Program function: 递归批量到处去30w新闻文本
"""
import os,time
"""
功能描述:遍历目录,对子文件单独处理
"""
# 遍历目录文件
def TraversalDir(rootDir):
# 返回指定目录包含的文件或文件夹的名字的列表
for i, lists in enumerate(os.listdir(rootDir)): # 枚举的方式(listdir返回指定的文件夹包
含的文件或文件夹的名字的列表)
# 待处理文件夹名字列表
path = os.path.join(rootDir,lists) #拼接
# 核心算法,对文件具体操作
if os.path.isfile(path):# 如果这个路径是一个文件
if i%10000 == 0:
print('{t} *** {i} \t docs has been
read'.format(i=i,t=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())))
# 递归遍历文件目录
if os.path.isdir(path):# 如果是一个目录
TraversalDir(path)
if __name__ == '__main__':
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
剩余120页未读,继续阅读
![.pdf](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![xlsx](https://img-home.csdnimg.cn/images/20210720083732.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://profile-avatar.csdnimg.cn/ccf15617c41d4768a558ab668f81ccab_jiajikang_jjk.jpg!1)
jjkqjj
- 粉丝: 617
- 资源: 11
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 中国微型数字传声器:技术革新与市场前景
- 智能安防:基于Hi3515的嵌入式云台控制系统设计
- 手机电量低时辐射真增千倍?解析手机使用谣言
- 56F803型DSP驱动的高精度大功率超声波电源控制策略研究
- ARM与GPRS结合的远程监测系统设计
- GPS与RFID技术结合的智能巡检系统设计
- CPLD驱动的低功耗爆炸场温度测试系统设计
- 基于FPGA的智能驱动控制系统:可扩展设计与工业网络协议
- 基于ATmega128和CH374的嵌入式USB接口设计
- 基于AT89C52的温度补偿超声波测距仪:高精度设计与应用
- MSP430F448单片机在交流数字电压表中的应用
- 提升变频器应用效率的12项实用技巧
- STM32F103在数字电镀电源并联均流系统中的应用
- PSpice仿真下的升压开关电源设计:拓扑分析与CCM稳定性提升
- 轻巧高效:MSP430主导的低成本无线传感器网络节点设计
- FPGA在EDA/PLD中实现LVDS接口的应用解析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)