python学习
文章平均质量分 80
智能建造研究生
重庆大学智能建造研究生在读,分享一些人工智能方面和学习方面的经验,欢迎关注“智能建造研究生”微信公众号和同名知乎账号,一起学习共同进步~
展开
-
Python28-7.1降维算法之LDA线性判别分析
Wine 数据集中的样本是从意大利某个地区生长的葡萄酿造的葡萄酒中提取的,涉及 13 种化学成分分析。数据集包含 178 个样本,每个样本有 13 个特征。原创 2024-07-03 09:15:40 · 448 阅读 · 0 评论 -
Python28-7.1 降维算法之PCA主成分分析
方差最大化:第一主成分(PC1)是原始数据线性组合后方差最大的方向。第二主成分(PC2)是在正交于第一主成分的方向上方差最大的方向,以此类推。正交性:所有主成分之间都是正交的,即彼此独立不相关。这保证了主成分可以有效地表示原始数据的变化。降维效果:通过选取前几个主成分,可以在很大程度上保留原始数据的变异性,从而实现数据的降维。原创 2024-07-03 09:14:26 · 456 阅读 · 0 评论 -
Python28-6 随机森林
随机森林(Random Forest)是一种由Leo Breiman和Adele Cutler在2001年提出的集成学习方法。它结合了多个决策树的预测结果,以提高模型的准确性和鲁棒性。原创 2024-07-02 10:28:10 · 557 阅读 · 0 评论 -
Python28-5 k-means算法
k-means 算法是一种经典的聚类算法,其目的是将数据集分成 ( k ) 个不同的簇,每个簇内的数据点尽可能接近。算法的基本思想是通过反复迭代优化簇中心的位置,使得每个簇内的点与簇中心的距离之和最小。初始化:随机选择 ( k ) 个点作为初始簇中心。分配簇:对于数据集中每一个点,计算其到所有簇中心的距离,并将其分配到最近的簇。更新中心:重新计算每个簇的中心,即簇内所有点的平均值。重复步骤2和3,直到簇中心不再发生变化或达到预设的迭代次数。原创 2024-07-02 10:26:51 · 234 阅读 · 0 评论 -
Python28-4 KNN近邻算法
KNN(K-Nearest Neighbors)算法是一种常用的机器学习算法,主要用于分类和回归问题。原创 2024-07-01 00:02:13 · 840 阅读 · 0 评论 -
Python28-3 朴素贝叶斯分类算法
朴素贝叶斯(Naive Bayes)算法是一种基于贝叶斯定理的分类算法。它广泛应用于文本分类、垃圾邮件检测和情感分析等领域。该算法假设特征之间是独立的,这个假设在实际情况中可能并不完全成立,但Naive Bayes在许多实际应用中仍表现良好。贝叶斯定理描述了后验概率的计算方法,公式如下:在分类问题中,A表示类别,B表示特征向量。Naive Bayes算法通过最大化后验概率来进行分类:由于特征之间独立的假设,后验概率可以简化为:其中,( P(c) ) 是先验概率,可以通过样本中的类别频率估计;原创 2024-07-01 00:01:13 · 805 阅读 · 0 评论 -
Python28-1 机器学习算法之决策树
决策树通过递归将数据分割成更小的子集,构建一个树形结构,其中每个节点代表一个特征的测试,分支代表测试结果,叶子节点代表最终的分类或回归结果。通过这个例子可以看到,决策树通过逐层分割特征,将数据分成不同的子集,最终在叶子节点给出预测结果。特征,值小于等于 2.45 的样本被分到左子树,值大于 2.45 的样本被分到右子树。:将上述分割过程形成树形结构,根节点和内部节点代表特征测试,叶子节点代表最终预测。:信息增益的一种改进,考虑了特征取值的不同数量,选择信息增益率最大的特征进行分割。原创 2024-06-29 00:01:09 · 701 阅读 · 0 评论 -
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 · 906 阅读 · 0 评论 -
Python28 十大机器学习算法之线性回归和逻辑回归
由于它预测的是概率,所以其输出值介于0和1之间,正如我们所预期的。这项研究的结果可能是这样的——如果你被问到一个基于三角函数的问题,你有70%的可能性解开它。而如果你面对的是五年级的历史问题,那么你答对的概率可能只有30%。在数学上,逻辑回归是通过将预测变量的线性组合转化为结果的对数几率(也就是事件发生与不发生的概率之比的自然对数)来实现分类功能的。简单线性回归的特征是一个自变量。上面 p 是存在目标特征的概率,它选择的参数是使观察样本值的最大化,而不是最小化平方误差之和的参数(如在普通回归中)。原创 2024-06-28 00:11:10 · 971 阅读 · 0 评论 -
Python27 神经网络中的重要概念和可视化实现
激活函数将加权输入的和作为参数,并返回神经元的输出。在上式中,用x0表示1,w0表示b。“Sigmoid”“Tanh”ReLu等等。原创 2024-06-28 00:10:16 · 1106 阅读 · 0 评论 -
Python26 Lambda表达式
lambda是 Python 中的一个关键字,用于定义简单的匿名函数。与def关键字定义的标准函数不同,lambda函数主要用于需要一个函数对象作为参数的简短操作。lambda函数的设计哲学是简洁,因此它只能包含一条表达式,而不能是复杂的代码块。以下是lambda和def匿名性lambda函数是匿名的,它们没有函数名def定义的函数有明确的名称复杂性lambda函数只能包含一条表达式,不能有多个语句或复杂的控制流(如循环或条件判断)def定义的函数可以包含多条语句和复杂的控制流用途lambda。原创 2024-06-27 11:37:30 · 688 阅读 · 0 评论 -
Python25 Numpy基础
NumPy(Numerical Python 的简称)是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。NumPy 的前身是 Numeric,这是一个由 Jim Hugunin 等人开发的一个用于数值计算的扩展程序库。由于 Numeric 的一些问题,Jim Hugunin 创建了另一个库叫 SciPy,用于弥补 Numeric 的一些不足。原创 2024-06-27 11:36:10 · 636 阅读 · 0 评论 -
Python24 机器学习之决策树
机器学习是人工智能(AI)的一个分支,它使计算机系统能够从经验中学习并根据这些学习的数据做出决策或预测,而无需进行明确的编程。简而言之,机器学习涉及算法和统计模型的使用,使计算机能够执行特定任务,通过分析和学习输入数据来提高性能。原创 2024-06-26 11:13:05 · 897 阅读 · 0 评论 -
Python23 使用Tensorflow实现线性回归
TensorFlow 是一个开源的软件库,用于数值计算,特别适用于大规模的机器学习。它由 Google 的研究人员和工程师在 Google Brain 团队内部开发,并在 2015 年首次发布。TensorFlow 的核心是使用数据流图来组织计算,使得它可以轻松地利用多种不同的硬件平台,从普通的个人电脑到大型服务器,甚至包括移动设备和边缘设备。原创 2024-06-26 11:11:11 · 720 阅读 · 0 评论 -
Python22 Pandas库
Pandas 是一个Python数据分析库,它提供了高性能、易于使用的数据结构和数据分析工具。这个库适用于处理和分析输入数据,常见于统计分析、金融分析、社会科学研究等领域。原创 2024-06-25 09:47:04 · 511 阅读 · 0 评论 -
Python21 k-近邻算法
k-近邻算法(k-Nearest Neighbors, k-NN)是一种基本且广泛使用的。它的工作原理非常直观:通过测量不同特征点之间的距离,来进行分类或回归分析。原创 2024-06-25 09:37:37 · 399 阅读 · 0 评论 -
Python20 Numpy基础
NumPy(Numerical Python)是一个开源的Python库,广泛用于科学计算。它提供了一个高性能的多维数组对象,以及用于处理这些数组的工具和函数。NumPy是数据分析、机器学习、工程和科学研究中不可或缺的工具之一,因为它提供了简单而高效的数值运算功能。原创 2024-06-24 10:13:12 · 592 阅读 · 2 评论 -
Python18 数据结构与数据类型转换
在Python中,数据结构是用来存储、组织和管理数据的方式,以便有效地执行各种数据操作。栈是一个后进先出(LIFO)的数据结构,只能在一端(通常是顶部)进行添加或移除元素。队列是一个先进先出(FIFO)的数据结构,元素从一端添加,从另一端移除。字典是无序的,但从Python 3.7开始,字典维护元素的插入顺序。Python中没有内置的栈数据结构,但可以使用列表来实现栈的功能。字典是基于键值对的数据结构,可以快速检索存储的数据。列表中的元素可以是不同类型的,可以包含重复值。列表不可以转换成字典。原创 2024-06-23 09:36:40 · 415 阅读 · 0 评论 -
Python17 多进程multiprocessing
GIL确保在任意时刻,只有一个线程在一个Python进程中执行,这意味着即使在多核CPU上,使用Python的多线程也无法实现真正的并行执行。:线程是进程的一个执行实体,是CPU调度和执行的单位,同一进程下的多个线程共享该进程的内存空间和资源。:通过多进程的方式,可以并行执行计算密集型任务,从而提高程序的运行速度,特别是在多核 CPU 上。多进程因为每个进程需要独立的内存空间和系统资源,所以资源消耗更大,进程的创建和切换也比线程要慢。类,可以创建新的进程来执行指定的任务。:提供了多种同步原语,如锁(原创 2024-06-23 09:34:14 · 724 阅读 · 0 评论 -
Python16 Set集合容器
但是,如果原始对象中的元素是可变的(例如列表、字典等),那么浅拷贝将只复制元素的引用,而不会创建新的副本。这意味着对副本中的可变元素的修改会影响原始对象中的相应元素,因为它们引用的是同一个对象。在Python中,浅拷贝(shallow copy)和深拷贝(deep copy)是用来创建可变对象副本的两种不同方式,它们的主要区别在于复制过程中对对象内部嵌套对象的处理方式。浅拷贝会创建一个新的对象,该对象的内容是原始对象中的元素的引用(或者说是对原始对象中元素的引用)。函数来执行浅拷贝,使用。原创 2024-06-22 23:58:48 · 508 阅读 · 0 评论 -
Python15 理解Python迭代器
从一个文本文件input.txt中按行读取内容,并且仅当行中包含指定关键词‘Hello’时,逐行返回这些匹配的行(10行中提取了6行含有关键词的文本行)。迭代器协议是Python的强大特性之一,它允许内置函数和控制结构以统一的方式处理多种类型的数据集合。通过支持这个协议,生成器成为了处理序列数据的灵活和强大工具,尤其是在数据量大或数据产生代价高的场景中。在Python中,迭代器是一种允许程序员遍历一个容器(特别是列表、元组、字典等集合类型)的对象,而不需要了解容器的内部结构。函数用于逐一访问迭代器的元素。原创 2024-06-22 23:57:56 · 609 阅读 · 0 评论 -
Python14 面向对象编程
Python的面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它使用“对象”来设计应用程序和计算机程序。这些对象由数据和能够操作这些数据的方法组成。面向对象编程的主要目标是提高软件的可重用性、可维护性和灵活性。类(Class)类是创建对象的模板或蓝图。它定义了一组属性(称为字段或变量),以及操作这些数据的方法。一个类可以包括基本的数据属性(静态的信息片段),以及能够对数据执行特定功能的方法。对象(Object)对象是类的实例。原创 2024-06-21 11:47:36 · 1001 阅读 · 0 评论 -
Python7 python中的错误与异常
以上内容总结自网络,如有帮助欢迎转发,我们下次再见!原创 2024-06-17 21:01:08 · 190 阅读 · 0 评论 -
Python6 os模块的学习
os( “Operating System Interface”,操作系统接口)是 Python 标准库中的一个核心模块,用于与操作系统进行交互。它提供了许多与操作系统相关的功能,包括文件和目录操作、进程管理、环境变量、路径操作等。原创 2024-06-17 21:00:35 · 283 阅读 · 0 评论 -
python5 正则表达式
Python中的正则表达式是一种强大的工具,用于在文本中搜索、匹配和处理特定模式的字符串。它们通过定义一种模式,使得可以轻松地搜索、替换、提取和验证文本数据,在Python中的正则表达式由re模块提供支持的。正则表达式通常用于以下任务:1.:你可以使用正则表达式来查找文本中是否包含特定模式的字符串,例如查找所有电子邮件地址或电话号码。2.:正则表达式可以用于替换文本中的特定模式。例如,你可以将所有匹配的单词替换为另一个单词。3.:你可以使用正则表达式从文本中提取特定模式的信息。原创 2024-06-17 20:59:57 · 1022 阅读 · 0 评论 -
Python4 操作MySQL数据库
通过python的pymysql库连接到本地的MySQL数据库,并执行查询操作来获取数据,然后打印出每一行的数据,这里以一个简单的学生表为例进行介绍。原创 2024-06-17 20:59:25 · 348 阅读 · 0 评论 -
Python3 Matplotlib展示数据
matplotlib 是一个 Python 库,用于创建各种类型的图表和可视化。它提供了一个类似于 MATLAB 的绘图界面,使用户能够轻松地绘制线图、散点图、直方图、饼图等各种图表类型。matplotlib 可以在 Python 脚本、IPython shell、Jupyter Notebook 等环境中使用,并且具有高度的定制性,用户可以调整图表的各个方面,如颜色、线条样式、标签等。因其功能强大且易于使用,成为了 Python 中最受欢迎的绘图库之一。原创 2024-06-17 20:58:53 · 458 阅读 · 0 评论 -
Python2 日志模块的使用
Python中的日志模块(logging module)提供了灵活的日志记录功能,使开发者能够在程序运行时记录各种级别的信息,从而方便调试、跟踪程序的执行情况,并定位可能出现的问题。日志模块提供了多种日志级别,包括 DEBUG、INFO、WARNING、ERROR 和 CRITICAL 等级别,开发者可以根据需要选择适当的级别进行记录。此外,日志模块还支持日志的格式化、输出到不同的目标(例如文件、控制台、网络等)、日志的过滤等功能,使得日志记录更加灵活和强大。原创 2024-06-17 20:58:17 · 318 阅读 · 1 评论 -
Python1 文件读写操作
作为路径分隔符,在其他操作系统如 UNIX、Linux 和 macOS中,正斜杠都是标准的路径分隔符。是将文本文件中所有行读到一个list中,文本文件每一行是list中的一个元素。)在字符串中被视为转义字符的开始,因此需要使用两个反斜杠来表示一个实际的反斜杠字符。当说要打开的文件与运行程序的代码位于同一文件目录下时,可以使用相对路径打开。确保文件路径中的反斜线作为普通字符处理,避免由于转义字符导致的错误。是一行一行的读,读到一行的内容就返回一个字符串。读取文件的数据之后得到的列表并对其进行处理的示例。原创 2024-06-17 20:57:17 · 267 阅读 · 0 评论 -
与Python相关的cmd、conda、pip命令操作。
一些关于python的常用基础操作命令。原创 2022-10-26 12:31:31 · 519 阅读 · 0 评论