分类
确定对象属于哪个类别。
应用:垃圾邮件检测,图像识别。 算法: SVM,最近邻居,随机森林,……
回归
预测与对象关联的连续值属性。
应用:药物反应,股票价格。 算法: SVR,岭回归,套索,……
聚类
将类似对象自动分组到集合中。
应用:客户细分,分组实验结果 算法: k-Means,谱聚类,均值漂移,……
降维
减少要考虑的随机变量的数量。
应用:可视化,提高效率 算法: PCA,特征选择,非负矩阵分解。
模型选择
比较,验证和选择参数和模型。
目标:通过参数调整提高准确性 模块: 网格搜索,交叉验证,指标。
预处理
特征提取和规范化。
应用程序:转换输入数据(如文本)以与机器学习算法一起使用。 模块: 预处理,特征提取。
scikit-learn,又写作sklearn,是一个开源的基于python语言的机器学习工具包。它通过NumPy, SciPy和
Matplotlib等python数值计算的库实现高效的算法应用,并且涵盖了几乎所有主流机器学习算法。
官网:https://scikit-learn.org/stable/
在工程应用中,用python手写代码来从头实现一个算法的可能性非常低,这样不仅耗时耗力,还不一定能够写出构架清晰,稳定性强的模型。更多情况下,是分析采集到的数据,根据数据特征选择适合的算法,在工具包中调用算法,调整算法的参数,获取需要的信息,从而实现算法效率和效果之间的平衡。而sklearn,正是这样一个可以帮助我们高效实现算法应用的工具包。
sklearn有一个完整而丰富的官网,里面讲解了基于sklearn对所有算法的实现和简单应用。然而,这个官网是全英文的,并且现在没有特别理想的中文接口,市面上也没有针对sklearn非常好的书。因此,这门课的目的就是由简向繁地向大家解析sklearn的全面应用,帮助大家了解不同的机器学习算法有哪些可调参数,有哪些可用接口,这些接口和参数对算法来说有什么含义,又会对算法的性能及准确性有什么影响。我们会讲解sklearn中对算法的说明,调参,属性,接口,以及实例应用。注意,本门课程的讲解不会涉及详细的算法原理,只会专注于算法在sklearn中的实现,如果希望详细了解算法的原理,建议阅读下面这本两本书:
