Comme je l'ai écrit dans l'article précédent, j'ai lancé Pandas. Considérant le stockage statique à l'arrêt comme csv, DataFrame est un emplacement de stockage en mémoire facile à utiliser. Alors, enregistrons la grammaire de SELECT et WHERE dans SQL. En passant, je voudrais donner un exemple d'utilisation de PLS.
Eh bien, c'est une vérification grammaticale, alors j'ai pensé que c'était un code sans torsion, mais juste un peu. J'utilise souvent ce qui suit pour confirmer facilement que "la prédiction fonctionne".
(formule) y = f(x1, x2) = x1 + x2 * 2
(Les données)
#7 lignes x 3 colonnes
csvpath = 'SimplePrediction.csv'
# ,y,x1,x2
# 1,5,1,2
# 2,11,3,4
# 3,15,3,6
# 4,16,2,7
# 5,11,1,5
# 6,0,5,2
# 7,0,1,2
Eh bien, on pourrait vous demander: "Est-ce du machine learning?", Mais n'est-ce pas ennuyeux pour les gens de chercher manuellement un exemple de fonctionnement de NN ou SVM? Ce serait facile à vérifier. C'est utile. Oui.
C'est le premier. Un exemple de gestion d'un DataFrame.
import pandas as pd
#7 lignes x 3 colonnes
csvpath = 'SimplePrediction.csv'
# ,y,x1,x2
# 1,5,1,2
# 2,11,3,4
# 3,15,3,6
# 4,16,2,7
# 5,11,1,5
# 6,0,5,2
# 7,0,1,2
def main():
df = pd.read_csv(csvpath)
print('--Forme originale--')
print(df)
print('--5 premières lignes--')
print(df[:5])
print('--2 dernières lignes--')
print(df[-2:])
print('--2ème rangée uniquement--')
print(df.iloc[:, 1:2])
print('--2 dernières colonnes--')
print(df.iloc[:, -2:])
print('--Enregistrez les 5 premières lignes et les 2 dernières colonnes--')
print(df.iloc[:5, -2:])
df.iloc[:5, -2:].to_csv('X.csv', index=False)
print('--Enregistrer uniquement la deuxième colonne des 5 premières lignes--')
print(df.iloc[:5, 1:2])
df.iloc[:5, 1:2].to_csv('y.csv', index=False)
if __name__ == '__main__':
main()
Ceci est le deuxième. Créez un modèle en utilisant ce qui précède. Créez un fichier. Lisez-le et faites une prédiction.
import pandas as pd
#5 lignes x 2 colonnes
Xpath = 'X.csv'
# x1,x2
# 1,2
# 3,4
# 3,6
# 2,7
# 1,5
#5 lignes x 1 colonne
ypath = 'y.csv'
# y
# 5
# 11
# 15
# 16
# 11
def get_xy():
X = pd.read_csv(Xpath)
y = pd.read_csv(ypath)
return X, y
def save_model():
X, y = get_xy()
#La modélisation
from sklearn.cross_decomposition import PLSRegression
model = PLSRegression(n_components=2)
model.fit(X, y)
#sauvegarder
from sklearn.externals import joblib
joblib.dump(model, 'pls.pickle')
def use_model():
X, y = get_xy()
#Lis
pls = joblib.load('pls.pickle')
y_pred = pls.predict(X)
# y = f(x1, x2) = x1 + x2 *Puisque 2 est préparé, confirmez la correspondance exacte avec PLS
print(y_pred)
def main():
# save_model()
use_model()
if __name__ == '__main__':
main()
Eh bien, surtout.
Recommended Posts