sklearn Logistic Regression - 使用来自外部测试数据的自定义输入进行预测
Posted
技术标签:
【中文标题】sklearn Logistic Regression - 使用来自外部测试数据的自定义输入进行预测【英文标题】:sklearn Logistic Regression - Make prediction with custom input from outside testing data 【发布时间】:2020-06-08 17:32:06 【问题描述】:我正在使用 sklearn 进行逻辑回归,以根据某些描述预测某些类别。这是目前的代码
X_Train, X_Test, y_train, y_test = train_test_split(df['description'], df['category'])
count_vect = CountVectorizer()
X_Train_counts = count_vect.fit_transform(X_Train)
tfidf_transformer = TfidfTransformer()
X_Train_tfidf = tfidf_transformer.fit_transform(X_Train_counts)
# Fit the logistic regression model
clf = LogisticRegression(random_state=0, class_weight='balanced', solver='lbfgs', max_iter=1000)
clf.fit(X_Train_tfidf, y_train)
要手动检查我的预测,我会这样做
# Make predictions
predictions = clf.predict(tfidf_transformer.transform(count_vect.transform(X_Test)))
print(X_Test.iloc[7])
print(predictions[7])
我的问题是如何通过从测试数据外部手动提供自定义 description
来预测 category
(例如,我手动输入)
如果可能的话,是否还有一种方法可以获得该自定义文本的前 n 个预测类别?
【问题讨论】:
【参考方案1】:你应该可以做这样的事情:
your_description = "some text"
vectorized = tfidf_transformer.transform(count_vect.transform([your_description]))
predictions = clf.predict(vectorized.reshape(-1, 1))
【讨论】:
以上是关于sklearn Logistic Regression - 使用来自外部测试数据的自定义输入进行预测的主要内容,如果未能解决你的问题,请参考以下文章
用于Logistic回归评估的Sklearn Python Log Loss引发了错误
用于 Logistic 回归评估的 Sklearn Python Log Loss 引发错误