【摘要】
sklearn是机器学习领域中十分重要的工具,涵盖分类、回归、聚类、降维、模型选择和预处理等功能,十分强大,而如今官方中文文档终于上线!今天让我来为大家简单介绍一下sklearn这一神器吧!
来,网址在这里:
另外补充一下,这个网址里面也有翻译,可以参考:
机器学习多半是十分复杂的算法,在现实的应用中很难由自己在短时间内高效、健壮地完成较为复杂算法,“君子性非异也,善假于物也”,sklearn成为最为简单和常用的工具,不仅有复杂的算法实现,还有比较多的数据集操作和结果分析操作,有些功能甚至连tensorflow都没有,例如交叉验证的数据集生成等,因此sklearn非常优秀!
在之前,只有英文文档,即使有勇气啃生肉,也不那么容易,现在,出了中文文档,还是非常优秀的。(划重点,不是全部汉化了,API似乎会跳转到英文版去)
还是简单介绍介绍这个玩意吧。
sklearn的主要功能
sklearn把主要的功能分为6个模块。
分类
分类里面,当然就是应用的最广泛的算法,包括SVM、NB、DT等,即离散性监督学习,不拓展了。
回归
回归就是连续性监督学习,SVR、Lasso、甚至最简单的线性回归,都有,同样不展开。
聚类
无监督学习,很出名所以也不展开了,k-means、DBSCAN等,同不展开。
降维
sklearn把降维从数据预处理里面拿了出来,当做是单独的一块,里面包含了PCA、ICA以及一些更为复杂的方法,方便使用。
模型选择
对一个问题,会有很多模型方法可以用,但是哪个是好,那个不好,需要根据建模分析的结果判断,在sklearn中,提供了大量用于计算模型性能和结果的功能,交叉验证、自动调参、量化预测、学习曲线等分析功能,方便进行模型性能分析。
预处理
主要针对特征提取和归一化处理。和降维不同,特征提取是指从众多特征中选取最好的特征进行分析,从而使特征和目标之间更匹配,更有针对性,从而提升结果,提升模型性能,里面涵盖了卡方统计量、相关系数等计算和特征提取功能,另一方面还有二值化、归一化、文本向量化等特别的功能,近期我用了sklearn将文本转化为以tf-idf值为权重的文本向量,十分方便!
来说说sklearn怎么用和学习
关于学习,我建议不需要专门学sklearn,为了不让你成为除了调包啥都不会的人,不建议你在无任何机器学习基础就来碰这个东西,而是应该学理论,然后是python,在这两个都有比较好的基础后,再来看sklearn,而sklearn的学习,根据需求百度,边百度变做,通过做和试错导学,通过这种方式学会更好一些。
一般而言,在百度里面搜这样的关键词“python+要实现的功能”,要是sklearn有,那一定是前几条,有很多好人已经通过博客等方式进行了分享,并且有详细代码,大家只需要做代码的搬运工即可,当然这是最理想的。(好人一生平安)
但是,网上的博客大都是针对最为简单的情况,很多时候可能需要调整方法中的参数,那么有哪些参数可以调,这就是一个问题。这个时候,sklearn文档就会发挥作用。以支持向量机为例,通过查文档,知道有很多参数需可以调整,罚因子、核函数、迭代历程展示、最大迭代代数等等,你可以根据需求进行调整。
更多功能需要大家去挖掘,欢迎大家去探索。
领取专属 10元无门槛券
私享最新 技术干货