2017-07-11 1 views
-1

Est-ce que quelqu'un sait comment puis-je former sur un ensemble de données et un test sur un autre ensemble de données?
Jusqu'à présent, je sais que nous pouvons diviser un ensemble de données en formation et les tests avec cette ligne de code:données Fractionnement à la formation et les tests

X_train, X_test, y_train, y_test = \ 
     train_test_split(X, y, test_size=0.30, random_state=1) 

Je ne sais pas quelle partie je devrais changer dans cette ligne si nous nous entraînons sur un ensemble de données et d'essai sur un autre ensemble de données.

+0

L'autre ensemble de données doit avoir le même nombre et les mêmes types d'entités pour que cela se produise. À part cela, il suffit de former le modèle avec le premier ensemble de données et de prédire les autres. Quel est le problème? –

Répondre

1

La ligne sur le code que vous avez fourni à propos train_test_split est la première étape dans la formation et les tests sur les différentes parties de votre Dataset. Après cela, vous devrez fit un model et predict un certain résultat donné, étant donné que model. Cependant, il semble que vous soyez novice dans le domaine de l'apprentissage automatique et du scikit-learn et que le fait de répondre simplement à votre question ne vous aidera pas vraiment, mais je vous recommande plutôt de suivre ce tutorial, c'est assez simple et clair et aussi simple.

Ceci vous aidera à démarrer et vous donnera une bonne compréhension de la façon dont la formation et les tests fonctionnent, et vous donnera quelques exemples sur cross_validation.

Juste au cas où, voici une autre tutorial vous pourriez suivre pour une meilleure compréhension. celui-ci est un peu plus complexe donc vérifiez-le en deuxième place.

Après cela, vous serez à peu près en mesure de trouver votre chemin à l'aide scikit-learn documentation officielle.

EDIT:

Si vous voulez travailler sur des ensembles complètement différents, il est presque le même que train_test_split, la seule différence est maintenant que vous ne partagerez vos données pour former et pièces de test avec:

au lieu
X_train, X_test, y_train, y_test = \ 
     train_test_split(X, y, test_size=0.30, random_state=1) 

vous prenez votre première data_set (l'un pour la formation) et faites votre X_train et y_train sortir:

X_train = data_train[feature_cols] 
y_train = data_train['y_col'] 

et la même chose pour vos tests ensemble (à condition que vous en avez un):

X_test = data_test[feature_cols] # make sure you're having the same features 
y_test = data_test['y_col'] 

Après cela, rien ne change vraiment.

Maintenant, si vous avez remarqué, il est exactement le même cas d'utilisation train_test_split si vous aviez les deux ensembles de données combinés (à l'exception que train_test_split divise les données au hasard)

Je crois que c'est ce que vous avez demandé.

Hope this était en quelque sorte utile.

+0

Je suis familier avec l'apprentissage automatique et tout le concept que vous avez mentionné! Ce que je n'ai pas encore vu, c'est de s'entraîner sur un ensemble de données et de tester un tout nouveau jeu de données! – user8034918

+0

@ user8034918 édité, j'espère que cette fois j'ai eu votre point –

+0

@ user8034918 Vous continuez à dire "un ensemble de données entier". Que voulez-vous dire exactement par là?Le type et le nombre de fonctionnalités diffèrent-ils entre les deux ensembles de données? Si oui, vous ne pouvez pas l'utiliser pour le test. Parce que ça n'a aucun sens. L'apprentissage automatique ne peut que faire beaucoup. –