《Python机器学习原理与算法实现》学习笔记--一文掌握机器学习与Python的基础概念

机器学习常见的基础概念

根据输入数据是否具有“响应变量”信息,机器学习被分为“监督式学习”和“非监督式学习”。“监督式学习”即输入数据中即有X变量,也有y变量,特色在于使用“特征(X变量)”来预测“响应变量(y变量)”。“非监督式学习”即算法在训练模型时期不对结果进行标记,而是直接在数据点之间找有意义的关系,或者说输入数据中仅有X变量而没有y变量,特色在于针对X变量进行降维或者聚类,以挖掘特征变量的自身特征。

“监督式学习”机器学习又分为回归问题和分类问题,在python中,Classifier一般针对分类问题,Regressor一般针对回归问题(logistic除外)。错误率、精度、查准率、查全率都是“分类问题监督式学习”的常用性能度量标准。ROC曲线下方的区域又被称为AUC值,一般情况下AUC值越大,说明学习效果越好。

训练样本:即计算机用来应用算法构建模型时使用的样本。

测试样本:即计算机用来检验机器学习效果、检验外推泛化应用能力时使用的样本

偏差度量的是学习算法的期望预测与真实结果的偏离程度,反映的是学习算法的拟合能力。

方差度量的是在大量重复抽样过程中,同样大小的训练样本的变动导致的学习性能的变化,反映的是数据扰动所造成的影响,也就是模型的稳定性。

噪声度量的是针对既定学习任务,使用任何学习算法所能达到的期望泛化误差的最小值,属于不可约减误差,反映的是学习问题本身的难度,或者说是无法用机器学习算法解决的问题。噪声大小取决于数据本身的质量,当数据给定时,机器学习所能达到的泛化能力的上限也就确定。

“泛化误差”反映的模型的“泛化”能力,“泛化误差”越小,模型“泛化”能力越强。我们之所以开展机器学习是为了基于既有数据来预测未知,以期进一步改善未来商业表现,所以从应用的角度出发,我们主要关注的是泛化误差而不是经验误差,如果某种机器学习模型比另一种具有更小的泛化误差,那么这种模型就相对更加有效。

为了度量模型的泛化能力,通常我们需要进行样本分割,可以选用的方法包括验证集法、K折交叉验证、自助法、留一法等。

在机器学习项目的数据清洗与特征工程环节,有归一化、标准化、离散化、缺失值处理等多种方式。

Python必学基础

input函数用来实现基本的输入;print函数用来实现基本的输出:使用时如果括号内容为字符串,则可以使用搭配单引号、搭配双引号、搭配三引号。

列表:list=[a,b,c,d]。列表中的元素可以为整数、实数、字符串、元组、列表等任意类型。

元组:tuple=(a,b,c,d)。元组为不可变序列,元组中的元素不可单独修改。元组中的元素可以为整数、实数、字符串、元组、列表等任意类型,可以相同(重复),也可以不同,甚至相互不同的类型。

字典:dict = {key1 : value1, key2 : value2 }。字典由键(key)和值(value)成对组成,本质上是键和值的映射。

索引就是序列中的每个元素所在的位置,可以通过从左往右的正整数索引,也可以通过从右往左的负整数索引。从左往右的正整数索引:在Python序列中,第一个元素的索引值为0,第二个元素的索引值为1,以此类推。假设序列中共有n个元素,那么最后一个元素的索引值为n-1。从右往左的负整数索引:在Python序列中,最后一个元素的索引值为-1,倒数第二个元素的索引值为-2,以此类推。

假设序列中共有n个元素,那么第一个元素的索引值为-n。Python中使用数字n乘以一个序列(非numpy模块中的数组、非pandas模块中的序列,只是普通的序列)会生成新的序列,内容为原来序列被重复n 次的结果

序列的切片就是将序列切成小的子序列,通过切片操作可以访问一定范围内的元素或者生成一个新的子序列。

Python的保留字区分大小写。

流程控制语句

选择语句对应选择执行,选择语句包括三种:if语句,if…else语句和if…elif…else语句。if语句相当于“如果……就……”;if…else语句相当于“如果……就……,否则……”;if…elif…else语句相当于“如果……则……,否则如果满足某种条件则……,不满足某种条件则……,”

循环语句包括两种:while语句和for语句。while循环语句通过设定条件语句来控制是否循环执行循环体代码块中的语句,只要条件语句为真,循环就会一直执行下去,直到条件语句不再为真为止。for循环语句为重复一定次数的循环,适用于遍历或迭代对象中的元素。

跳转语句依托于循环语句,适用于从循环体中提前离开,比如在while循环达到结束条件之前离开,或者在for循环完成之前离开。跳转语句包括两种:break语句和continue语句。

线性回归算法

理解起来比较简单,实现起来也比较容易;是许多强大的非线性模型的基础;具有一定的稳定性和可解释性;蕴含着机器学习的很多重要思想。

朴素贝叶斯算法

朴素贝叶斯方法是在贝叶斯算法的基础上进行了相应的简化,即假定给定目标值时特征变量之间相互条件独立。包括高斯朴素贝叶斯、多项式朴素贝叶斯、补集朴素贝叶斯、二项式朴素贝叶斯等,均可通过Python的sklearn模块实现。

决策树算法

常用的特征变量选择及其临界值确定方法包括信息增益(Information Gain)、增益比率(Gain Ratio)、基尼指数(Gini Index)。在决策树算法中,先采用的特征变量未必是贡献最大的,而是要看信息增益等指标的变动程度。

二元Logistic回归算法

二元Logistic回归算法中所估计的参数,不是特征变量对响应变量的边际效应,而是一种“概率优势比”的概念。

集成学习

集成学习(组合学习、模型融合)的方式,即将单一的弱学习器组合在一起,通过群策群力形成强学习器,达到模型性能的提升。针对集成方法的不同,集成学习可以分为并行集成和串行集成。

如果弱学习器间存在强依赖的关系,后一个弱学习器的生成需依赖前一个弱学习器的结果,则集成学习方式为串行集成,代表算法为Boosting(提升法),包括AdaBoost、GBDT、XGBoost等。其中AdaBoost算法会使得难于分类的样本的权值呈指数增长,后续的训练过程将会过于偏向这类困难样本,从而导致AdaBoost算法容易受极端值干扰。回归问题损失函数常用平方损失函数、拉普拉斯损失函数(绝对损失函数)、胡贝尔损失函数和分位数损失函数,分类问题损失函数常用指数损失函数、逻辑损失函数、交叉熵损失函数。

如果弱学习器间不存在依赖关系,可以同时训练多个基学习器,适合分布式并行计算,则集成学习方式为并行集成,代表算法为装袋法、随机森林算法,其中装袋法是随机森林算法一种特例。装袋法在构建基分类器时,将所有特征变量都考虑进去,随机森林算法仅考虑部分特征变量。

自助法

自助法本质上是一种有放回的再抽样。

学习感言

根据我多年的教学经验,大家无论是学数据分析中的机器学习还是统计学计量经济学,都建议结合着具体的软件或编程语言来学,对于不想走纯科研路线或者想成为理论大牛的大多数朋友来说,不建议过多研究数学公式,而是应一边学习知识原理,一遍上手操作,不然就会在复杂的数学公式推导面前耗尽了所有的学习热情。

Python机器学习与数据分析图书推荐

如果是用Python编程语言,针对数据分析或机器学习推荐两本入门级的图书:《Python机器学习原理与算法实现》(杨维忠 张甜 著 2023年2月新书 清华大学出版社)《Python数据科学应用从入门到精通》(张甜 杨维忠 著 2023年11月新书 清华大学出版社)。这两本书的特色是在数据分析、机器学习各种算法的介绍方面通俗易懂,较少涉及数学推导,对数学基础要求相对不高,在python代码方面讲的很细致,看了以后根据自身需要选取算法、优化代码、科学调参。

《Python机器学习原理与算法实现》(杨维忠 张甜 著 2023年2月新书 清华大学出版社)内容非常详实,包含了Python和机器学习,相当于一次获得了两本书。在讲解各类机器学习算法时,逐一详解用到的各种Python代码,针对每行代码均有恰当注释(这一点基本上是大多数书目做不到的)。《Python机器学习原理与算法实现》一书创作完成后,在正式出版之前,已经开发成一套系统课程,分9次授课,在某全国性股份制商业银行内部开展了培训,490人根据行内组织统一学习,授课完成后放在知鸟平台供回放学习,9次课程累计回放量近3万次,得到参训学员的一致好评,广泛应用于各位学员的工作实践。(所以,这是一本避雷避坑、已经被亲测可行的网红书,只要用心学,都没问题哦)

《Python数据科学应用从入门到精通》一书,旨在教会读者实现全流程的数据分析,并且相对《Python机器学习原理与算法实现》一书增加了很多概念性、科普性的内容,进一步降低了学习难度。国务院发展研究中心创新发展研究部第二研究室主任杨超 ,山东大学经济学院金融系党支部书记、副主任、副教授、硕士生导师张博,山东管理学院信息工程学院院长 袁锋 教授、硕士生导师,山东大学经济学院 刘一鸣 副研究员、硕士生导师,得厚投资合伙人 张伟民等一众大牛联袂推荐。全书内容共分13章。其中第1章为数据科学应用概述,第2章讲解Python的入门基础知识,第3章讲解数据清洗。第4~6章介绍特征工程,包括特征选择、特征处理、特征提取。第7章介绍数据可视化。第8~13章介绍6种数据挖掘与建模方法,分别为线性回归、Logistic回归、决策树、随机森林、神经网络、RFM分析。从数据科学应用和Python的入门,再到数据清洗与特征工程,最终完成数据挖掘与建模或数据可视化,从而可以为读者提供“从拿到数据开始,一直到构建形成最终模型或可视化报告成果”的一站式、全流程指导。买这一本书相当于一下子得到了5本书(Python基础、数据清洗、特征工程、数据可视化、数据挖掘与建模),入门超级简单,不需要编程基础,也不需要过多数学推导,非常适用于零基础学生。

两本书随书赠送的学习资料也很多,包括全部的源代码、PPT、思维导图,还有10小时以上的讲解视频,每一章后面还有练习题及参考答案,还有学习群,相对于只看网络上的视频,一方面更加系统、高效,另一方面照着书一步步操作学起来也事半功倍。全网热销中,当当、京东等平台搜索“Python机器学习 杨维忠”“Python数据科学 杨维忠”即可。

创作不易,恳请多多点赞,感谢您的支持!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/185880.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

会泽一村民上山放羊吸烟引发森林火灾,AI科技急需关注

2023年4月,会泽县古城街道厂沟村委会望香台山林中发生了一场由疏忽引发的森林火灾。张某某在放羊时未完全熄灭烟头,导致7.33公顷的林地和草地被焚毁,直接经济损失高达29.097万元。这一事件再次凸显了日常生活中的安全隐患。 在这一背景下&…

GeoServer改造Springboot源码四(图层管理设计)

一、界面设计 图 1图层管理列表 图 2选择图层数据源 图 3添加图层 图 4编辑图层

如何决定产品功能的优先顺序:从 Scrum 过渡到 Shape Up

领导者应该决定要解决的问题的“内容”和“时间”(而不是要实施的解决方案)。产品团队成员应该可以自由地通过他们只能根据自己的专业知识和知识构思和执行的解决方案来定义“如何”。本文将指导我们从 Scrum 转向Shape Up,立即开始按时交货&…

芯片技术探索:了解构芯片的设计与制造之旅

芯片技术探索:了解构芯片的设计与制造之旅 一、引言 随着现代科技的飞速发展,芯片作为信息技术的核心,已经渗透到我们生活的方方面面。从智能手机、电视、汽车到医疗设备和工业控制系统,芯片在各个领域都发挥着至关重要的作用。然而,对于大多数人来说,芯片仍然是一个神秘…

11.30

1.设计一个Per类&#xff0c;类中包含私有成员:姓名、年龄、指针成员身高、体重&#xff0c;再设计一个Stu类&#xff0c;类中包含私有成员:成绩、Per类对象p1&#xff0c;设计这两个类的构造函数、析构函数和拷贝构造函数。 #include <iostream>using namespace std;cl…

从setText处理来学习绘制流程

Android中TextView调用setText是会进行text文字的更新&#xff0c;是一个比较简单的画面变化&#xff0c;这可以作为一个出发点来查看绘制处理流程。这里来问问chatGPT&#xff0c;来查看大致流程 请讲讲Android中textView的setText处理流程 ChatGPT Poe 当你调用 textView.s…

【蓝桥杯选拔赛真题70】Scratch输入输出数字 少儿编程scratch图形化编程 蓝桥杯创意编程选拔赛真题解析

目录 scratch输入输出数字 一、题目要求 编程实现 二、案例分析 1、角色分析

如何绕过某讯手游保护系统并从内存中获取Unity3D引擎的Dll文件

某讯的手游保护系统用的都是一套&#xff0c;在其官宣的手游加固功能中有一项宣传是对比较热门的Unity3d引擎的手游保护方案&#xff0c;其中对Dll文件的保护介绍如下&#xff0c; “Dll加固混淆针对Unity游戏&#xff0c;对Dll模块的变量名、函数名、类名进行加密混淆处理&…

哪吒汽车拔头筹,造车新势力首家泰国工厂投产

中国造车新势力首家泰国工厂投产&#xff01;11月30日&#xff0c;哪吒汽车位于泰国的首家海外工厂——泰国生态智慧工厂正式投产下线新车&#xff0c;哪吒汽车联合创始人兼CEO张勇、哪吒汽车泰国合作伙伴BGAC公司首席执行官万查曾颂翁蓬素等出席仪式。首辆“泰国制造”的哪吒汽…

4、RTC 实时时钟Demo(STM32F407)

RTC是个独立的BCD定时器/计数器。RTC 提供一个日历时钟&#xff0c;两个可编程闹钟中断&#xff0c;以及一个具有中断功能的周期性可编程唤醒标志。RTC还包含用于管理低功耗模式的自动唤醒单元。 (RTC实质&#xff1a;一个掉电(主电源)后还继续运行(由VBAT供电)的32位的向上计…

深入了解Java8新特性-日期时间API之TemporalAdjusters与TemporalAdjuster

阅读建议 嗨&#xff0c;伙计&#xff01;刷到这篇文章咱们就是有缘人&#xff0c;在阅读这篇文章前我有一些建议&#xff1a; 本篇文章大概10000多字&#xff0c;预计阅读时间长需要10分钟。本篇文章的实战性、理论性较强&#xff0c;是一篇质量分数较高的技术干货文章&…

js 获取数组的最大值与最小值

let arr [1, 2, 5, 8, 10, 100, -1] 1. 使用Math的静态方法max/min Math.max()函数返回给定的一组数中的最大值。 它的语法&#xff1a;Math.max(value1[, value2, ...]) 使用此方法&#xff0c;需要注意&#xff0c;如果没有参数的话&#xff0c;则返回-Infinity。如果有任一…

“消费增值:让每一笔消费创造更多价值“

亲爱的消费者朋友们&#xff0c;你们好&#xff01;今天&#xff0c;我要向你们揭示一种全新的消费理念——消费增值&#xff0c;让你的每一笔消费都变得更有价值&#xff01; 在传统的消费观念中&#xff0c;我们仅仅用金钱来购买物品或享受服务&#xff0c;之后这些物品和服…

无mac电脑生成uniapp云打包私钥证书的攻略

uniapp顾名思义是一个跨平台的开发工具&#xff0c;大部分uniapp的开发者&#xff0c;其实并没有mac电脑来开发&#xff0c;但是生成ios的证书&#xff0c;官网的教程却是需要mac电脑的&#xff0c;那么有没有办法无需mac电脑即可生成uniapp云打包的私钥证书呢&#xff1f; 下…

程序员养生之道

程序员养生之道——如何保持健康的生活方式 摘要&#xff1a; 随着互联网行业的快速发展&#xff0c;越来越多的人选择从事程序员这个职业。然而&#xff0c;长时间的工作和高强度的压力容易导致程序员出现亚健康状况&#xff0c;如头发稀疏、视力下降、肥胖等问题。因此&#…

从谷歌搜索结果出现 AI 生成的图片谈起:AI的利与弊

随着人工智能&#xff08;AI&#xff09;的不断发展&#xff0c;其应用领域也越来越广泛。谷歌搜索是现代人日常生活中的一个常用工具&#xff0c;经常用于获取各种信息。最近&#xff0c;谷歌搜索结果中甚至出现了由AI生成的图片&#xff0c;这引发了人们对AI技术的讨论。 首…

轧钢厂数字化转型 离不开这类几何尺寸测量仪的使用

从“钢铁是怎样炼成的”到“智慧钢铁如何炼成”&#xff0c;传统钢铁冶炼正在完成数智赋能的“华丽转身”。而要想完成数字化转型&#xff0c;就离不开产线的升级&#xff0c;智能化数字化的产线更是离不开重要的品质检测仪&#xff0c;而在一些规则长材的检测中&#xff0c;更…

[UGUI]Unity背包系统制作详细步骤

二、背包制作 1.创建空物体&#xff0c;然后创建UI-Image 制作背包整个背包所在的父UI的背景图 选中BG&#xff0c;找到他的锚点设置&#xff0c;按住Alt键&#xff0c;点击右下角的适配&#xff0c;让锚点和内容都匹配画布 PS&#xff1a;不按Alt键是设置一个元素的锚点位…

leetcode算法之链表

目录 1.两数相加2.两两交换链表中的节点3.重排链表4.合并K个升序链表5.K个一组翻转链表 1.两数相加 两数相加 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(…

TDI网络过滤驱动应用(一)

文章目录 TDI网络过滤驱动应用1. 技术概览2. 数据包的抓取3. 应用实例3.1 TrafficShaper(限流)3.2 DnsRedirector(DNS重定向)3.3 TcpRedirector(TCP重定向) 4. 总结与参考 TDI网络过滤驱动应用 在前面的文章中&#xff0c;我们分析了TDI网络过滤驱动的基本开发框架以及TDI网络…