Python pour la science des données pour les nuls

Les développeurs font partout des erreurs à la fois. Cependant, vous pourriez être en mesure de gagner du temps et de travailler si vous savez sur les types les plus fréquents d'erreurs de programmation que les gens font avec Python. La liste suivante vous indique sur ces erreurs les plus courantes:

Sommaire

  • Avoir l'indentation incorrecte: De nombreuses fonctionnalités de Python comptent sur indentation. Par exemple, lorsque vous créez une nouvelle classe, tout dans cette classe est en retrait sous la déclaration de classe. La même chose est vraie pour la prise, boucle, et d'autres déclarations structurelles. Si vous trouvez que votre code exécute une tâche quand il ne devrait vraiment pas, commencer à examiner l'indentation que vous utilisez.

  • Utilisation de l'opérateur d'affectation au lieu de l'opérateur d'égalité: Lorsque vous effectuez une comparaison entre deux objets ou de la valeur, il suffit d'utiliser l'opérateur d'égalité (==), pas l'opérateur d'affectation (=). L'opérateur d'assignation place un objet ou valeur dans une variable et ne compare pas rien.

  • Mettre fonction appelle dans le mauvais ordre lors de la création des états complexes: Python exécute toujours les fonctions de gauche à droite. Donc la déclaration MyString.strip (). Centre (21, "*") produit un résultat différent de celui MyString.center (21, "*"). Bande (). Lorsque vous rencontrez une situation dans laquelle la sortie d'une série de fonctions concaténées est différent de ce que vous attendiez, vous devez vérifier afin de fonction d'assurer que chaque fonction est à la bonne place.

  • Égarer la ponctuation: Il est possible de mettre la ponctuation au mauvais endroit et de créer un résultat tout à fait différent. Rappelez-vous que vous devez inclure une virgule à la fin de chaque instruction structurelle. En outre, les parenthèses placement est critique. Par example, (1 + 2) * (3 + 4), 1 + ((2 * 3) + 4), et 1 + (2 * (3 + 4)) tous produire des résultats différents.

  • Utilisation de l'opérateur logique erronée: La plupart des opérateurs ne présentent pas de problèmes avec les développeurs, mais les opérateurs logiques faire. Pensez à utiliser et pour déterminer quand les deux opérandes doivent être Vrai et ou lorsque l'un des opérandes peuvent être Vrai.

  • Création d'erreurs comte-by-One sur des boucles: Rappelez-vous que une boucle ne compte pas le dernier numéro que vous indiquez dans une gamme. Donc, si vous spécifiez l'intervalle [01:11], vous obtenez réellement sortie pour des valeurs comprises entre 1 et 10.

  • Ayant la mauvaise capitalisation: Python est sensible à la casse, donc MyVar est différente de myvar et MYVAR. Toujours vérifier la capitalisation quand vous trouvez que vous ne pouvez pas accéder à une valeur que vous attendiez d'accès.

  • Orthographe quelque chose de mal: Même les développeurs chevronnés souffrent de fautes d'orthographe à certains moments. Veiller à ce que vous utilisez une approche commune de l'appellation des variables, des classes et fonctions ne l'aide. Cependant, même un schéma de nommage cohérente ne sera pas toujours vous empêcher de taper maversion alors que vous vouliez taper MaVar.

Terrain de ligne Styles

Chaque fois que vous créez un tracé en Python, vous devez identifier les sources d'information en utilisant plus que les lignes. Création d'un complot qui utilise différents types de lignes et points de données symboles rend l'intrigue beaucoup plus facile pour d'autres personnes à utiliser. Le tableau suivant dresse la liste des styles de tracé de la ligne.

CouleurMarqueurStyle
CodeColor LineCodeMarqueur de styleCodeStyle de ligne
bbleu.point-Solide
gvertocercle:Dotted
rrougeXx-marque-.tirets, des points
ccyan+plus--Pointillée
mmagenta*étoile(aucun)pas de ligne
yjaunescarré
knoirdiamant
wblancvbas triangle
^jusqu'à triangle
lt;triangle de gauche
>triangle rectangle
p5 points étoiles
h6 points étoiles

Rappelez-vous que vous pouvez également utiliser ces styles avec d'autres sortes de complots. Par exemple, un nuage de points peut utiliser ces styles pour définir chacun des points de données. En cas de doute, essayez les styles pour voir si ils vont travailler avec votre parcelle particulière.

Fonctions IPython magiques communs

Il est un peu étonnant de penser que IPython vous offre la magie, mais qui est précisément ce que vous obtenez avec les fonctions magiques. Une fonction magie commence avec soit un% ou %% signe. Ceux qui ont un travail de signe% dans l'environnement, et ceux avec un travail de signe de %% au niveau de la cellule.

La liste suivante vous fournit quelques-unes des fonctions magiques les plus courantes et leur but. Pour obtenir une liste complète, de type % quickref et appuyez sur Entrée dans la console IPython ou consultez la liste complète.

Fonction magiqueTapez seul fournit l'état?Description
%% timeit NonCalcule la meilleure performance de tous les temps pour instructionsin une cellule, à l'exception de celui placé sur la même ligne de cellule comme thecell magie (qui pourrait donc être un initializationinstruction).
%% writefileNonÉcrit le contenu d'une cellule dans le fichier spécifié.
% aliasOuiAffecte ou affiche un alias pour une commande de système.
% autocallOuiPermet d'appeler des fonctions sans inclure theparentheses. Les paramètres sont Off, intelligente (par défaut), et Full. Paramètre theSmart applique les parenthèses que si vous incluez anargument à l'appel.
% automagicOuiPermet d'appeler les fonctions magiques de ligne withoutincluding le signe%. Les réglages sont False (par défaut) andTrue.
% cdOuiModifie le répertoire vers un nouvel emplacement de stockage. Vous pouvez également usethis commande pour se déplacer à travers l'histoire de répertoire ou à changedirectories à un signet.
% CLSNonEfface l'écran.
% des couleursNonIndique les couleurs utilisées pour afficher withprompts texte associés, le système d'information, et les gestionnaires d'exceptions. Vous canchoose entre NoColor (noir et blanc), Linux (par défaut), andLightBG.
% configOuiPermet de configurer IPython.
% dhistOuiAffiche une liste de répertoires visités au cours de la currentSession.
%fichier NonSort le nom du fichier qui contient le code source pourThe objet.
% histOuiAffiche une liste des commandes de fonction magiques émises au cours thecurrent session.
% install_extNonInstalle l'extension spécifiée.
% de chargeNonCharges de code de l'application d'une autre source, comme un onlineexample.
% load_extNonCharge une extension Python en utilisant son nom de module.
% lsmagicOuiAffiche une liste des magicfunctions actuellement disponibles.
% matplotlibOuiDéfinit le processeur de backend utilisé pour les parcelles. Utilisation de la inlinevalue affiche l'intrigue au sein de la cellule pour une Notebookfile IPython. Les valeurs possibles sont: gtk »,« gtk3 ',' inline ',' nbagg ',' osx ',' ',' qt qt4 ',' QT5 »,« tk ', et' WX '.
% de pâteNonColle le contenu du presse-papiers dans le IPythonenvironment.
% PDEFNonMontre comment appeler l'objet (en supposant que le iscallable d'objet).
% pdocNonAffiche la docstring pour un objet.
% pinfo NonAffiche des informations détaillées sur l'objet (souvent plus thanprovided par l'aide seule).
% pinfo2 NonAffiche des informations détaillées supplémentaires sur l'objet (whenavailable).
% reload_extNonRecharge une extension précédemment installé.
% source NonAffiche le code source de l'objet (en supposant que LaSource est disponible).
% timeitNonCalcule le meilleur temps de la performance pour une instruction.
% unaliasNonSupprime un alias créé précédemment dans la liste.
% unload_extNonDécharge l'extension spécifiée.

Scikit-learn Méthode Résumé

Scikit-learn est un point focal pour le travail de la science de données avec Python, il est utile de connaître les méthodes qui vous avez le plus besoin. La liste suivante vous donne un bref aperçu des méthodes les plus importantes utilisées pour l'analyse de données.

  • feature_extraction.FeatureHasher

    Utilisation: Préparer vos données

    Description: L'astuce de hachage, vous permettant d'accueillir un grand nombre de fonctionnalités dans votre ensemble de données

  • preprocessing.Binarizer

    Utilisation: Préparer vos données

    Description: Créez des variables binaires (valeurs de caractéristiques à 0 ou 1)

  • preprocessing.Imputer

    Utilisation: Préparer vos données

    Description: Les valeurs manquantes imputation

  • preprocessing.MinMaxScaler

    Utilisation: Préparer vos données

    Description: Créez des variables liées par une valeur minimale et maximale

  • preprocessing.OneHotEncoder

    Utilisation: Préparer vos données

    Description: Transformez caractéristiques entières catégoriques dans les binaires

  • preprocessing.StandardScaler




    Utilisation: Préparer vos données

    Description: Normalisation variable en enlevant la moyenne et la mise à l'échelle de variance unité

  • feature_extraction.text.CountVectorizer

    Utilisation: Préparer vos données

    Description: Convertir des documents texte dans une matrice de données de comptage

  • feature_extraction.text.HashingVectorizer

    Utilisation: Préparer vos données

    Description: Directement convertir votre texte en utilisant l'astuce de hachage

  • feature_extraction.text.TfidfVectorizer

    Utilisation: Préparer vos données

    Description: Crée un jeu de données de caractéristiques TF-IDF.

  • feature_selection.RFECV

    Utilisation: La sélection des fonctionnalités

    Description: Sélection de fonction automatique

  • decomposition.PCA

    Utilisation: Réduction de dimensionnalité

    Description: Analyse en composantes principales (ACP)

  • decomposition.RandomizedPCA

    Utilisation: Réduction de dimensionnalité

    Description: Analyse en composantes principales (ACP) en utilisant SVD randomisé

  • cross_validation.cross_val_score

    Utilisation: La phase de validation croisée

    Description: Estimer le score de validation croisée

  • cross_validation.KFold

    Utilisation: La phase de validation croisée

    Description: Diviser l'ensemble de données en k plis pour la validation croisée

  • cross_validation.StratifiedKFold

    Utilisation: La phase de validation croisée

    Description: Validation stratifié qui tient compte de la répartition des classes que vous prédis

  • cross_validation.train_test_split

    Utilisation: La phase de validation croisée

    Description: Divisez vos données en apprentissage et de test

  • grid_search.GridSearchCV

    Utilisation: Optimisation

    Description: Recherche exhaustive afin de maximiser un algorithme d'apprentissage automatique

  • linear_model.LinearRegression

    Utilisation: Prédiction

    Description: Régression linéaire

  • linear_model.LogisticRegression

    Utilisation: Prédiction

    Description: Linéaire Régression logistique

  • neighbors.KNeighborsClassifier

    Utilisation: Prédiction

    Description: K-Voisins classement

  • naive_bayes.MultinomialNB

    Utilisation: Prédiction

    Description: Multinomial Na # 239-ve de Bayes

  • metrics.accuracy_score

    Utilisation: Solution d'évaluation

    Description: Précision pointage de classification.

  • metrics.f1_score

    Utilisation: Solution d'évaluation

    Description: Calculer le score de F1, l'équilibrage de précision et de rappel

  • metrics.mean_absolute_error

    Utilisation: Solution d'évaluation

    Description: Erreur absolue erreur de régression moyenne

  • metrics.mean_squared_error

    Utilisation: Solution d'évaluation

    Description: Erreur quadratique erreur de régression moyenne

  • metrics.roc_auc_score

    Utilisation: Solution d'évaluation

    Description: Calculer aire sous la courbe (AUC) à partir des scores de prédiction


» » » » Python pour la science des données pour les nuls