【发布时间】:2020-02-11 07:21:58
【问题描述】:
clean_train_reviews 是 list 的 strings。
每个字符串都是一条评论,下面包含一个示例:
经典的战争世界蒂莫西·海因斯娱乐电影显然是 竭尽全力忠实再现 h g wells 经典书籍 mr 海因斯成功观看电影欣赏事实标准可预测 好莱坞票价每年都会出现,例如斯皮尔伯格版汤姆克鲁斯 半点相似的书显然每个人看起来都不一样 电影设想业余评论家看起来批评别人评价的一切 电影重要的基地,如娱乐的人从不同意评论家 享受努力,海因斯先生把忠实的 h g 威尔斯经典小说找到 娱乐性容易被忽视 批评者认为缺点
使用下面初始化的vectorizer,将上面的字符串转换成如下形式的特征向量:
(sentence_index, feature_index) 计数
一个例子是:
(0, 1905) 3
这意味着“一个 id 为 0 且 id 或索引为 1905 的特征的句子在此字符串中出现了 3 次。
vectorizer = CountVectorizer(analyzer = "word", \
tokenizer = None, \
preprocessor = None, \
stop_words = None, \
max_features = 5000)
train["sentiment"] 是一串 1 和 0(1=正面情绪,0=负面情绪)
train_data_features = vectorizer.fit_transform(clean_train_reviews)
forest = RandomForestClassifier(n_estimators = 100)
forest = forest.fit( train_data_features, train["sentiment"] )
我的问题是:
随机森林在特征向量(所有数值)和情绪(同样是数值)上进行训练。但是测试数据集是纯文本英文。当训练好的模型在测试数据上运行时,模型如何知道如何处理测试数据中的纯文本,因为模型是
只对特征向量进行训练,这些向量只是数字?或者forest 对象是否保留了有关训练数据中纯文本的信息?
【问题讨论】:
标签: python nlp random-forest kaggle