我使用下面的方法来训练一个线性回归器来预测推文的转发。我使用“text”作为特征,“retweet_count”作为要预测的目标。然而,我的数据中有几个额外的特征,例如hasMedia,hasHashtag,followers_count,sentiment(这些都是数字特征)。如何将这些功能与已转换为tfidf矢量的“text”组合合并?
我已经试过把Pandas串起来了。然后当我给予新的测试数据时,特征不匹配。请在Attributes mismatch between training and testing data in sklearn - linear regression中查看我的问题
def predict_retweets(dataset):
tfidf = TfidfVectorizer(tokenizer=identity_tokenizer, stop_words='english', lowercase=False)
keyword_response = tfidf.fit_transform(dataset['text']).toarray()
X = keyword_response
y = dataset['retweet_count']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
regressor = LinearRegression()
regressor.fit(X_train, y_train)
y_pred = regressor.predict(X_test)
df = pd.DataFrame({'Actual': y_test, 'Predicted': y_pred})
print(df)
return None
数据样本
1条答案
按热度按时间nmpmafwu1#
我想这个问题已经无关紧要了,但也许这可以帮助别人。
解决方案是使用numpy的hstack。
代码如下: