1 机器学习简介
1.1 机器学习 vs 数据挖掘
- 机器学习:属于人工智能研究与应用的一个分支领域,其目的更偏向于是研究一种为了让计算机不断从数据中学习知识,而使机器学习得到的结果不断接近目标函数的理论。机器学习是多领域交叉,涉及概率论、统计学,算法复杂度理论等多门学科,广泛应用于数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、垃圾邮件过滤、推荐系统、知识图谱、医学诊断、检测信用卡欺诈、语音和手写识别、战略游戏和机器人运用等。
【注】机器学习sklearn库的共分为6大部分,分别用于完成分类、回归、聚类、降维、模型选择(sklearn.model_selection)以及数据的预处理(sklearn.preprocessing)。
- 数据挖掘:一般是指从大量的数据中通过算法搜索隐藏于其中信息的过程。机器学习为数据挖掘提供了理论方法,而数据挖掘技术是机器学习技术的一个实际应用。“数据挖掘十大算法”包括:K均值(K-mean)、最大期望(EM)、关联分析(Apriori)、决策树(C4.5)、支持向量机(SVM)、集成(AdaBoost)、k近邻(kNN)、朴素贝叶斯(NB)和分类回归树(CART)、网页连接(PageRank)。
1.2 数据集切割 / 数据分区
- 训练数据集:用于构建模型,进行模型参数的估计和训练。通常抽取数据的中的 80%,可以在训练数据上做任何的分析。
- 验证数据集:用于对模型的结果进行验证和评估,依此进行模型优化修正和选择,调整过拟合现象和比较预测模型。常用进行交叉验证方法(如10折交叉验证),不做交叉验证时也可不划分验证集,而直接使用测试集来评估模型。
- 测试数据集:对最终选定的模型进行最终评估,测试模型的推广能力。
**如何划分训练集和测试集?**留出法(Hold-out)(数据集互斥)、交叉验证法(Cross Validation)、 自助法(BootStrapping)。