【发布时间】: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