ML算法的文本和数值列组合

2024-05-16 01:54:04 发布

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

这里我处理的是一个情感分类问题,我必须预测tweet是正面的、负面的还是中性的。以下是我的数据集简介:

tweet_id   airline_sentiment_confidence   negativereason   negativereason_confidence   airline   name   retweet_count   text   tweet_created   tweet location   user_timezone   airline_sentiment
Tr_tweet_1   1.000                          NaN             NaN                        Virgin America    0             tweets   date               Location        Time             Positive
Tr_tweet_2   0.3846                         NaN             0.7033                     Virgin America    0             tweets   date               Location        Time             Negative
Tr_tweet_3   0.6837                         Bad flight      0.3342                     Virgin America    0             tweets   date               Location        Time             Negative
Tr_tweet_4   1.000                          Can't tell      1.000                      Virgin America    0             tweets   date               Location        Time             Neutral   
Tr_tweet_5   1.000                          NaN             NaN                        Virgin America    0             tweets   date               Location        Time             Neutral   

然而text是我在我的TfIdf_Vectorizer中使用{}预测情绪的列。然而,我得到的~68%的准确度很低,这是一个纯粹的NLP问题。不过,如果我能用上其他功能,它们肯定会提高我的准确性。在

我很想知道如何将其他数字和文本列(如negativereason)作为特性与我的text列结合起来,以提高我的准确性。在

或者有什么方法可以在这里完成?比如将Tfidf的预测组合起来,然后再次使用rest数值列进行预测?在

TL;DR如何将数字和文本列作为特征来进行良好的预测?在


Tags: textdatetimelocationnantrtweetstweet
1条回答
网友
1楼 · 发布于 2024-05-16 01:54:04

其中一个方法是,正如你提到的,是堆叠。您可以将每个tweet表示为一个特征向量,其中向量中的每个位置表示一个单词/术语,其值是单词的tf idf值。然后,您可以将每条tweet的tf idf vector与剩余的数字列串联起来,然后将这些向量叠加在一起,得到一个矩阵(一旦有了矩阵,就可以开始尝试不同的机器学习模型!)在

注意一下,一旦您为每个tweet设置了tf-idf向量,那么运行一个维数缩减算法(如PCA)可能是有意义的,因为您将处理一个大而稀疏的向量。另外,根据您的数据,规范化每个连接的向量可能是有意义的(例如,使所有的值都是0-1)。最后,通常单个tweet的文本信息不够丰富。您可能需要考虑将类似的tweet聚合在一起以获得更好的结果。在

相关问题 更多 >