【问题标题】:logistic regression classifier for prediction in PythonPython中用于预测的逻辑回归分类器
【发布时间】:2017-03-03 01:52:38
【问题描述】:

我正在尝试制作一个脚本,该脚本需要一个 json 文件(pizza-train.json)(来自this Kaggle competition。我想从列表中的每个字典中提取 request_text 字段,并构造一袋单词表示字符串(计数列表的字符串)。

下一步是训练一个逻辑回归分类器来预测变量“requester_received_pizza”。我想训练 90% 的数据并预测 10%。问题是我不知道如何预测这 10%。任何建议都会非常有帮助!

import json
from sklearn.cross_validation import train_test_split
from sklearn.feature_extraction.text import CountVectorizer


f_json = json.load(open('pizza-train.json'))
request_text = []
y = []

for item in f_json[:100]:
    request_text.append(item['request_text'])
    y.append(item['requester_received_pizza'])

vectorizer = CountVectorizer(min_df=1, lowercase=True, stop_words='english')

train_data_features = vectorizer.fit_transform(request_text)
train_data_features = train_data_features.toarray()


print 'Shape = '
print train_data_features.shape
vocab = vectorizer.get_feature_names()
print '\n'
print 'Vocab = '
print vocab


x_train, x_test, y_train, y_test = train_test_split(train_data_features, y, test_size=0.10)

【问题讨论】:

  • 你试过sklearn.linear_model.LogisticRegression吗?
  • 首先使用训练数据创建模型。然后获取测试数据集,将输入输入模型,并将输出与测试数据中的已知值进行比较。计算 SSE 并用它来比较不同的模型。

标签: python machine-learning scikit-learn kaggle


【解决方案1】:

你可以这样做:

alg = sklearn.linear_model.LogisticRegression()
alg.fit(x_train, y_train)
test_score = alg.score(x_test, y_test)

您应该阅读 sklearn 文档 logistic regressioncross validation,它们非常好,并提供了更复杂的方法来验证您的模型。 This Kaggle Titanic 竞赛的教程也可能有用。

【讨论】:

    猜你喜欢
    • 2015-09-23
    • 1970-01-01
    • 2021-09-28
    • 2022-11-27
    • 2021-04-30
    • 2021-11-24
    • 2018-02-08
    • 2020-10-10
    • 2020-06-26
    相关资源
    最近更新 更多