2015-09-24 7 views
1

Я пытаюсь создать скрипт, который принимает файл json (pizza-train.json) (от this Kaggle competition. Я хочу извлечь поле request_text из каждого словаря в списке и построить мешок слова представления строки (строка в счет-лист).логистический регрессионный классификатор для прогнозирования в Python

Следующий шаг - подготовить логистический регрессионный классификатор для прогнозирования переменной «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) 
+0

Вы пробовали 'sklearn.linear_model.LogisticRegression'? – yangjie

+0

Сначала вы создаете модель, используя данные обучения. Затем возьмите набор тестовых данных, подайте входы в вашу модель и сравните вывод с известным значением из тестовых данных. Вычислите SSE и используйте его для сравнения разных моделей. – duffymo

ответ

0

Вы можете сделать это следующим образом:

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

Вы должны прочитать sklearn документы logistic regression и cross validation, которые очень хорошо и обеспечивают более сложные методы для проверки моделей. This учебник для конкурса Kaggle Titanic также может быть полезен.