Ho fatto un programma di esempio per addestrare un SVM usando sklearn. Ecco il codicesklearn scarica il modello usando joblib, scarica più file. Qual è il modello corretto?
from sklearn import svm
from sklearn import datasets
from sklearn.externals import joblib
clf = svm.SVC()
iris = datasets.load_iris()
X, y = iris.data, iris.target
clf.fit(X, y)
print(clf.predict(X))
joblib.dump(clf, 'clf.pkl')
Quando eseguo il dump del file di modello, ottengo questa quantità di file. :
[ 'clf.pkl', 'clf.pkl_01.npy', 'clf.pkl_02.npy', 'clf.pkl_03.npy', 'clf.pkl_04.npy', 'clf.pkl_05. npy ',' clf.pkl_06.npy ',' clf.pkl_07.npy ',' clf.pkl_08.npy ',' clf.pkl_09.npy ',' clf.pkl_10.npy ',' clf.pkl_11.npy ' ]
Sono confuso se ho fatto qualcosa di sbagliato. O è normale? Cosa sono i file * .npy. E perché ce ne sono 11?
Presumibilmente queste sono 'array numpy' per i dati,' joblib' quando si carica di nuovo il '.pkl' cercherà quei array' np' e caricare di nuovo i dati del modello – EdChum
Ho appena realizzato che se uso joblib.dump (clf, 'clf.pkl', compress = 9) Ottengo solo 1 file clf.pkl. Quindi presumo che, come hai affermato, quelli siano array insensati. Durante il caricamento ho caricato tutto manualmente o caricato automaticamente? –
Mi aspetto che vengano caricati automaticamente, basta provarlo. – EdChum