- 博客(95)
- 收藏
- 关注
原创 Python28-3 朴素贝叶斯分类算法
朴素贝叶斯(Naive Bayes)算法是一种基于贝叶斯定理的分类算法。它广泛应用于文本分类、垃圾邮件检测和情感分析等领域。该算法假设特征之间是独立的,这个假设在实际情况中可能并不完全成立,但Naive Bayes在许多实际应用中仍表现良好。贝叶斯定理描述了后验概率的计算方法,公式如下:在分类问题中,A表示类别,B表示特征向量。Naive Bayes算法通过最大化后验概率来进行分类:由于特征之间独立的假设,后验概率可以简化为:其中,( P(c) ) 是先验概率,可以通过样本中的类别频率估计;
2024-07-01 00:01:13
1079
原创 Python28-1 机器学习算法之决策树
决策树通过递归将数据分割成更小的子集,构建一个树形结构,其中每个节点代表一个特征的测试,分支代表测试结果,叶子节点代表最终的分类或回归结果。通过这个例子可以看到,决策树通过逐层分割特征,将数据分成不同的子集,最终在叶子节点给出预测结果。特征,值小于等于 2.45 的样本被分到左子树,值大于 2.45 的样本被分到右子树。:将上述分割过程形成树形结构,根节点和内部节点代表特征测试,叶子节点代表最终预测。:信息增益的一种改进,考虑了特征取值的不同数量,选择信息增益率最大的特征进行分割。
2024-06-29 00:01:09
1000
原创 Python28-2 机器学习算法之SVM(支持向量机)
SVM的目标是找到一个最佳的分割超平面,将不同类别的数据分开,使得两个类别之间的间隔(即边界)最大化。假设我们有一个训练数据集 ( (x_1, y_1), (x_2, y_2), ···, (x_n, y_n) ),其中 ( x_i ) 是特征向量,( y_i ) 是对应的类别标签,取值为 ( {+1, -1} )。SVM可以通过使用核函数将输入数据映射到高维空间,在高维空间中,原本非线性可分的数据可以变成线性可分的。在更高维度的空间中,超平面是将该空间分为两部分的一个n-1维的子空间。
2024-06-29 00:00:18
1236
原创 Python28 十大机器学习算法之线性回归和逻辑回归
由于它预测的是概率,所以其输出值介于0和1之间,正如我们所预期的。这项研究的结果可能是这样的——如果你被问到一个基于三角函数的问题,你有70%的可能性解开它。而如果你面对的是五年级的历史问题,那么你答对的概率可能只有30%。在数学上,逻辑回归是通过将预测变量的线性组合转化为结果的对数几率(也就是事件发生与不发生的概率之比的自然对数)来实现分类功能的。简单线性回归的特征是一个自变量。上面 p 是存在目标特征的概率,它选择的参数是使观察样本值的最大化,而不是最小化平方误差之和的参数(如在普通回归中)。
2024-06-28 00:11:10
1160
原创 Python27 神经网络中的重要概念和可视化实现
激活函数将加权输入的和作为参数,并返回神经元的输出。在上式中,用x0表示1,w0表示b。“Sigmoid”“Tanh”ReLu等等。
2024-06-28 00:10:16
1308
原创 Python26 Lambda表达式
lambda是 Python 中的一个关键字,用于定义简单的匿名函数。与def关键字定义的标准函数不同,lambda函数主要用于需要一个函数对象作为参数的简短操作。lambda函数的设计哲学是简洁,因此它只能包含一条表达式,而不能是复杂的代码块。以下是lambda和def匿名性lambda函数是匿名的,它们没有函数名def定义的函数有明确的名称复杂性lambda函数只能包含一条表达式,不能有多个语句或复杂的控制流(如循环或条件判断)def定义的函数可以包含多条语句和复杂的控制流用途lambda。
2024-06-27 11:37:30
833
原创 Python25 Numpy基础
NumPy(Numerical Python 的简称)是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。NumPy 的前身是 Numeric,这是一个由 Jim Hugunin 等人开发的一个用于数值计算的扩展程序库。由于 Numeric 的一些问题,Jim Hugunin 创建了另一个库叫 SciPy,用于弥补 Numeric 的一些不足。
2024-06-27 11:36:10
741
原创 Python24 机器学习之决策树
机器学习是人工智能(AI)的一个分支,它使计算机系统能够从经验中学习并根据这些学习的数据做出决策或预测,而无需进行明确的编程。简而言之,机器学习涉及算法和统计模型的使用,使计算机能够执行特定任务,通过分析和学习输入数据来提高性能。
2024-06-26 11:13:05
1124
原创 Python23 使用Tensorflow实现线性回归
TensorFlow 是一个开源的软件库,用于数值计算,特别适用于大规模的机器学习。它由 Google 的研究人员和工程师在 Google Brain 团队内部开发,并在 2015 年首次发布。TensorFlow 的核心是使用数据流图来组织计算,使得它可以轻松地利用多种不同的硬件平台,从普通的个人电脑到大型服务器,甚至包括移动设备和边缘设备。
2024-06-26 11:11:11
994
原创 Python22 Pandas库
Pandas 是一个Python数据分析库,它提供了高性能、易于使用的数据结构和数据分析工具。这个库适用于处理和分析输入数据,常见于统计分析、金融分析、社会科学研究等领域。
2024-06-25 09:47:04
739
原创 Python21 k-近邻算法
k-近邻算法(k-Nearest Neighbors, k-NN)是一种基本且广泛使用的。它的工作原理非常直观:通过测量不同特征点之间的距离,来进行分类或回归分析。
2024-06-25 09:37:37
503
原创 Python20 Numpy基础
NumPy(Numerical Python)是一个开源的Python库,广泛用于科学计算。它提供了一个高性能的多维数组对象,以及用于处理这些数组的工具和函数。NumPy是数据分析、机器学习、工程和科学研究中不可或缺的工具之一,因为它提供了简单而高效的数值运算功能。
2024-06-24 10:13:12
825
2
原创 Python18 数据结构与数据类型转换
在Python中,数据结构是用来存储、组织和管理数据的方式,以便有效地执行各种数据操作。栈是一个后进先出(LIFO)的数据结构,只能在一端(通常是顶部)进行添加或移除元素。队列是一个先进先出(FIFO)的数据结构,元素从一端添加,从另一端移除。字典是无序的,但从Python 3.7开始,字典维护元素的插入顺序。Python中没有内置的栈数据结构,但可以使用列表来实现栈的功能。字典是基于键值对的数据结构,可以快速检索存储的数据。列表中的元素可以是不同类型的,可以包含重复值。列表不可以转换成字典。
2024-06-23 09:36:40
625
原创 Python17 多进程multiprocessing
GIL确保在任意时刻,只有一个线程在一个Python进程中执行,这意味着即使在多核CPU上,使用Python的多线程也无法实现真正的并行执行。:线程是进程的一个执行实体,是CPU调度和执行的单位,同一进程下的多个线程共享该进程的内存空间和资源。:通过多进程的方式,可以并行执行计算密集型任务,从而提高程序的运行速度,特别是在多核 CPU 上。多进程因为每个进程需要独立的内存空间和系统资源,所以资源消耗更大,进程的创建和切换也比线程要慢。类,可以创建新的进程来执行指定的任务。:提供了多种同步原语,如锁(
2024-06-23 09:34:14
914
原创 《献给阿尔吉侬的花束》:智慧与幸福的两难
格里高尔的变形极大地冲击了他的家庭。他的母亲罗丝·高登从执意要提升“查理”的智商,到妹妹出生后不再执着于此,而是想要摆脱这样一个累赘(害怕查理会影响妹妹的智商),并把查理送到了州立沃伦之家(类似于儿童福利院)。《献给阿尔吉侬的花束》是一部经典的科幻文学作品,它不仅提供了对未来科技可能走向的思考,也深刻探讨了智力与情感的关系,以及人类在追求科学进步过程中可能遭遇的道德困境。有些常识的人都会记得,眼睛的困惑有两种,也来自两种起因,不是因为走出光明,就是因为走进光明所致,不论是人体的眼睛或心灵的眼睛,都是如此。
2024-06-23 00:00:26
1476
原创 Python16 Set集合容器
但是,如果原始对象中的元素是可变的(例如列表、字典等),那么浅拷贝将只复制元素的引用,而不会创建新的副本。这意味着对副本中的可变元素的修改会影响原始对象中的相应元素,因为它们引用的是同一个对象。在Python中,浅拷贝(shallow copy)和深拷贝(deep copy)是用来创建可变对象副本的两种不同方式,它们的主要区别在于复制过程中对对象内部嵌套对象的处理方式。浅拷贝会创建一个新的对象,该对象的内容是原始对象中的元素的引用(或者说是对原始对象中元素的引用)。函数来执行浅拷贝,使用。
2024-06-22 23:58:48
631
原创 Python15 理解Python迭代器
从一个文本文件input.txt中按行读取内容,并且仅当行中包含指定关键词‘Hello’时,逐行返回这些匹配的行(10行中提取了6行含有关键词的文本行)。迭代器协议是Python的强大特性之一,它允许内置函数和控制结构以统一的方式处理多种类型的数据集合。通过支持这个协议,生成器成为了处理序列数据的灵活和强大工具,尤其是在数据量大或数据产生代价高的场景中。在Python中,迭代器是一种允许程序员遍历一个容器(特别是列表、元组、字典等集合类型)的对象,而不需要了解容器的内部结构。函数用于逐一访问迭代器的元素。
2024-06-22 23:57:56
710
原创 Word中删除空白页
把鼠标放在空白页左侧,直到出现一个空白的箭头,点击一下选中空白页,然后再Ctrl + D,打开字体选项卡,在效果中勾选隐藏即可。把鼠标放在空白页的位置,按住Ctrl + Delete即可。
2024-06-21 22:25:26
804
2
原创 Python14 面向对象编程
Python的面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它使用“对象”来设计应用程序和计算机程序。这些对象由数据和能够操作这些数据的方法组成。面向对象编程的主要目标是提高软件的可重用性、可维护性和灵活性。类(Class)类是创建对象的模板或蓝图。它定义了一组属性(称为字段或变量),以及操作这些数据的方法。一个类可以包括基本的数据属性(静态的信息片段),以及能够对数据执行特定功能的方法。对象(Object)对象是类的实例。
2024-06-21 11:47:36
1189
原创 Python13 时间格式转换
在Python中,时间格式转换通常指的是将日期和时间数据从一种表示形式转换成另一种。这种转换经常使用Python的datetime和time模块来实现。这些模块提供了多种工具,可以帮助用户将时间表示为字符串、时间戳,或是更加结构化的datetime对象等多种形式。
2024-06-21 11:46:20
554
原创 Python12 列表推导式
Python的列表推导式(list comprehension)是一种简洁的构建列表(list)的方法,它可以从一个现有的列表中根据某种指定的规则快速创建一个新列表。这种方法不仅代码更加简洁,执行效率也很高。输出表达式:新列表中的元素,可以是简单的元素,也可以是应用了某种操作的结果。迭代变量:在原始列表中进行迭代的变量。可迭代对象:原始数据集合,可以是列表、集合、序列等。可选的条件表达式:用于筛选符合条件的元素。这里的expression是对item的操作,iterable是被迭代处理的数据集,而。
2024-06-20 11:26:54
635
原创 Python11 使用爬虫实现图书250排行榜信息爬取
1.什么是网络爬虫Python爬虫是使用Python编程语言编写的程序,它能自动从互联网上抓取数据。这类程序一般利用网络请求来访问网站,解析网站的HTML或其他格式的内容,提取出有用的数据,有时还会进行后续的数据处理或存储。Python爬虫的用途包括: 数据收集:对于数据分析师和研究人员来说,爬虫可以帮助从各种网站上自动化收集数据,如社交媒体数据、金融市场数据、商品信息等。 监控网站:爬虫可以用来监控网站的变化,比如价格变动、新闻更新、股票市场动态等,对于商业智能和市场分析尤
2024-06-20 11:25:05
1388
原创 Python10 python多线程
Python的多线程指的是在一个Python程序中同时运行多个线程,以达到并发执行多个任务的目的。线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。在Python中,多线程的实现通常依赖于内置的threading模块,这个模块允许用户创建和管理线程。使用多线程可以使得程序能够在等待某些事件(如输入/输出操作)完成时,继续执行其他任务,从而提高程序的整体效率和响应速度。
2024-06-19 11:14:32
1109
1
原创 Python9 Tkinter创建GUI
Tkinter是Python的标准GUI(图形用户界面)库,提供一种简单的方式来创建窗口程序。Tkinter封装了访问Tk GUI工具包的接口,Tk是一个跨平台的GUI开发库,广泛用于创建图形界面。使用Tkinter,开发者可以快速地创建如窗口、对话框、按钮、菜单、文本框等GUI元素,并定义这些元素的行为,处理用户的交互行为。:由于Python的简单性,加上Tkinter的易用性,它非常适合用于快速开发桌面应用的原型。:对于学习编程和GUI开发的初学者,Tkinter提供了一个较为容易的学习路径。
2024-06-19 11:13:23
376
原创 Python9 Tkinter创建GUI
Tkinter是Python的标准GUI(图形用户界面)库,提供一种简单的方式来创建窗口程序。Tkinter封装了访问Tk GUI工具包的接口,Tk是一个跨平台的GUI开发库,广泛用于创建图形界面。使用Tkinter,开发者可以快速地创建如窗口、对话框、按钮、菜单、文本框等GUI元素,并定义这些元素的行为,处理用户的交互行为。快速原型开发:由于Python的简单性,加上Tkinter的易用性,它非常适合用于快速开发桌面应用的原型。教育和入门级项目。
2024-06-18 10:56:30
668
原创 Python6 os模块的学习
os( “Operating System Interface”,操作系统接口)是 Python 标准库中的一个核心模块,用于与操作系统进行交互。它提供了许多与操作系统相关的功能,包括文件和目录操作、进程管理、环境变量、路径操作等。
2024-06-17 21:00:35
375
原创 python5 正则表达式
Python中的正则表达式是一种强大的工具,用于在文本中搜索、匹配和处理特定模式的字符串。它们通过定义一种模式,使得可以轻松地搜索、替换、提取和验证文本数据,在Python中的正则表达式由re模块提供支持的。正则表达式通常用于以下任务:1.:你可以使用正则表达式来查找文本中是否包含特定模式的字符串,例如查找所有电子邮件地址或电话号码。2.:正则表达式可以用于替换文本中的特定模式。例如,你可以将所有匹配的单词替换为另一个单词。3.:你可以使用正则表达式从文本中提取特定模式的信息。
2024-06-17 20:59:57
1274
原创 Python4 操作MySQL数据库
通过python的pymysql库连接到本地的MySQL数据库,并执行查询操作来获取数据,然后打印出每一行的数据,这里以一个简单的学生表为例进行介绍。
2024-06-17 20:59:25
432
原创 Python3 Matplotlib展示数据
matplotlib 是一个 Python 库,用于创建各种类型的图表和可视化。它提供了一个类似于 MATLAB 的绘图界面,使用户能够轻松地绘制线图、散点图、直方图、饼图等各种图表类型。matplotlib 可以在 Python 脚本、IPython shell、Jupyter Notebook 等环境中使用,并且具有高度的定制性,用户可以调整图表的各个方面,如颜色、线条样式、标签等。因其功能强大且易于使用,成为了 Python 中最受欢迎的绘图库之一。
2024-06-17 20:58:53
832
原创 Python2 日志模块的使用
Python中的日志模块(logging module)提供了灵活的日志记录功能,使开发者能够在程序运行时记录各种级别的信息,从而方便调试、跟踪程序的执行情况,并定位可能出现的问题。日志模块提供了多种日志级别,包括 DEBUG、INFO、WARNING、ERROR 和 CRITICAL 等级别,开发者可以根据需要选择适当的级别进行记录。此外,日志模块还支持日志的格式化、输出到不同的目标(例如文件、控制台、网络等)、日志的过滤等功能,使得日志记录更加灵活和强大。
2024-06-17 20:58:17
505
1
原创 Python1 文件读写操作
作为路径分隔符,在其他操作系统如 UNIX、Linux 和 macOS中,正斜杠都是标准的路径分隔符。是将文本文件中所有行读到一个list中,文本文件每一行是list中的一个元素。)在字符串中被视为转义字符的开始,因此需要使用两个反斜杠来表示一个实际的反斜杠字符。当说要打开的文件与运行程序的代码位于同一文件目录下时,可以使用相对路径打开。确保文件路径中的反斜线作为普通字符处理,避免由于转义字符导致的错误。是一行一行的读,读到一行的内容就返回一个字符串。读取文件的数据之后得到的列表并对其进行处理的示例。
2024-06-17 20:57:17
401
原创 文献管理与信息分析--3.同步世界最新讯息与记录
人是信息的集合体,把握好我们的信息入口关;信息输入速度决定了学习的速度;知识工作自动化的理念;RSS的工作原理和RSS的使用方法(网站、订阅、客户端)培养使用的习惯(固定标签页、手机首页)。当一项技能不能成为我们的习惯,就无法给我们的生命带来改变。——罗昭锋。
2024-06-17 20:56:28
858
原创 文献管理与信息分析--2.用浏览器实现高效搜索
在一开始,老师指出教育者的三个层次分别是:知识的搬运工、引导学生正确的做事、。可以看出作为学生的我们,。有两种学习方式,一种是自己知道自己不知道的知识,自己主动通过搜索引擎等及进行;第二种是自己不知道自己不知道的知识,又称为,这类知识只能通过RSS、上课、学习交流等途径获取。下图展示了搜索引擎的工作框架,我们在使用浏览器时实际使用这个浏览器对应的数据库。
2024-06-17 20:55:27
567
原创 如何高效学习?
经历了从小学、初中高中等多年的学习,对于一位学习者来说,怎样才能算得上是一个好的学习过程呢?学习是一个不断发展的过程,我们可以结合自身经历体会下图中所展示的知识学习的闭环过程:。更形象地说就是在本科阶段,老师告诉你那里有一只死兔子,你把它捡回来;到了硕士阶段,老师告诉你我在那个地方看到有一只兔子,你把它打回来;而到了博士阶段,老师告诉你我知道这个地方有兔子,你把它抓回来。
2024-06-17 20:54:14
706
原创 深度学习入门5——为什么神经网络可以学习?
先从导数出发理解什么是梯度。某一点的导数直观理解就是在该点的切线的斜率。在数学中导数表示某个瞬时的变化量,如下公式表示:上述利用微小的差分求导数的过程称为数值微分(numerical differentiation),公式(1)表示的是前向差分(f(x+h)-f(x)),因为h无法无限趋近于0,所以存在误差(如下图所示)。为了减小这种数值微分误差,可以用中心差分(f(x+h)-f(x-h))减小误差。
2024-06-17 20:53:09
1325
原创 深度学习入门4——神经网络中的损失函数
而使得神经网络可以学习,就少不了损失函数。神经网络学习的过程可以看作是的过程。换句话说,找到了最小的损失函数值,我们也就找到了一组最优的权重参数。神经网络的学习中所用的指标称为损失函数(loss function)。这个损失函数可以使用任意函数,但一般用均方误差(mean squared error)和交叉熵误差(cross entropy error)等。对于实现手写数字5识别,直接想出可以识别手写数字5的专用算法很难。
2024-06-17 20:50:25
1345
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅