scikit-learn入门到精通(一):快速入门

来源:互联网 发布:python中placeholder 编辑:程序博客网 时间:2024/05/16 01:02

加载数据集

#encoding=utf-8'''一个dataset是一个类似字典的对象,数据存储在n_samples,n_features的array对象.data中,在监督学习中,响应变量存储在.target中'''from sklearn import datasetsiris = datasets.load_iris()digits = datasets.load_digits()print digits.datadigits.targetdigits.images[0]'''1,学习和预测 python的estimator类实现了fit(X)和predict(T)方法,sklearn.svm.SVC实现了SVM分类器'''from sklearn import svmclf = svm.SVC(gamma=0.001,C=100.) #手动指定参数,事实上可以使用例如grid search和cross validation工具来自动选择参数'''训练模型'''clf.fit(digits.data[:-1],digits.target[:-1])'''预测最后一个样本'''clf.predict(digits.data[-1:])'''一个手写字符识别完整例子http://scikit-learn.org/stable/auto_examples/classification/plot_digits_classification.html#example-classification-plot-digits-classification-py'''

保存模型

#encoding=utf-8'''使用python内置的pickle保存模型'''from sklearn import svmfrom sklearn import datasetsclf =svm.SVC()iris = datasets.load_iris()X,y=iris.data,iris.targetclf.fit(X,y)import pickles= pickle.dumps(clf)clf2=pickle.loads(s)clf2.predict(X[0:1])y[0]'''joblib适合存储大型模型,但是智能放到磁盘,而不能为字符串'''from sklearn.externals import joblibjoblib.dump(clf,'filename.pkl')clf=joblib.load('filename.pkl')

Conventions

#encoding=utf-8'''Type casting'''import numpy as npfrom sklearn import random_projectionrng = np.random.RandomState(0)X = rng.rand(10,2000)X = np.array(X,dtype='float32')X.dtypetransformer = random_projection.GaussianRandomProjection()X_new = transformer.fit_transform(X)  #转为float64X_new.dtype'''回归时响应变量转为float64,分类时步改变'''from sklearn import datasetsfrom sklearn.svm import SVCiris = datasets.load_iris()clf = SVC()clf.fit(iris.data,iris.target)list(clf.predict(iris.data[:3]))clf.fit(iris.data,iris.target_names[iris.target])list(clf.predict(iris.data[:3]))'''重新拟合更新参数,通过sklearn.pipeline.Pipeline.set_params方法,多次调用fit()方法将会覆盖前面fit()所学习到的'''rng = np.random.RandomState(0)X = rng.rand(100,10)y = rng.binomial(1,0.5,100)X_test = rng.rand(5,10)clf =SVC()clf.set_params(kernel = 'linear').fit(X,y)clf.predict(X_test)clf.set_params(kernel='rbf').fit(X,y)clf.predict(X_test)
0 0
原创粉丝点击