ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:22.19KB ,
资源ID:1065806      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1065806.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(python之sklearn.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

python之sklearn.docx

1、python之sklearnpython之sklearn Scikit Learn: 在python中机器学习Warning警告:有些没能理解的句子,我以自己的理解意译。翻译自:Scikit Learn:Machine Learning in Python作者: Fabian Pedregosa, Gael Varoquaux先决条件Numpy, ScipyIPythonmatplotlibscikitlearn目录 载入示例数据一个改变数据集大小的示例:数码数据集(digitsdatasets)学习和预测分类K最近邻(KNN)分类器训练集和测试集分类支持向量机(SVMs)线性支持向量机使用核

2、聚类:将观测值聚合k均值聚类应用到图像压缩用主成分分析降维将一切放在一起:人脸识别线性模型:从回归到稀疏稀疏模型同一问题的不同算法模型选择:选择估计器和它们的参数格点搜索和交叉验证估计器格点搜索交叉验证估计器Footnotes警告:在0。9版中(2011年9月发行),scikit-learn的导入路径从scikits。learn更改为sklearn载入示例数据首先我们载入一些用来玩耍的数据。我们将使用的数据是非常简单的著名的花朵数据-安德森鸢尾花卉数据集。我们有一百五十个鸢尾花的一些尺寸的观测值:萼片长度、宽度,花瓣长度和宽度.还有它们的亚属:山鸢尾(Iris setosa)、变色鸢尾(Iri

3、s versicolor)和维吉尼亚鸢尾(Iris virginica)向Python对象载入数据:In 1: from sklearn import datasetsIn 2: iris = datasets.load_iris()数据存储在。data项中,是一个(n_samples, n_features)数组。In 3: iris.data.shapeOut3: (150, 4)每个观察对象的种类存贮在数据集的。target属性中.这是一个长度为n_samples的整数一维数组:In 5: iris.target.shapeOut5: (150,)In 6: import numpy a

4、s npIn 7: np。unique(iris。target)Out7: array(0, 1, 2)一个改变数据集大小的示例:数码数据集(digits datasets)数码数据集1包括1797个图像,每一个都是个代表手写数字的8x8像素图像In 8: digits = datasets。load_digits()In 9: digits。images。shapeOut9: (1797, 8, 8)In 10: import pylab as plIn 11: pl.imshow(digits.images0, cmap=pl。cm.gray_r) Out11: lt;matplotlib

5、。image。AxesImage at 0x3285b90gt;In 13: pl。show()为了在scikit中使用这个数据集,我们把每个8x8图像转换成长度为64的矢量。(译者注:或者直接用digits.data)In 12: data = digits.images.reshape((digits。images。shape0, 1))学习和预测现在我们已经获得一些数据,我们想要从中学习和预测一个新的数据。在scikitlearn中,我们通过创建一个估计器(estimator)从已经存在的数据学习,并且调用它的fit(X,Y)方法.In 14: from sklearn import s

6、vmIn 15: clf = svm。LinearSVC()In 16: clf。fit(iris.data, iris。target) learn from the data Out16: LinearSVC(C=1。0, class_weight=None, dual=True, fit_intercept=True, intercept_scaling=1, loss=l2, multi_class=ovr, penalty=l2, tol=0.0001, verbose=0)一旦我们已经从数据学习,我们可以使用我们的模型来预测未观测数据最可能的结果。In 17: clf.predict

7、( 5.0, 3.6, 1.3, 0。25)Out17: array(0, dtype=int32)注意:我们可以通过它以下划线结束的属性存取模型的参数:In 18: clf.coef_ Out18: array( 0。18424352, 0.45122644, 0。8079467 , -0。45071302, 0.05190619, 0。89423619, 0.40519245, 0.93781587, -0。85087844, -0。98667529, 1.38088883, 1.86538111)分类K最近邻(KNN)分类器最简单的可能的分类器是最近邻:给定一个新的观测值,将n维空间中最

8、靠近它的训练样本标签给它.其中n是每个样本中特性(features)数。k最近邻2分类器内部使用基于球树(balltree)3来代表它训练的样本.KNN分类示例:In 19: Create and fit a nearestneighbor classifierIn 20: from sklearn import neighborsIn 21: knn = neighbors。KNeighborsClassifier()In 22: knn。fit(iris.data, iris.target) Out22: KNeighborsClassifier(algorithm=auto, leaf_

9、size=30, n_neighbors=5, p=2, warn_on_equidistant=True, weights=uniform)In 23: knn.predict(0.1, 0.2, 0。3, 0。4)Out23: array(0)训练集和测试集当验证学习算法时,不要用一个用来拟合估计器的数据来验证估计器的预测非常重要.确实,通过kNN估计器,我们将总是获得关于训练集完美的预测.In 24: perm = np.random。permutation(iris.target。size)In 25: iris。data = iris。datapermIn 26: iris.targ

10、et = iris。targetpermIn 27: knn.fit(iris。data:100, iris。target:100) Out27: KNeighborsClassifier(algorithm=auto, leaf_size=30, n_neighbors=5, p=2, warn_on_equidistant=True, weights=uniform)In 28: knn。score(iris。data100:, iris。target100:) /usr/lib/python2.7/site-packages/sklearn/neighbors/classificatio

11、n.py:129: NeighborsWarning: kneighbors: neighbor k+1 and neighbor k have the same distance: results will be dependent on data order. neigh_dist, neigh_ind = self。kneighbors(X)Out28: 0.95999999999999996Bonus的问题:为什么我们使用随机的排列?分类支持向量机(SVMs)线性支持向量机SVMs4尝试构建一个两个类别的最大间隔超平面。它选择输入的子集,调用支持向量即离分离的超平面最近的样本点。In

12、60: from sklearn import svmIn 61: svc = svm.SVC(kernel=linear)In 62: svc。fit(iris。data, iris。target)Out62: SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0, degree=3, gamma=0.0, kernel=linear, probability=False, shrinking=True, tol=0.001, verbose=False)scikit-learn中有好几种支持向量机实现。最普遍使用的是svm。SVC,

13、svm。NuSVC和svm.LinearSVC;“SVC代表支持向量分类器(Support Vector Classifier)(也存在回归SVMs,在scikit-learn中叫作“SVR).练习训练一个数字数据集的svm.SVC.省略最后10%并且检验观测值的预测表现。使用核类别不总是可以用超平面分离,所以人们指望有些可能是多项式或指数实例的非线性决策函数:线性核svc = svm。SVC(kernel=linear)多项式核svc = svm。SVC(kernel=poly, degree=3) degree: polynomial degreeRBF核(径向基函数)5svc = svm

14、.SVC(kernel=rbf) gamma: inverse of size of radial kernel练习以上提到的哪些核对数字数据集有更好的预测性能?(译者:前两个)聚类:将观测值聚合给定鸢尾花数据集,如果我们知道这有三种鸢尾花,但是无法得到它们的标签,我们可以尝试非监督学习:我们可以通过某些标准聚类观测值到几个组别里.k均值聚类最简答的聚类算法是k均值算法.这将一个数据分成k个集群,以最小化观测值(n维空间中)到聚类中心的均值来分配每个观测点到集群;然后均值重新被计算。这个操作递归运行直到聚类收敛,在max_iter回合内到最大值。6(一个替代的k均值算法实现在scipy中的cl

15、uster包中。这个scikit-learn实现与之不同,通过提供对象API和几个额外的特性,包括智能初始化。)In 82: from sklearn import cluster, datasetsIn 83: iris = datasets.load_iris()In 84: k_means = cluster.KMeans(k=3)In 85: k_means.fit(iris。data) Out85: KMeans(copy_x=True, init=kmeans+, k=3, max_iter=300, n_init=10, n_jobs=1, precompute_distances=Tr

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1