TF-IDF +多分类逻辑回归问题文本预处理部分

语法积累:

以下实例展示了strip()函数的使用方法:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
jieba.cut () 出来的都是都是单个的词
" ",join() 可以将单个词连接在一起

import pandas as pd
import numpy as np

读取的注意没有列索引影响的情况

train_df = pd.read_csv('3.0text_train.txt', sep='\t', header=None)
# header=None,告诉函数读取的原始文件数据没有列索引;否则会把数据的第一行默认为字段名标题
print(train_df.shape)
train_df.head()

在这里插入图片描述

test_df = pd.read_csv('3.0text_test.txt', sep='\t', header=None)
print(test_df.shape)
test_df.head()

在这里插入图片描述
在这里插入图片描述

train_df = train_df.sample(frac=0.35, random_state=1)
test_df = test_df.sample(frac=0.35, random_state=1)
``

# ` **重命名表名**

```python
# 重命名列名,第1列为每个样本的分类标签,第2列为每个样本对应的文本

train_df=train_df.rename(columns={0:'category', 1:'text'})
test_df=test_df.rename(columns={0:'category', 1:'text'})
train_df.head(3)
train_df.groupby('category').count()

在这里插入图片描述
在这里插入图片描述

读取停顿词

#读取包含停顿词的txt文件赋值给stopWordlist
with open('C:/Users/lb/Desktop/test/3.0stopwords.txt',encoding = 'utf8' ) as file :
    stopWordlist = [  k.strip()   for k in file.readlines() ] #空格 \n 过滤
with open('3.0stopwords.txt', encoding='utf8') as file:
print([k.strip() for k in file.readlines()])

在这里插入图片描述

分词:

在这里插入图片描述

import jieba
import time

train_df.columns = ['分类', '文章']  #dataframe.columns
stopword_list = [k.strip() for k in open('3.0stopwords.txt', encoding='utf8').readlines() if k.strip() != '']

cutWords_list = []

i = 0
startTime = time.time()

for article in train_df['文章']:
    #使用jieba的cut方法分词,同时过滤掉停顿词
    cutWords = [k for k in jieba.cut(article) if k not in stopword_list]
    i += 1
    if i % 1000 == 0:
        print('前%d篇文章分词共花费%.2f秒' %(i, time.time()-startTime))
    cutWords_list.append(cutWords)

在这里插入图片描述
分词结果写进文件:
注意加一个换行符

with open('3.0cutWords_list.txt', 'w') as file: 
    for cutWords in cutWords_list:
        file.write(' '.join(cutWords) + '\n')

读取完成了的分词结果

with open('3.0cutWords_list.txt') as file:
    cutWords_list = [k.split() for k in file.readlines()]
print(len(cutWords_list))
print(len(cutWords_list[0]))

在这里插入图片描述
第0行

print(cutWords_list[0])

在这里插入图片描述
利用 “” join 连接在一起

" ".join(cutWords_list[0])

在这里插入图片描述
所有的连接起来:

document = [" ".join(sent0) for sent0 in cutWords_list]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值