神经网络是深度学习的基础,正是深度学习的兴起,让停滞不前的人工智能再一次的取得飞速的发展。 其实神经网络的理论由来已久,灵感来自仿生智能计算,只是以前限于硬件的计算能力,没有突出的表现,直至谷歌的AlphaGO的出现,才让大家再次看到神经网络相较于传统机器学习的优异表现。 本文主要介绍神经网络中的重要基础概念,然后基于这些概念手工实现一个简单的神经网络。希望通过理论结合实践的方式让大家更容易的理解神经网络。 1.神经网络是什么 神经网络就像人脑一样,整体看上去非常复杂,但是其基础组成部分并不复杂。其组成部分中最重要的就是神经元(neural),sigmod函数和层(layer)。 1.1.神经...

  6m3lfiEqOqHp   10小时前   4   0   0 机器学习

时间序列数据是数据分析中经常遇到的类型,为了更多的挖掘出数据内部的信息,我们常常依据原始数据中的时间周期,将其转换成不同跨度的周期,然后再看数据是否会在新的周期上产生新的特性。 下面以模拟的K线数据为例,演示如何使用pandas来进行周期转换。 1.创建测试数据 首先创建测试数据,下面创建一天的K线数据,数据的间隔为1分钟(1min)。 importpandasaspd importnumpyasnp 创建时间序列的列,时间间隔1分钟 date_col=pd.date_range("2024-01-01","2024-01-02",freq="1min") data_len=len(date...

  6m3lfiEqOqHp   9天前   19   0   0 Python

最近在做交易数据的统计分析时,多次用到数据行之间的一些操作,对于其中的细节,简单做了个笔记。 1.shfit函数 shift函数在策略回测代码中经常出现,计算交易信号,持仓信号以及资金曲线时都有涉及。这个函数的主要作用是将某列的值上下移动。默认情况下,shift函数是向下移动一行,移动后,新数据列的第一行数据用NaN(空值)填充,原始数据列的最后一行丢弃。 importpandasaspd df=pd.DataFrame({ "A":[1,2,3,4,5,6], "B":[2,3,4,2,4,5], "C":[5,6,7,1,3,4], },dtype=float) 默认shift() d...

  6m3lfiEqOqHp   11天前   24   0   0 Python

在数据分析工作中,针对百万,千万级别的数据进行分析是常有的事情,因此,分析代码性能的重要性不容忽视,能够有一个方便快速的测试函数性能的方法,对于我们快速发现性能瓶颈,及时优化,提高项目的开发效率至关重要。 本文介绍如何通过Python装饰器来实现性能计时工具,帮助我们在不改变现有代码的基础上,随时测试函数的执行时间。 1.概要 用装饰器来实现这样计时的工具有以下一些好处:首先,侵入性小,使用装饰器可以非常方便地为函数添加性能计时功能,则无需修改函数的内部代码。这使得代码更加整洁,也更容易维护。 其次,复用性强,一旦创建了一个性能计时装饰器,就可以将其应用于多个函数,而无需为每个函数单独编写性能...

  6m3lfiEqOqHp   2024年03月31日   46   0   0 Python

重试机制在编程中是比较常见的场景,主要被用于处理那些可能由于临时性故障或网络波动等原因而失败的操作。 本文介绍如何通过Python装饰器来实现重试机制,从而能够在尽量少修改现有代码的基础上,给其中某些函数加上重试机制。 1.概要 关于Python的装饰器,只是一个语法糖,原理也比较简单,这里不在赘述。 关于为什么要用重试机制,首先,它能显著提高了系统的稳定性和可靠性。因为,在分布式系统、网络通信或任何涉及外部资源调用的场景中,失败和异常是难以避免的。通过引入重试机制,系统能够在遇到这些临时性故障时自动恢复,减少因单次失败导致的整体服务中断。 其次,重试机制有助于提升用户体验。对于用户来说,如果...

  6m3lfiEqOqHp   2024年03月29日   38   0   0 Python

print是我们平时写些python小工具时,最常用的调试工具。因为开发代码时,常常通过print将执行流程、变量的值以及其他关键信息输出到控制台来观察,以便了解程序执行情况和调试bug。 但是,print的输出过于简单,在输出变量内容,函数调用,执行过程等相关信息时,往往需要自己手动去补充很多的输出信息的说明,否则很容易搞不清输出的内容是什么。 而今天介绍的icecream,为我们提供了一种更加优雅和强大的方式来调试代码。它不仅可以自动格式化输出内容,自动添加必要的描述信息,而且使用起来也比print更加简单。 1.安装 通过pip安装: pipinstallicecream 安装之后可以...

  6m3lfiEqOqHp   2024年03月24日   64   0   0 Python

Numpy其实是最早的处理数据的Python库,它的核心ndarray对象,是一个高效的n维数组结构。 通过这个库,可以高效的完成向量和矩阵运算,由于其出色的性能,很多其他的数据分析,科学计算或者机器学习相关的Python库都或多或少的依赖于它。 Pandas就是其中之一,Pandas充分利用了NumPy的数组运算功能,使得数据处理和分析更加高效。比如,Pandas中最重要的两个数据结构Series和DataFrame在内部就使用了NumPy的ndarray来存储数据。 在使用Pandas进行数据分析的过程中,按条件检索和过滤数据是最频繁的操作。本文介绍两种通过结合Numpy,一方面让Pand...

  6m3lfiEqOqHp   2024年03月21日   50   0   0 Python

在数据分析相关的工作中,Pandas无疑是一个强大的工具,它的易用性和灵活性广受青睐。然而,随着数据量的不断增长和计算需求的日益复杂,Pandas代码的性能问题也逐渐浮出水面。如何让Pandas代码运行得更快、更高效,成为了每一个人使用者都需要面对的挑战。 今天,本文就一个简化版的实际分析案例,来一起探讨Pandas代码如何写才能性能更好,让你的数据处理流程更加顺滑,不再为漫长的等待运行而烦恼。 1.案例介绍 假设有个股票分析的场景,我们需要给所有的股票每天的交易情况做一个评估,评估的结果有3个级别:优,中,差。其中,“优”的条件是当天成交额大于10亿且收盘价大于开盘价,也就是股票上涨;“差”...

  6m3lfiEqOqHp   2024年03月18日   37   0   0 Python

dataclass是从Python3.7版本开始,作为标准库中的模块被引入。随着Python版本的不断更新,dataclass也逐步发展和完善,为Python开发者提供了更加便捷的数据类创建和管理方式。 dataclass的主要功能在于帮助我们简化数据类的定义过程。本文总结了几个我平时使用较多dataclass技巧。 1.传统的类定义方式 首先,从平时量化分析的场景中简化一个关于币交易的类用来演示。简化之后,这里只保留5个字段,分别是交易ID,交易对,价格,是否成功和参与交易的地址列表。 classCoinTrans: def__init__( self, id:str, symbol:str...

  6m3lfiEqOqHp   2024年03月16日   54   0   0 Python

我们在使用pandas处理完数据之后,最终总是要把数据作为一个文件保存下来,那么,保存数据最常用的文件是什么呢?我想大部分人一定会选择csv或者excel。 刚接触数据分析时,我也是这么选择的,不过,今天将介绍几种不一样的存储数据的文件格式。这些文件格式各有自己的一些优点,希望本文能让你以后的数据存储方式能有不一样的选择,从而存储的更加专业。 1.准备数据 本次使用的数据来自A股2023年全年的日交易数据。数据下载地址:https://databook.top/。 导入数据: importpandasaspd fp="d:/share/历史行情数据-不复权-2023.csv" df=pd....

  6m3lfiEqOqHp   2024年03月15日   21   0   0 Python

Pandas无疑是我们数据分析时一个不可或缺的工具,它以其强大的数据处理能力、灵活的数据结构以及易于上手的API赢得了广大数据分析师和机器学习工程师的喜爱。 然而,随着数据量的不断增长,如何高效、合理地管理内存,确保PandasDataFrame在运行时不会因内存不足而崩溃,成为我们每一个人必须面对的问题。 在这个信息爆炸的时代,数据规模呈指数级增长,如何优化内存使用,不仅关乎到程序的稳定运行,更直接关系到数据处理的效率和准确性。通过本文,你将了解到一些实用的内存优化技巧,帮助你在处理大规模数据集时更加得心应手。 1.准备数据 首先,准备一些包含各种数据类型的测试数据集。封装一个函数(fake...

  6m3lfiEqOqHp   2024年03月14日   32   0   0 Python

pandas的DataFrame可以通过设置参数使得在jupyternotebook中显示的更加美观,但是,将DataFrame的数据导出excel时,却只能以默认最朴素的方式将数据写入excel。 本文介绍一种简单易用,让导出的excel更加美观的方法。 1.概要 首先,引入一个库StyleFrame,这个库封装pandas和openpyxl,让我们轻松的设置DataFrame的样式并导出到excel中。 安装很简单: pipinstallstyleframe 这个库主要包含3个模块: styleframe:相当于这个库的主入口,它封装了DataFrame对象。 styler:用来单元格...

  6m3lfiEqOqHp   2024年03月13日   21   0   0 Python

F-String(格式化字符串字面值)是在Python3.6中引入的,它是一种非常强大且灵活的字符串格式化方法。 它允许你在字符串中嵌入表达式,这些表达式在运行时会被求值并转换为字符串,这种特性使得F-String在编写Python代码时能够更简洁、更直观地处理字符串。 本文总结了5个实用的F-String技巧,相信一定能让你的代码输出更加的美观,清晰。 1.大数字 在Python的数据分析的项目中,经常接触到很大的数字,直接打印出大数字的话,很难看出它究竟有多少位。 n=100000000 print(n) 100000000 用F-String来格式化,可以将大数字用千分位的形式显示出来...

  6m3lfiEqOqHp   2024年03月12日   25   0   0 Python

机器学习(ML)作为目前一个比较火领域,提供了许多有趣且高薪的工作和机会。 无论你是刚刚踏入机器学习领域的新手,还是已经积累了一定经验的从业者,面试都是检验你技能和知识的重要环节。本文将梳理一些常见的面试问题,让你在面试中更加自信从容。 1.基础知识 想要从事机器学习工作,至少应该熟悉: 数学基础:包括线性代数、微积分、优化、概率和统计等 机器学习基础:准备数据、验证和改进训练结果、解释模型、识别和避免过度拟合等 常用算法:比如线性回归、决策树、支持向量机、k最近邻、神经网络、k均值聚类、主成分分析等 编程能力:需要一些Python等编程语言知识,以及使用机器学习库的能力(如NumPy、Pa...

  6m3lfiEqOqHp   2024年03月11日   54   0   0 求职面试

pathlib模块是在Python3.4版本中首次被引入到标准库中的,作为一个可选模块。从Python3.6开始,内置的open函数以及os、shutil和os.path模块中的各种函数都可以正确地使用pathlib.Path对象了。 最初,pathlib给人的感觉只是os.path的一个不必要的面向对象版本,不过,当你实际去了解pathlib之后,会发现pathlib实际上绝不是一个简单的面向对象版本,而是实实在在的解决了os.path存在的一些问题。 1.os.pathVSpathlib 1.1.路径规范化 对于os.path来说,路径的分隔用正斜杆(\)还是反斜杠(/)需要自己根据操作系...

  6m3lfiEqOqHp   2024年03月10日   20   0   0 Python

一般来说,我们先用pandas分析数据,然后用matplotlib之类的可视化库来显示分析结果。而pandas库中有一个强大的工具--plot函数,可以使数据可视化变得简单而高效。 1.plot函数简介 plot函数是pandas中用于数据可视化的一个重要工具,通过plot函数,可以轻松地将DataFrame或Series对象中的数据以图形的形式展示出来。 plot函数支持多种类型的图形,包括折线图、柱状图、散点图、饼图等,这些不同类型的图形适用于不同的数据分析场景。此外,plot函数还支持通过参数设置来调整图形的样式,如颜色、标签、图例等,以满足更加个性化的可视化需求。 plot函数的参数名...

  6m3lfiEqOqHp   2024年03月08日   28   0   0 Python

pandas中的cut函数可将一维数据按照给定的区间进行分组,并为每个值分配对应的标签。其主要功能是将连续的数值数据转化为离散的分组数据,方便进行分析和统计。 1.数据准备 下面的示例中使用的数据采集自王者荣耀比赛的统计数据。数据下载地址:https://databook.top/。 导入数据: 2023年世冠比赛选手的数据 fp=r"D:\data\player-2023世冠.csv" df=pd.read_csv(fp) 这里只保留了下面示例中需要的列 df=df.loc[:,["排名","选手","场均经济","场均伤害"]] df 2.使用示例 每个选手的“场均经济”和“场均伤...

  6m3lfiEqOqHp   2024年03月06日   54   0   0 Python

处理大量数据时,经常需要对数据进行分组和汇总,groupby为我们提供了一种简洁、高效的方式来实现这些操作,从而简化了数据分析的流程。 1.分组聚合是什么 分组是指根据一个或多个列的值将数据分成多个组,每个组包含具有相同键值(这里的键值即用来分组的列值)的数据行。 聚合或者汇总则是指,在分组后,可以对每个组应用聚合函数(如求和、平均值、计数等),从而得到每个组的汇总信息。 2.准备数据 下面的示例中使用的数据采集自A股2024年1月和2月的真实交易数据。数据下载地址:https://databook.top/。 导入数据: importpandasaspd fp=r'D:\data\2024...

  6m3lfiEqOqHp   2024年03月05日   17   0   0 Python

数据过滤在数据分析过程中具有极其重要的地位,因为在真实世界的数据集中,往往存在重复、缺失或异常的数据。pandas提供的数据过滤功能可以帮助我们轻松地识别和处理这些问题数据,从而确保数据的质量和准确性。 今天介绍的query函数,为我们提供了强大灵活的数据过滤方式,有助于从复杂的数据集中提取有价值的信息,提高分析的效率。 1.准备数据 下面的示例中使用的数据采集自链家网的真实房屋成交数据。数据下载地址:https://databook.top/。 导入数据: importpandasaspd fp="D:/data/南京二手房交易/南京建邺区.csv" df=pd.read_csv(fp)...

  6m3lfiEqOqHp   2024年03月04日   50   0   0 Python

使用pandas进行数据分析时,第一步就是读取文件。在平时学习和练习的过程中,用到的数据量不会太大,所以读取文件的步骤往往会被我们忽视。 然而,在实际场景中,面对十万,百万级别的数据量是家常便饭,即使千万,上亿级别的数据,单机处理也问题不大。不过,当数据量和数据属性多了之后,读取文件的性能瓶颈就开始浮现出来。 当我们第一次拿到数据时,经常会反反复复的读取文件,尝试各种分析数据的方法。如果每次读取文件都要等一段时间,不仅会影响工作效率,还影响心情。 下面记录了我自己优化pandas读取大文件效率的探索过程。 1.准备部分 首先,准备数据。下面的测试用的数据是一些虚拟币的交易数据,除了常用的K线数...

  6m3lfiEqOqHp   2024年02月19日   64   0   0 Python
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~