SKlearn 加载数据集,ipython notebook快捷操作,SKlearn学习与预测,持久化

mac2024-05-09  33

整理于2020年11月下旬,献给不甘平凡的你

更多机器学习知识请查收于: https://blog.csdn.net/weixin_45316122/article/details/109854595

Trick:纯demo,心在哪里,结果就在那里

 

#加载示例数据集 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

 

最新回复(0)