SKlearn 加载数据集,ipython notebook快捷操作,SKlearn学习与预测,持久化 (jupyter notebook实战代码练手入门级)

学了本文你能学到什么?仅供学习,如有疑问,请留言。。。

 


#加载示例数据集
from sklearn import datasets
"""
数据集是一个类似字典的对象,它保存有关数据的所有数据和一些元数据。
该数据存储在 .data 成员中,它是 n_samples, n_features 数组。
在监督问题的情况下,一个或多个响应变量存储在 .target 成员中
"""
iris = datasets.load_iris()
digits = datasets.load_digits()
#在数字数据集的情况下,digits.data 使我们能够得到一些用于分类的样本特征:
print(digits.data)
#digits.target 表示了数据集内每个数字的真实类别,也就是我们期望从每个手写数字图像中学得的相应的数字标记
print(digits.target)
#数据数组的形状
"""
数据总是二维数组,形状 (n_samples, n_features) ,尽管原始数据可能具有不同的形状。 
在数字的情况下,每个原始样本是形状 (8, 8) 的图像,可以使用以下方式访问:
"""
print(digits.images[0])



"""
Enter : 转入编辑模式

Shift-Enter : 运行本单元,选中下个单元

Ctrl-Enter : 运行本单元

Alt-Enter : 运行本单元,在其下插入新单元


Z : 恢复删除的最后一个单元

D,D : 删除选中的单元

Shift-M : 合并选中的单元

Ctrl-S : 文件存盘


"""


#学习和预测
"""
在数字数据集的情况下,任务是给出图像来预测其表示的数字。 我们给出了 10 个可能类
(数字 0 到 9)中的每一个的样本,我们在这些类上 拟合 一个 估计器 ,
以便能够 预测 未知的样本所属的类。

在 scikit-learn 中,分类的估计器是一个 Python 对象,
它实现了 fit(X, y) 和 predict(T) 等方法。

估计器的一个例子类 sklearn.svm.SVC ,实现了 支持向量分类 。
估计器的构造函数以相应模型的参数为参数,但目前我们将把估计器视为黑箱即可:

"""
from sklearn import svm
clf = svm.SVC(gamma = 0.001 ,C = 100.)
"""
我们把我们的估计器实例命名为 clf ,因为它是一个分类器(classifier)。
它现在必须拟合模型,也就是说,它必须从模型中 learn(学习) 。
这是通过将我们的训练集传递给 fit 方法来完成的。
作为一个训练集,让我们使用数据集中除最后一张以外的所有图像。 
我们用 [:-1] Python 语法选择这个训练集,
它产生一个包含 digits.data 中除最后一个条目(entry)之外的所有条目的新数组

"""
clf.fit(digits.data[:-1], digits.target[:-1])  


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







[[ 0.  0.  5. ...  0.  0.  0.]
 [ 0.  0.  0. ... 10.  0.  0.]
 [ 0.  0.  0. ... 16.  9.  0.]
 ...
 [ 0.  0.  1. ...  6.  0.  0.]
 [ 0.  0.  2. ... 12.  0.  0.]
 [ 0.  0. 10. ... 12.  1.  0.]]
[0 1 2 ... 8 9 8]
[[ 0.  0.  5. 13.  9.  1.  0.  0.]
 [ 0.  0. 13. 15. 10. 15.  5.  0.]
 [ 0.  3. 15.  2.  0. 11.  8.  0.]
 [ 0.  4. 12.  0.  0.  8.  8.  0.]
 [ 0.  5.  8.  0.  0.  9.  8.  0.]
 [ 0.  4. 11.  0.  1. 12.  7.  0.]
 [ 0.  2. 14.  5. 10. 12.  0.  0.]
 [ 0.  0.  6. 13. 10.  0.  0.  0.]]
[8]
# 模型持久化

# 可以通过使用 Python 的内置持久化模块(即 pickle )将模型保存:
from sklearn import svm
from sklearn import datasets
clf =  svm.SVC()
iris = datasets.load_iris()
X,y = iris.data,iris.target
clf.fit(X,y)
SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0,
 decision_function_shape='ovr', degree=3, gamma='auto', kernel='rbf',
 max_iter=-1, probability=False, random_state=None, shrinking=True,
 tol=0.001, verbose=False)
















No output

No output

No output

No output

 

你可能感兴趣的:(机器学习)