随笔分类 - Python
摘要:定义原问题(Primal Problem) 最小化:\(f(w)\) 限制条件: \(g_i(w)\le0\ \ \ (i=1,2,...,K)\) \(h_i(w)=0\ \ \ (i=1,2,...,M)\) 不难看出这是一个非常普适性的定义,因为: 如果要求的是最大化 \(f(w)\) 问题,
阅读全文
摘要:1.1. K-近邻算法(KNN)概念 K Nearest Neighbor算法又叫KNN算法 定义: 如果一个样本在特征空间中的k个最相似(即特征空间中最近邻)的样本中的大多数属于某一个类别,则该样本也属于这个类别。 距离公式: 两个样本的距离可以通过如下公式计算,又叫欧式距离 二维平面上点 \(a
阅读全文
摘要:1. 需求分析 现在有一组从2006年到2016年1000部最流行的电影数据 数据来源:https://www.kaggle.com/damianpanek/sunday-eda/data 问题1:我们想知道这些电影数据中评分的平均分,导演的人数等信息,我们应该怎么获取? 问题2:对于这一组电影数据
阅读全文
摘要:1. 解释 分组与聚合通常是分析数据的一种方式,通常与一些统计函数一起使用,查看数据的分组情况。 其实交叉表与透视表也有分组的功能,所以算是分组的一种形式,只不过它们主要是计算次数或者计算比例。 要注意抛开聚合谈分组是没有意义的。 2. 分组API DataFrame.groupby(key, as
阅读全文
摘要:1. 概念 交叉表:交叉表用于计算一列数据对于另外一列数据的分组个数(用于统计分组频率的特殊透视表) pd.crosstab(value1, value2) 透视表:透视表是将原有的DataFrame的列分别作为行索引和列索引,然后对指定的列应用聚集函数 data.pivot_table() Dat
阅读全文
摘要:1. pd.concat实现数据合并 pd.concat([data1, data2], axis=1) 按照行或列进行合并,axis=0为列索引,axis=1为行索引 比如将刚才处理好的one-hot编码与原数据合并 # 按照行索引进行合并 pd.concat([data, dummies], a
阅读全文
摘要:1. 为什么要离散化 连续属性离散化的目的是为了简化数据结构,数据结构离散化技术可以用来减少给定连续属性值的个数。离散化方法经常作为数据挖掘的工具。 2. 什么是数据的离散化 连续属性的离散化就是在连续属性的值域上,将值域划分为若干个离散的区间,最后用不同的符号或整数、值代表落在每个子区间中的属性值
阅读全文
摘要:1. 如何处理NaN 获取缺失值的标记方式(NaN或其他标记方式) 如果缺失值的标记方式是NaN 判断数据是否包含NaN: pd.isnull(df) pd.notnull(df) 存在缺失值NaN: 删除存在的缺失值: dropna(axis='rows') 注:不会修改原数据,而是返回删除后的数
阅读全文
摘要:1. CSV 1.1. read_csv pandas.read_csv(filepath_or_buffer, sep=',') filepath_or_buffer:文件路径 usecols:列表,指定读取的列名 # 读取文件,并指定只获取open和close这两列 data = pd.read
阅读全文
摘要:1. 算术运算 add(other) 比如进行数学运算加上一个具体数字 data["open"].add(10) # open列加10 # data["open"] + 10 # 一般不这么写 sub(other) 用法同add 2. 逻辑运算 2.1. 逻辑运算符号 逻辑运算类型:>, >=, <
阅读全文
摘要:导入数据 # 读取文件 data = pd.read_csv("./data/stock_day.csv") # 删除一些无用列 data = data.drop(["ma5", "ma10", "ma20", "v_ma5", "v_ma10", "v_ma20"], axis=1) 1. 索引操
阅读全文
摘要:觉得Matplotlib.pyplot原本的样式不够好看,于是就研究了一下怎么更改其样式 plt是自带了很多样式的,输入以下代码查看自带样式: import matplotlib.pyplot as plt plt.style.available 输出结果如下: ['Solarize_Light2'
阅读全文
摘要:查看当前系统JupyterLab支持的所有字体 from matplotlib.font_manager import FontManager mpl_fonts = set(f.name for f in FontManager().ttflist) print('all font list ge
阅读全文
摘要:1. 数组创建 numpy中所有的计算都是围绕着数组进行的,因此在运算之前,我们需要将计算的数据表示成数组的形式。 我们可以用np.array()来创建一个数组: np.array([1, 2, 3, 4, 5]) # array([1, 2, 3, 4, 5]) np.zeros()创建一个全为零
阅读全文
摘要:装饰器 # 装饰器 # def decorator1(func): # 传入被装饰的函数 # 嵌套内函数可以看做被装饰的函数 def inner(): print(" inner ") func() print(" ") return inner @decorator1 def func1(): p
阅读全文
摘要:1. match方法 re.match尝试从字符串起始位置匹配一个模式,如果不是起始位置匹配成功的话,match就返回None 。语法格式如下: re.match(pattern, string, flags=0) pattern:匹配的正则表达式 string:要匹配的字符串 flags:标志位,
阅读全文
摘要:元组解包 a, b, c = (1, 2, 3) # a:1 b:2 c:3 字符串解包 a, b, c = "xyz" # a:x b:y c:z 字典解包 字典解包后,只会把字典的key取出来,value则丢掉了。 a, b, c = {"a":1, "b":2, "c":3} # a:'a'
阅读全文

浙公网安备 33010602011771号