# -*- coding: utf-8 -*-
# Scikit-Learn机器学习介绍(中文翻译):http://www.tuicool.com/articles/qeIzI3F
# scikit-learn有一些标准数据集,比如用于分类的 iris 和 digits 数据集
# python
from sklearn import datasets
iris = datasets.load_iris()
digits = datasets.load_digits()
print(digits.data) #数据元元素,相当于输入x
print digits.target #数据目标值,相当于输出目标y
# 实现svm分类
from sklearn import svm
clf = svm.SVC(gamma=0.001, C=100.) #建立预测器
clf.fit(digits.data[:-1], digits.target[:-1])#[:-1]选择包含除最后一个条目的digits.data进行训练SVC(C=100.0, cache_size=200, class_weight=None, coef0=0.0, degree=3, gamma=0.001, kernel='rbf', max_iter=-1, probability=False, random_state=None, shrinking=True, tol=0.001, verbose=False)
print clf.predict(digits.data[:-1])
# 模型持久性(Model persitence)
# 可以用python内建的持久性模型 pickle 来保存scikit的模型
import pickle
s = pickle.dumps(clf)
clf2 = pickle.loads(s)
print clf2.predict(digits.data[-1])
# 在scikit的特定情形下,用joblib’s来代替pickle(joblib.dump&joblib.load)会更吸引人,在大数据下效率更高,但只能pickle到磁盘而不是字符串:
from sklearn.externals import joblib
joblib.dump(clf, 'filename.pkl')
clf3 = joblib.load('filename.pkl')
print clf3.predict(digits.data[:-1])
# 注意:joblib.dump返回一个文件名列表。每个包含在clf对象中独立的numpy数组是在文件系统中是按顺序排列的一个独立文件。当用joblib.load重新加载模型时,所有文件必须在同一个目录下。
# Scikit-Learn机器学习介绍(中文翻译):http://www.tuicool.com/articles/qeIzI3F
# scikit-learn有一些标准数据集,比如用于分类的 iris 和 digits 数据集
# python
from sklearn import datasets
iris = datasets.load_iris()
digits = datasets.load_digits()
print(digits.data) #数据元元素,相当于输入x
print digits.target #数据目标值,相当于输出目标y
# 实现svm分类
from sklearn import svm
clf = svm.SVC(gamma=0.001, C=100.) #建立预测器
clf.fit(digits.data[:-1], digits.target[:-1])#[:-1]选择包含除最后一个条目的digits.data进行训练SVC(C=100.0, cache_size=200, class_weight=None, coef0=0.0, degree=3, gamma=0.001, kernel='rbf', max_iter=-1, probability=False, random_state=None, shrinking=True, tol=0.001, verbose=False)
print clf.predict(digits.data[:-1])
# 模型持久性(Model persitence)
# 可以用python内建的持久性模型 pickle 来保存scikit的模型
import pickle
s = pickle.dumps(clf)
clf2 = pickle.loads(s)
print clf2.predict(digits.data[-1])
# 在scikit的特定情形下,用joblib’s来代替pickle(joblib.dump&joblib.load)会更吸引人,在大数据下效率更高,但只能pickle到磁盘而不是字符串:
from sklearn.externals import joblib
joblib.dump(clf, 'filename.pkl')
clf3 = joblib.load('filename.pkl')
print clf3.predict(digits.data[:-1])
# 注意:joblib.dump返回一个文件名列表。每个包含在clf对象中独立的numpy数组是在文件系统中是按顺序排列的一个独立文件。当用joblib.load重新加载模型时,所有文件必须在同一个目录下。