如何解决从文本数据集中提取特征
我有一个关于文本数据集特征提取的查询。使用来自以下内容的预处理数据集:
预处理后的数据每个文档一行,每一行的格式为:
feature:<count> .... feature:<count> #label#:<label>
假设我们有两行:
<line 1> alpha: 3 beta:2 gamma: 1 delta: 0 echo:0 #label:1
<line 2> alpha: 0 foxtrot:0 mike: 0 beta: 1 delta:1 #label:0
所以我想提取特征,以便我得到:
到目前为止,我已经编写了这段代码,但无法继续:
import pandas as pd
dict={}
total=pd.DataFrame()
with open ('amazon_book.review','r') as data:
for i in range(3):
line=data.readline()
for word in line.split():
key,value=word.split(sep=":")
dict[key]=value
解决方法
请使用正则表达式。希望下面的代码有帮助。在数据帧总数中,您将获得所有特征和标签
import pandas as pd
import re
list_of_dict = []
str_feature_pattern = re.compile(r'(\w+\s*:\s+\d+)+')
str_label_pattern = re.compile(r'.*#(\w+:\d+)')
with open ('amazon_book.review','r') as data:
for i in range(3):
line=data.readline()
feature_match = str_feature_pattern.findall(line)
label_match = str_label_pattern.findall(line)
dict = {}
for f in feature_match:
vals = f.split(sep=":")
dict[vals[0]] = vals[1]
label_val = label_match[0].split(sep=':')
dict[label_val[0]] = label_val[1]
list_of_dict.append(dict)
total=pd.DataFrame(list_of_dict)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。