2017-09-14 4 views
1

Ceci est une question de newb mais je suis un newb. Je peux donc suivre ok avec cet exemple sur la construction d'un modèle prédictif:Comment transmettre manuellement des valeurs à un modèle de prédiction en Python?

https://machinelearningmastery.com/machine-learning-in-python-step-by-step/

Ma question est, maintenant que j'ai ce modèle construit, comment pourrais-je passer manuellement dans ces valeurs pour voir quel genre d'Iris c'est: [5.1.3.5,1.4,0.2].

Je sais que j'ai besoin d'utiliser model.predict(), mais je n'arrive pas à obtenir les données dans le bon format. J'essaie juste d'apprendre en disséquant l'exemple. Je vous remercie.

Répondre

1

Dans la section Make Predictions, l'auteur a la ligne

predictions = knn.predict(X_validation) 

L'argument que vous passez à la méthode prédire n'a pas besoin d'être une table entière. Vous pouvez également lui passer une seule ligne. Assurez-vous simplement que l'orientation de la ligne que vous passez est la même que celle sur laquelle vous vous êtes entraîné.

Si vous utilisez une trame de données en entrée, par exemple, vous avez probablement fait quelque chose comme:

pd.DataFrame({"x1": [1,4,2,1,4,1], "x2": [7,9,7,7,6,8], ...}) 

Alors, vous pourriez faire

datapoint = pd.DataFrame({"x1": [1], "x2": [8], ...}) 

passer l'objet datapont à travers toutes les préparation que vous avez faite pour obtenir vos données d'entraînement prêtes (par exemple scaler, onehot, etc.), puis passez-le dans la méthode de prédiction du modèle:

datapoint_predict = knn.predict(datapoint) 
+0

knn.predict ([[7.7.2.8,6.7,2.0]]) travaillé. Je pense avoir eu une erreur de syntaxe la première fois que je l'ai essayé. Merci! – user3486773

+0

Pas de problème! heureux de vous aider – RagingRoosevelt