2017-08-24 2 views
0

la tête de série de formation a l'air de cette façonensemble de formation sont normalisées ce qui devrait faire l'essai mentionné

Session ID Timestamp    Item ID  Price Quantity 
0 420374 2014-04-06T18:44:58.314Z 214537888 12462 1 
1 420374 2014-04-06T18:44:58.325Z 214537850 10471 1 
2 281626 2014-04-06T09:40:13.032Z 214535653 1883 1 
3 420368 2014-04-04T06:13:28.848Z 214530572 6073 1 
4 420368 2014-04-04T06:13:28.858Z 214835025 2617 1 

Je prétraiter les données, les rendre colonne normalisée par colonne et les adapter à SGDClassifier.

from sklearn import linear_model 
from sklearn import preprocessing as pp 

scaler = pp.MinMaxScaler() 
columns_list = list(train_data.columns) 
del columns_list[-1] 
train_data[columns_list] = scaler.fit_transform(train_data[columns_list]) 

clf = linear_model.SGDClassifier() 
clf.fit(train_data.iloc[:, :-2],train_data.iloc[:,-1]) 

Ensuite, je veux prédire avec le modèle, comme clf.predict(), mais l'ensemble de test d'origine sont censés être le format suivant.

Session ID Timestamp    Item ID  Price Quantity 
0 420374 2014-04-06T18:44:58.314Z 214537888 12462 1 

Ensuite, ai-je besoin de les normaliser avec l'ensemble d'apprentissage? Quelles sont les données de test attendues par le modèle?

De quel pré-traitement les données de test ont-elles besoin?

Répondre

2

Nous appliquons tous les prétraitements pour tester les données qui ont été apprises lors de l'exécution de données de train. Nous n'apprenons rien de nouveau à partir des données de test.

Donc dans votre cas, nous appliquons seulement la même normalisant pour tester les données que nous avons appris à partir des données de train: -

test_data[columns_list] = scaler.transform(test_data[columns_list]) 

# Predict Quantity from model 
y_pred = clf.predict(test_data.iloc[:, :-2]) 

# Actual values of Quantity 
y_true = test_data.iloc[:,-1] 

# Now use y_true and y_pred to calculate the metrics. 
0

As sklearn doc provide

Le module de pré-traitement fournit en outre une classe utilitaire StandardScaler qui implémente l'API Transformer pour calculer la moyenne et l'écart-type sur un ensemble d'apprentissage de manière à pouvoir réappliquer plus tard la même transformation sur l'ensemble de test.

Talk about the Normalizer

Le module de pré-traitement fournit en outre une classe utilitaire Normalizer qui implémente la même opération en utilisant l'API Transformer

si juste réappliquer la même transformation sur l'ensemble de tests seraient bien.