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 - 使用来自外部测试数据的自定义输入进行预测的主要内容,如果未能解决你的问题,请参考以下文章

sklearn了解一下

用于Logistic回归评估的Sklearn Python Log Loss引发了错误

用于 Logistic 回归评估的 Sklearn Python Log Loss 引发错误

Sklearn - 从Logistic回归中返回前三类

基于sklearn进行线性回归logistic回归svm等的简单操作总结

sklearn Logistic回归中的C参数是啥?