机器学习实战(Machine Learning in Action)笔记--Chapter1:机器学习基础

简介:

Part1 分类

监督学习一般使用两种类型的目标变量:标称型(主要用于分类)、数值型(主要用于回归)。

非均衡分类问题

第1章 机器学习基础

专家系统

训练样本、特征、目标变量(分类问题中为类别)

训练数据和测试数据

知识表示

  • 监督学习:分类、回归
  • 无监督学习

    • 将数据集合分成由类似的对象组成的多个类的过程被称为聚类
    • 将寻找描述数据统计值的过程称之为密度估计
  • 监督学习的用途:k-近邻算法、朴素贝叶斯算法、支持向量机、决策树、线性回归、局部加权线性回归、Ridge回归、Lasso最小回归系数估计
  • 无监督学习的用途:K-均值、DBSCAN、最大期望算法、Parzen窗设计

如何选择合适的算法

  1. 使用机器学习算法的目的,想要算法完成何种任务,比如是预测明天下雨的概率还是对投票者按照兴趣分组;
  2. 需要分析或收集的数据是什么

首先考虑使用机器学习算法的目的。如果想要预测目标变量的值,则可以选择监督学习算法,否则可以选择无监督学习算法。确定选择监督学习算法之后,需要进一步确定目标变量类型,如果目标变量为离散型,则可以选择分类算法;如果目标变量是连续型的数值,则需要选择回归算法。

如果不想预测目标变量的值,则可以选择无监督学习算法。进一步分析是否需要将数据划分为离散的组。如果这是唯一的需求,则使用聚类算法;如果还需要估计数据与每个分组的相似程度,则需要使用密度估计算法。

其次需要考虑的是数据问题,应该充分了解数据,对实际数据了解得越充分,越容易创建符合实际需求的应用程序。主要应该了解数据的以下特性:特征值是离散型变量还是连续型变量,特征值中是否存在缺失的值,何种原因造成缺失值,数据中是否存在异常值,某个特征发生的频率如何(是否罕见得如同海底捞针)等等。充分了解上面提到的这些数据特性可以缩短选择机器学习算法的时间。

一般来说发现最好算法的关键环节是反复试错的迭代过程。

开发机器学习应用程序的步骤

(1)收集数据
(2)准备输入数据
(3)分析输入数据
(4)训练算法
(5)算法测试
(6)使用算法

Python语言的优势

(1)Python的语法清晰
(2)易于操作纯文本文件
(3)使用广泛,存在大量的开发文档

  • SciPy和NumPy等许多科学函数库都实现了向量和矩阵操作。
  • Python的科学工具可以与绘图工具Matplotlib协同工作。Matplotlib可以绘制2D、3D图形,也可以处理科学研究中经常使用到的图形。
  • Python开发环境还提供了交互式Shell环境,允许用户开发程序时查看和检测程序内容。
  • Python开发环境将来还会集成Pylab模块,将NumPy、SciPy和Matplotlib合并为一个开发环境。

Python语言唯一的不足是性能问题。

Numpy函数库基础


from num import *    #将NumPy函数库中的所有模块引入当前的命名空间

random.rand(4,4)    #构造一个4*4的随机数组

randMat = mat(random.rand(4,4)    #调用mat()函数将数组转化为矩阵

randMat.I    #矩阵求逆

invRandMat = randMat.I

randMat*invRandMat    #结果应该是单位矩阵

myEye = randMat*invRandMat

myEye - eye(4)    #eye(4)创建4*4的单位矩阵

本系列笔记所涉及的知识、数据等信息的版权归原书作者所有,请购买正版图书。O(∩_∩)O谢谢~

参考资料:机器学习实战

相关文章
|
19天前
|
机器学习/深度学习 TensorFlow API
机器学习实战:TensorFlow在图像识别中的应用探索
【10月更文挑战第28天】随着深度学习技术的发展,图像识别取得了显著进步。TensorFlow作为Google开源的机器学习框架,凭借其强大的功能和灵活的API,在图像识别任务中广泛应用。本文通过实战案例,探讨TensorFlow在图像识别中的优势与挑战,展示如何使用TensorFlow构建和训练卷积神经网络(CNN),并评估模型的性能。尽管面临学习曲线和资源消耗等挑战,TensorFlow仍展现出广阔的应用前景。
47 5
|
1月前
|
机器学习/深度学习 人工智能 算法
揭开深度学习与传统机器学习的神秘面纱:从理论差异到实战代码详解两者间的选择与应用策略全面解析
【10月更文挑战第10天】本文探讨了深度学习与传统机器学习的区别,通过图像识别和语音处理等领域的应用案例,展示了深度学习在自动特征学习和处理大规模数据方面的优势。文中还提供了一个Python代码示例,使用TensorFlow构建多层感知器(MLP)并与Scikit-learn中的逻辑回归模型进行对比,进一步说明了两者的不同特点。
64 2
|
1月前
|
机器学习/深度学习 数据挖掘 Serverless
手把手教你全面评估机器学习模型性能:从选择正确评价指标到使用Python与Scikit-learn进行实战演练的详细指南
【10月更文挑战第10天】评估机器学习模型性能是开发流程的关键,涉及准确性、可解释性、运行速度等多方面考量。不同任务(如分类、回归)采用不同评价指标,如准确率、F1分数、MSE等。示例代码展示了使用Scikit-learn库评估逻辑回归模型的过程,包括数据准备、模型训练、性能评估及交叉验证。
68 1
|
1月前
|
机器学习/深度学习 算法 数据挖掘
【Python篇】深度探索NumPy(下篇):从科学计算到机器学习的高效实战技巧1
【Python篇】深度探索NumPy(下篇):从科学计算到机器学习的高效实战技巧
51 5
|
1月前
|
机器学习/深度学习 数据采集 分布式计算
【Python篇】深入机器学习核心:XGBoost 从入门到实战
【Python篇】深入机器学习核心:XGBoost 从入门到实战
103 3
|
1月前
|
机器学习/深度学习 算法 数据可视化
【Python篇】深度探索NumPy(下篇):从科学计算到机器学习的高效实战技巧2
【Python篇】深度探索NumPy(下篇):从科学计算到机器学习的高效实战技巧
40 1
|
1月前
|
数据采集 机器学习/深度学习 TensorFlow
声纹识别实战:从数据采集到模型训练
【10月更文挑战第16天】声纹识别技术通过分析个人的语音特征来验证其身份,具有无接触、便捷的特点。本文将带你从零开始,一步步完成声纹识别系统的构建,包括数据采集、音频预处理、特征提取、模型训练及评估等关键步骤。我们将使用Python语言和相关的科学计算库来进行实践。
135 0
|
1月前
|
机器学习/深度学习 存储 算法
基于机器学习的地震预测(Earthquake Prediction with Machine Learning)(下)
基于机器学习的地震预测(Earthquake Prediction with Machine Learning)
36 0
|
1月前
|
机器学习/深度学习 存储 数据可视化
基于机器学习的地震预测(Earthquake Prediction with Machine Learning)(上)
基于机器学习的地震预测(Earthquake Prediction with Machine Learning)
44 0
|
2月前
|
机器学习/深度学习 算法 数据挖掘
从菜鸟到大师:Scikit-learn库实战教程,模型训练、评估、选择一网打尽!
【9月更文挑战第13天】在数据科学与机器学习领域,Scikit-learn是不可或缺的工具。本文通过问答形式,指导初学者从零开始使用Scikit-learn进行模型训练、评估与选择。首先介绍了如何安装库、预处理数据并训练模型;接着展示了如何利用多种评估指标确保模型性能;最后通过GridSearchCV演示了系统化的参数调优方法。通过这些实战技巧,帮助读者逐步成长为熟练的数据科学家。
114 3

热门文章

最新文章