Bonjour. Il s'agit de Hayashi @ Ienter.
La dernière fois, dans Blog, j'ai parlé de l'analyse de régression de l'approche mathématique.
Récemment, Python est de plus en plus utilisé dans les domaines de l'analyse statistique et de l'apprentissage automatique. Python dispose d'une puissante bibliothèque d'opérations mathématiques et de visualisation de données. Je pense que c'est l'une des raisons.
Cette fois, je présenterai une bibliothèque python appelée "scikit-learn" qui est souvent utilisée dans l'apprentissage automatique. Une bibliothèque très puissante. En fait, effectuons une analyse de régression des exemples de données du blog précédent dans la bibliothèque.
Installez le package Python "Anaconda". Il s'agit d'un package qui vous permet d'installer Python lui-même et des bibliothèques souvent utilisées en science et technologie, en mathématiques et en analyse de données en même temps. Des packages Windows / MacOS / Linux sont disponibles. J'installe cette fois la version 3.5 de Python.
Lorsque vous installez Anaconda, il existe également une bibliothèque appelée «Jupyter Notebook» Il sera installé. Cette fois, nous utiliserons ce cadre pour continuer.
À propos, "Jupyter Notebook" est un framework qui étend "IPython" qui peut exécuter python de manière interactive dans un environnement de ligne de commande vers un environnement de navigateur.
Pour le moment, créez un répertoire de travail "jupyter_work" et lancez "Jupyter Notebook" à partir de là.
$ mkdir jupyter_work
$ cd jupyter_work
$ jupyter notebook
Le navigateur démarre et vous verrez un écran comme celui ci-dessous.
Pour créer un nouveau bloc-notes, sélectionnez l'élément "Python [Root]" dans la zone de liste déroulante "Nouveau" sur le côté gauche de l'écran.
Ensuite, l'écran de saisie interactif suivant s'affiche. Vous êtes maintenant prêt à coder.
Dans le champ de saisie "In []:", entrez le code python. Bien sûr, vous pouvez saisir plusieurs lignes avec la touche retour.
Pour exécuter le code d'entrée, cliquez sur "![Capture d'écran 2016-08-01 13.35.34.png](https://qiita-image-store.s3.amazonaws.com/0/134453/3f3fb05b-7f55-aa8a" dans la barre d'outils. Vous pouvez le faire en appuyant sur le bouton -3a12-25c3158f37e4.png) ou en maintenant la touche Maj enfoncée et en appuyant sur la touche Retour.
Commençons par effectuer une analyse de régression en utilisant les données simples du blog précédent. Les données étaient les suivantes. Le résultat de la droite de régression était l'équation suivante. Cette fois, nous vérifierons également les résultats d'analyse ci-dessus avec scicit-learn.
Tout d'abord, importez les bibliothèques requises.
numpy est une bibliothèque de calculs numériques. matplotlib est une bibliothèque pour dessiner des graphiques. pyplot fournit une interface procédurale à la bibliothèque orientée objet de matplotlib. pandas est une bibliothèque qui prend en charge l'analyse de données telles que le calcul de table, et cette fois, nous utiliserons un tableau à deux dimensions (fonction comme un tableau Excel) appelé DataFrame. De plus, sklearn est une bibliothèque d'apprentissage automatique qui utilise la fonction d'un modèle de régression linéaire appelé linear_model. La dernière ligne "% matplotlib inline" est une commande pour dessiner un graphique dans le navigateur.
Préparez les données X et Y précédentes en tant que données au format DataFrame. En termes statistiques, X est la variable explicative et Y est la variable objective.
Ensuite, créez une instance du modèle de régression linéaire et exécutez le processus d'apprentissage avec la fonction fit.
En outre, préparez les données de la source de prédiction (px). px est un tableau dans lequel la valeur minimale (0) et la valeur maximale (5) des données X sont divisées par incréments de 0,01.
Cependant, cette fois, px à passer à la fonction prédictive (prédire) de linear_model doit passer le tableau bidimensionnel suivant en raison des spécifications de la fonction.
[[0.00],[0.01],[0.02],[0.03].....]
Ici, [:, np.newaxis] est utilisé pour convertir un tableau à une dimension en un tableau à deux dimensions.
Remplacez les données de la source de prédiction px dans la fonction de prédiction (prédire) et stockez le résultat de la prédiction dans py. Tracez ces données sur un graphique. Avec plt.scatter (), tracez X et Y des données d'origine avec des points rouges, et dessinez le résultat prédit par plt.plot () avec des lignes droites bleues de px et py.
Assurez-vous que la pente a de cette ligne droite tracée et la section b de l'axe Y sont les valeurs attendues de 1,4 et 2,0, respectivement. Ces valeurs sont stockées dans model.coef_ et model.intercept_.
Vous pouvez confirmer que la valeur attendue est sortie.
Des exemples de données pour l'apprentissage automatique sont également disponibles dans scikit learn. L'un des échantillons est celui des données sur les prix des maisons de Boston. Les données originales semblent faire référence au site ici. Voici le code qui est inclus dans les données et est une analyse de régression de la corrélation entre le nombre de pièces de la maison achetée et le prix de la maison.
Naturellement, nous pouvons voir que le prix de l'immobilier a tendance à augmenter à mesure que le nombre de chambres augmente.
C'est tout pour cette histoire!
Recommended Posts