如何_从_两_列_ ( _标签_ 、 _文本_ ) _数据_源_开始_进行_文本_分类_ ?_

2024-06-08 18:19:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我们收到第三方的虐待投诉。我以XML格式导出了大量的投诉,然后将它们编译成一个pandas DataFrame(),同时将电子邮件地址、主机名、url和IP地址清除如下。在

档案学习_数据.txt'由数千行组成,每行都是这样的:

<label>:<a long string of text>

目前为止的脚本

^{pr2}$

输出

                                                   label                                               text
8            Attacks and Reconnaissance__SSH Brute Force   Abuse from ... Dear Administrator,  We have d...
9                        Malicious Code/Traffic__Unknown    - [ Vulnerable Host in Canada] In support of...
10               Fraud__Copyright/Trademark Infringement   Unauthorized Use of Copyrights RE: TC--b--- *...
...                                                  ...                                                ...
43635                    Malicious Code/Traffic__Unknown   tdss report about ... last detected -- :: Sec...
43636                                    Fraud__Phishing   Issue : phishing attack at /// Dear Sir or Ma...

标签格式是“uuuu”,因为我不希望进行多个分类,如果有的话。在

我看到的所有关于机器学习和文本分类的演示都使用一些黑匣子数据源,比如20个新闻组等等。因为我从我自己的数据开始,我就很难把它编入示例/教程中。在

编辑:我使用的是python3.6.6

从这里我要去哪里?在

我应该用sklearn还是其他图书馆?Pythorch公司?如何从文本中生成特征并将其添加到标签中?如何写出所学的数据,然后使用另一个脚本使用该数据集预测新文本的标签?在

我在这里从头开始学习机器,但是我已经用Python做了大量与机器学习无关的工作。在


Tags: of数据text文本脚本机器格式code
1条回答
网友
1楼 · 发布于 2024-06-08 18:19:01

您可以使用SKLearnCountVectorizerTF-IDF。以下是一种方法的粗略支出:

from sklearn.feature_extraction.text import CountVectorizer

from sklearn.ensemble import RandomForestClassifier  
from sklearn.preprocessing import LabelEncoder
from sklearn.model_selection import train_test_split

count_vect = CountVectorizer()

text = ['text1', ..] 

targets = ['abuse', ...]

matrix = count_vect.fit_transform(text)

encoder = LabelEncoder()
targets = encoder.fit_transform(targets)

randomForest = RandomForestClassifier()

randomForest.fit(matrix, targets)

相关问题 更多 >