Sklearn之datasets和訓練

數據集的操做

以iris數據集爲例,首先導入數據集python

iris = datasets.load_iris()

數據集是一個類詞典的數據,其屬性有git

data 數據集,類型是numpy的ndarray
target 數據對應的類標記,類型是一維的ndarray
target_name 類標記對應的名字,類型是一維的ndarray
DESCR 數據集的描述信息

拆分訓練集和測試集

 

訓練estimator

經過fit(X,y)和predict(X)分別進行訓練和預測,這裏以SVM爲例訓練一個estimator並預測測試

from sklearn import datasets
from sklearn import svm
from matplotlib import pyplot as plt
import numpy as np


digits = datasets.load_digits()
clf = svm.SVC(gamma=0.001, C=100.)
clf.fit(digits.data[:-1],digits.target[:-1])

plt.figure(1, figsize=(3, 3))
plt.imshow(digits.images[-1], cmap=plt.cm.gray_r, interpolation='nearest')
plt.show()

print(clf.predict(digits.data[-1:]))

保存模型

經過sklearn.externals下的joblib.dump()來保存訓練好的模型,再次使用能夠經過load進行導入spa

from sklearn import datasets
from sklearn import svm
from sklearn.externals import joblib

iris = datasets.load_iris()
clf = svm.SVC(gamma=0.001, C=100.)
clf.fit(iris.data[:-2], iris.target[:-2])
print('倒數第一條數據的類標記爲', iris.target[-1], ', 預測結果爲 ',
      clf.predict(iris.data[-1:]))


joblib.dump(clf, 'model.pkl')
print('倒數第二條數據的類標記爲', iris.target[-2], ', 預測的結果爲 ',
      joblib.load('model.pkl').predict(iris.data[-2:-1]))

相關文章
相關標籤/搜索