La valeur manquante de l'imputation en python à l'aide de KNN
J'ai un jeu de données qui ressemble à ceci
1908 January 5.0 -1.4
1908 February 7.3 1.9
1908 March 6.2 0.3
1908 April NaN 2.1
1908 May NaN 7.7
1908 June 17.7 8.7
1908 July NaN 11.0
1908 August 17.5 9.7
1908 September 16.3 8.4
1908 October 14.6 8.0
1908 November 9.6 3.4
1908 December 5.8 NaN
1909 January 5.0 0.1
1909 February 5.5 -0.3
1909 March 5.6 -0.3
1909 April 12.2 3.3
1909 May 14.7 4.8
1909 June 15.0 7.5
1909 July 17.3 10.8
1909 August 18.8 10.7
Je veux remplacer le NaN
s à l'aide de KNN que la méthode. J'ai regardé sklearn
s Imputer
classe, mais il ne supporte que la moyenne, la médiane et le mode d'imputation. Il y a une demande de fonctionnalité ici mais je ne pense pas que des thats été mises en œuvre dès maintenant. Toutes les idées sur la façon de remplacer le NaN
s à partir de les deux dernières colonnes à l'aide de KNN?
Modifier:
Depuis que j'ai besoin d'exécuter des codes sur un autre environnement, je n'ai pas le luxe de l'installation des packages. sklearn, les pandas, numpy et d'autres packages standard sont les seuls que je peux utiliser.
OriginalL'auteur Clock Slave | 2017-07-26
Vous devez vous connecter pour publier un commentaire.
fancyimpute paquet prend en charge ce type d'imputation, à l'aide de l'API suivantes:
Voici les imputations pris en charge par ce package:
Ensuite, vous pouvez regarder le code de fancyImpute et de mettre en œuvre vous-même pour votre cas.
OriginalL'auteur Miriam Farber
Ce pull request à sklearn ajoute KNN de soutien. Vous pouvez obtenir le code de il - https://github.com/scikit-learn/scikit-learn/pull/9212
OriginalL'auteur Omri