[Python] Régression linéaire avec scicit-learn

Synopsis jusqu'à la dernière fois

Dernière fois a lu le fichier csv et dessiné le diagramme de dispersion. Le code et le diagramme complétés ressemblent à ceci

import numpy as np
import matplotlib.pyplot as plt

data_set = np.loadtxt(
    fname="sampleData.csv",
    dtype="float",
    delimiter=",",
)

#Dessiner un diagramme de dispersion → utiliser scatter
#Sortez ligne par ligne et dessinez
#plt.scatter(valeur de coordonnée x,valeur de coordonnée y)
for data in data_set:
    plt.scatter(data[0], data[1])

plt.title("correlation")
plt.xlabel("Average Temperature of SAITAMA")
plt.ylabel("Average Temperature of IWATE")
plt.grid()

plt.show()

scatter.png

Que faire cette fois

Utilisez scikit-learn pour faire une régression linéaire et dessiner une ligne de régression

procédure##

1 Extraire les données de coordonnées x et y de csv

#x,Stockez vos données dans un tableau séparé
x = np.array(1) #Préparez un tableau numpy
y = np.array(1) #À ce stade, certaines données ne sont pas nécessaires au début
for data in data_set:
    x = np.append(x, data[0]) #Ajouter des données avec append
    y = np.append(y, data[1])
x = np.delete(x, 0,0) #Supprimer les données inutiles au début
y = np.delete(y, 0,0)

2 Mettez x et y pris en 1 dans le modèle qui effectue une régression linéaire. 3 Faites une ligne droite en faisant une prédiction avec le modèle créé en 2. 4 Dessinez avec matplotlib

Qu'est-ce que scikit-learn

C'est un module qui fait la régression et la classification (Zackri) Cliquez ici pour plus de détails → Page officielle

Code utilisant un modèle de régression linéaire

#Module d'importation pour la régression linéaire
from sklearn.linear_model import LinearRegression

#Dans l'espace linspace de numpy pour la coordonnée x de la droite de régression-Préparez également 100 valeurs de 10 à 40
line_x = np.linspace(-10, 40, 100)

#scikit-Trouvez la formule de prédiction avec le modèle des moindres carrés dans Learn
model = LinearRegression()
model = model.fit(x.reshape(-1,1), y.reshape(-1,1)) #Mettez les données dans le modèle
model_y = model.predict(line_x.reshape(-1,1)) #Prévoir
plt.plot(line_x, model_y, color = 'yellow')

model = model.fit (x.reshape (-1,1), y.reshape (-1,1)), mais la forme du tableau numpy est modifiée pour correspondre à l'argument de la fonction. Pour plus d'informations ici

Voici le code et le diagramme complétés

import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression

data_set = np.loadtxt(
    fname="sampleData.csv",
    dtype="float",
    delimiter=",",
)
#x,Stockez vos données dans un tableau séparé
x = np.array(1)
y = np.array(1)
for data in data_set:
    x = np.append(x, data[0])
    y = np.append(y, data[1])
x = np.delete(x, 0,0)
y = np.delete(y, 0,0)


#Dessinez un diagramme de dispersion
for data in data_set:
    plt.scatter(data[0], data[1])


#scikit-Trouvez la formule de prédiction avec le modèle des moindres carrés dans Learn
model = LinearRegression()
model = model.fit(x.reshape(-1,1), y.reshape(-1,1))
line_x = np.linspace(-10, 40, 100)
model_y = model.predict(line_x.reshape(-1,1))
plt.plot(line_x, model_y, color = 'yellow')

plt.title("correlation")
plt.xlabel("Average Temperature of SAITAMA")
plt.ylabel("Average Temperature of IWATE")
plt.grid()

plt.show()

lineReg_scikit.png

Je vous remercie pour votre travail acharné

Recommended Posts

[Python] Régression linéaire avec scicit-learn
Régression linéaire robuste avec scikit-learn
Régression linéaire en Python (statmodels, scikit-learn, PyMC3)
Régression linéaire avec statsmodels
Régression avec un modèle linéaire
Réseau de neurones avec Python (scikit-learn)
Régression linéaire en ligne en Python
Python Scikit-learn Analyse de régression linéaire Analyse de régression simple non linéaire Apprentissage automatique
Régression linéaire
Analyse de régression logistique Self-made avec python
FizzBuzz en Python3
Isomap avec Scikit-learn
Grattage avec Python
Grattage avec Python
Python avec Go
Régression linéaire en ligne en Python (estimation robuste)
Apprentissage automatique avec python (2) Analyse de régression simple
Twilio avec Python
Intégrer avec Python
Jouez avec 2016-Python
AES256 avec python
Testé avec Python
python commence par ()
DBSCAN avec scikit-learn
Clustering avec scikit-learn (1)
avec syntaxe (Python)
Introduction à la modélisation statistique bayésienne avec python ~ Essai de régression linéaire avec MCMC ~
Clustering avec scikit-learn (2)
PCA avec Scikit-learn
Bingo avec python
Zundokokiyoshi avec python
kmeans ++ avec scikit-learn
Excel avec Python
Micro-ordinateur avec Python
Cast avec python
Implémenté en Python PRML Chapitre 3 Régression linéaire bayésienne
Résolvons des équations linéaires simultanées avec Python sympy!
Prédire l'été chaud avec un modèle de régression linéaire
EV3 x Python Machine Learning Partie 2 Régression linéaire
Introduction au modèle linéaire généralisé (GLM) par Python
Modèle de régression multivariée avec scikit-learn - J'ai essayé de comparer et de vérifier SVR
Analyse de régression LASSO facile avec Python (pas de théorie)
Communication série avec Python
Zip, décompressez avec python
Django 1.11 a démarré avec Python3.6
Python avec eclipse + PyDev.
Communication de socket avec Python
Analyse de données avec python 2
Grattage en Python (préparation)
Validation croisée avec scikit-learn
Essayez de gratter avec Python.
Apprendre Python avec ChemTHEATER 03
Recherche séquentielle avec Python
"Orienté objet" appris avec python
Manipuler yaml avec python
Résolvez AtCoder 167 avec python
Communication série avec python
[Python] Utiliser JSON avec Python
Apprendre Python avec ChemTHEATER 05-1