- 博客(116)
- 收藏
- 关注
原创 用Sklearn和Statsmodels来做linear_regression和Logistic_regression注意事项
默认情况下,LogisticRegression 的 penalty 参数设置为 ‘l2’,同时 solver 参数默认为 ‘lbfgs’,它是一种优化算法,用于找到损失函数的最小值。C 参数控制正则化的强度,其默认值是 1.0,较小的 C 值意味着更强的正则化(即更平滑的模型),而较大的 C 值则意味着更弱的正则化(允许模型更复杂)。而在 scikit-learn 中,当你使用 LinearRegression 类时,是否添加常数项(截距)是由类初始化时的 fit_intercept 参数决定的。
2024-10-03 18:12:52 1006
原创 Sensitivity, specificity, positive prediction rate,negative prediction rate, misclassification error
在统计学和机器学习中,敏感性(Sensitivity)、特异性(Specificity)、阳性预测值(Positive Prediction Rate, PPV)、阴性预测值(Negative Prediction Rate, NPV)和误分类错误(Misclassification Error)是评估分类模型性能的常用指标。这些指标在不同的应用场景中可能会有不同的重要性。例如,在医疗诊断中,可能会更关注敏感性 sensitivity (recall),以确保尽可能多的实际病例被检测出来;
2024-10-03 17:12:09 921
原创 Pandas和SQL行转列,pivot_sum(case…)
在Pandas中,可以使用pivot方法将行转换为列,这通常被称为“透视”操作。以下是一个简单的例子来说明如何进行行转列:输出:输出:Category在这个例子中,index参数指定了哪一列作为新DataFrame的行索引,columns参数指定了哪一列的值将作为新DataFrame的列名,而values参数指定了哪一列的值将填充到新DataFrame中。请注意,pivot方法要求索引/列名组合必须是唯一的,也就是说,每个Category和Year的组合必须是唯一的。
2024-10-03 09:41:56 437
原创 Leecode SQL 197. Rising Temperature 日期差用 DATEDIFF()
不可以写 w.recordDate = y.recordDate+ 1 因为是日期,跨月份会找不出来!
2024-10-02 21:44:07 443
原创 Leecode SQL 184. Department Highest Salary 找出tie
要找出 tie 的 highest salary!
2024-10-02 21:35:21 554
原创 SQL_WHERE子句里不能出现COUNT()
但是,如果你想基于某个计数来过滤记录,你可以使用 HAVING 子句,而不是 WHERE 子句。HAVING 子句在功能上与 WHERE 子句相似,但它是针对分组后的数据进行过滤的。这个查询会返回 column1 的值和每组的记录数,但只有当 column1 相同的记录数大于 1 时才会被包括在结果中。如果你确实想在 WHERE 子句中使用类似 COUNT() 的逻辑,你可能需要使用子查询或者 JOIN 操作来实现。请注意,过度使用子查询可能会导致性能问题,特别是在处理大量数据时。
2024-10-02 21:16:09 641
原创 Leecode pandas groupby keep cols 1070. Product Sales Analysis III
【代码】Leecode pandas groupby keep cols 1070. Product Sales Analysis III。
2024-10-02 20:24:38 323
翻译 如何在 Pandas 中对 dataframe 进行 groupby 并保留列?
在此示例中,sales_data.groupby(‘product’) 按 ‘product’ 列对销售数据进行分组,而 agg({‘quantity_sold’: [‘sum’, ‘mean’]}) 将 sum 和 mean 函数应用于每个组的 ‘quantity_sold’ 列。结果是一个包含所有原始列的新 DataFrame 和一个新列 ‘quantity_sold_sum’,其中包含每个组的 ‘quantity_sold’ 列的总和。如果要将所有原始列保留在分组的 DataFrame 中,
2024-10-02 20:12:00 103
原创 Maximum_Likelihood
*应用到科学方法论,We can measure the distance of a theory to the real world data, ie, to examine a theory is good or bad, using likelihood. **例:两个盒子,一个有5个黑球5个白球,另一个有9个黑球1个白球。现抽4次,每次放回地抽1个球。问最可能从哪个盒子抽的。例,无穷多个盒子,它们有黑球的比例是从0到1不等。抽4次,4个都是黑球。
2024-10-01 21:26:08 902
原创 Correlated_Covariance_Independence
这就是为什么 uncorrelated 不意味着 independence.也即,dependent variables 不一定 correlated.但是所有的 independent variables 都一定是 uncorrelated.我们学Correlated 是指相关性,相关性是指线性相关性就是两个变量有没有线性关系。你的其他的关系,他是他是不管的。
2024-10-01 21:04:14 933
原创 Total_Expectation_Conditional_Bias_Variance_Tradeoff
我们碰到的绝大多数都是 conditional 的probability。比如,given miu, sigma square, 才能讨论一个正态分布。
2024-10-01 18:25:50 193
原创 Python_partial函数和map同时用
然后,我们使用 partial 来创建一个新的函数 multiply_by_three,它固定了 multiply 函数的第一个参数为3。在这个例子中,我们创建了一个 my_function 的部分函数 my_partial_function,它已经固定了参数 a=1 和 b=2。我们使用 partial 来创建一个新的函数 print_person_age,它固定了 print_age 函数的 fmt 参数。假设我们有一个列表的字典,我们想要提取每个字典中的特定key的值,并且对这个值应用一个函数。
2024-10-01 15:54:51 437
原创 为什么用参数模型解决维度灾难
模型结构:深度学习中的参数化模型,如深度神经网络(DNNs),通过其深层结构能够学习数据的非线性表示,这使得它们能够在高维空间中有效地捕捉复杂的模式。例如,主成分分析(PCA)就是一种常用的降维技术,它可以找到数据的主要变化方向,并将数据投影到这些方向上,从而降低维度。通过限制模型参数的复杂度,正则化帮助模型专注于最重要的特征,从而提高模型的泛化能力。总的来说,参数化模型通过假设数据的结构、利用降维技术、正则化、深层结构和计算优化等方法,能够在高维空间中有效地进行学习和预测,从而克服维度灾难。
2024-10-01 15:31:32 364
原创 Amazon EC2, S3 Bucket, Yaml file, Stack
例如,在AWS OpsWorks中,stack是指一组AWS资源,如EC2实例和RDS数据库,它们一起用于托管和管理应用程序的不同层。在AWS中,"stack"通常指的是AWS CloudFormation中的一个概念,它表示一组可以作为单个单元进行管理的AWS资源。总的来说,Amazon EC2提供了计算能力,Amazon S3提供了存储能力,YAML文件用于编写配置,而AWS CloudFormation 则用于自动化资源的部署和管理。通过CloudFormation,可以自动化资源的部署和管理过程。
2024-10-01 11:10:40 932
原创 PySpark把一列数据上下移动,时序数据
在 PySpark 中,确实存在一个类似于 Pandas 中 shift 函数的功能,它被称为 shiftleft 函数。不过,这与 Pandas 中的 shift 函数有所不同,后者用于将数据在时间序列中上下移动。如果想在 PySpark 中实现类似于 Pandas shift 的功能,即将 DataFrame 中的行或列向上或向下移动,你可以使用 lag 或 lead 函数。例如,如果你有一个整数列,并且你想要将每个值的二进制表示向左移动一位,你可以使用 shiftleft 函数。
2024-09-29 17:46:46 466
原创 各种环境,转换字符串为日期时间datetime
在SQL Server中,CONVERT()函数可以用于多种数据类型之间的转换,包括字符串到日期。当转换日期时,通常可以省略格式说明,只要字符串的格式是SQL Server能识别的。在 PySpark 的 SQL 模块中,to_date 是一个用于将字符串或数值类型转换为日期类型的函数。在MySQL中,你可以利用STR_TO_DATE()函数,这个函数需要两个参数:待转换的字符串和该字符串对应的日期格式。Oracle数据库使用TO_DATE()函数来转换字符串为日期,并且也需要你指定字符串的格式。
2024-09-29 17:19:11 318
原创 Pandas_构建dataframe的多种方法
使用pd.concat或pd.merge合并多个DataFrame。使用pd.DataFrame.from_records。使用pd.DataFrame.from_dict构建。使用pd.DataFrame.from_items。使用pd.DataFrame的构造函数。• 从Excel文件读取。使用Series对象构建。• 从SQL数据库读取。使用NumPy数组构建。• 从CSV文件读取。• 将字典的值作为列。• 将字典的键作为列。
2024-09-29 12:19:26 371
原创 Spark_UDF处理缺失值或空值
使用Option类型:在Scala中,通常推荐使用Option类型来避免空指针异常,但在UDF中,你可能需要返回Spark SQL能够理解的类型,比如null。使用窗口函数时处理空值:在使用窗口函数时,你可以使用coalesce或者last/first函数的ignoreNulls参数来处理空值。尽可能使用Spark SQL的内置函数,并且在UDF中避免创建新的对象。在Apache Spark中,处理空值(null)是一个常见的需求,尤其是在使用用户定义的函数(UDF)时。# 应用你的自定义转换逻辑。
2024-09-29 10:10:13 706
原创 Logistic Regression 使用不同library系数不一样?Sklearn vs. Statsmodel
的线性回归通常不会有太大差异,因为它们都是在没有正则化的情况下使用最小二乘法进行拟合,目标是最小化残差的平方和。这意味着在拟合线性模型时,两者的系数估计应该是一致的,前提是数据预处理方式相同。而在线性回归中,由于方法和目标函数的一致性,它们通常会给出相似的结果。在数值优化过程中可能使用不同的收敛标准,这可能导致在迭代过程中停止的点不同,从而影响最终的系数估计。提供了更丰富的统计输出,包括系数的置信区间、z值、p值等,而。正则化可以影响系数的大小和模型的复杂度。的算法不同,这可能导致系数估计的差异。
2024-09-27 16:58:43 565
原创 Python每次for循环向list中添加多个元素
在Python中,如果你想在循环中将多个元素添加到列表中,最直接和最高效的方式是使用列表的 append() 方法。每次循环时,将元素添加到列表的末尾。列表(List)是Python中的一种内置数据类型,它是一个可变的序列,可以存储任何类型的元素。如果你的元素是一个序列(如元组、列表或字符串),并且你想要将整个序列作为一个元素添加到列表中,你可以使用 extend() 方法。在大多数情况下,使用列表是收集循环元素的最简单和最直接的方法。结果是所有元素都被展开并连接在一起,没有嵌套的子列表。
2024-09-27 12:03:57 201
原创 Python_itertools
在Python中,itertools 模块提供了一个名为 combinations 的函数,它可以用来生成指定长度的组合。由于 itertools 提供的是迭代器,所以这些函数在处理大数据集时非常高效,因为它们不需要一次性将所有数据加载到内存中。itertools.combinations 函数的第一个参数是一个可迭代对象,第二个参数是要生成的组合的长度。请注意,组合的数量会随着组合长度的增加而急剧增加,所以如果你的集合很大,生成很长的组合可能会消耗大量的计算资源。
2024-09-27 11:52:45 958
原创 np.array_fancy_indexing花式索引
在Python中,使用NumPy库进行花式索引(fancy indexing)是一种非常强大的功能,它允许你通过使用数组索引数组。这意味着你可以使用另一个数组来指定你想要索引的主数组中的元素。步骤 1: 导入NumPy库。步骤 2: 创建一个数组。步骤 3: 使用花式索引。
2024-09-26 23:06:37 243
原创 SQL_create_view
在 Spark 中,你可以使用 cache() 或 persist() 方法来持久化一个 DataFrame,这将把 DataFrame 的内容缓存到内存中(如果内存足够),或者在内存不足时写入到磁盘。视图可以是临时的,也可以是全局临时的,也可以是持久化的。CREATE VIEW是一个单独的命令,用于创建视图,而SELECT语句是用于从视图中查询数据的。但是,你可以在创建视图之后立即使用SELECT语句来查询视图,这可以通过在同一个SQL脚本或命令行会话中连续执行两个语句来实现。
2024-09-26 22:46:22 1156
原创 np.array多维数组
对于上面创建的数组,形状为(2, 2, 2),分别代表第一维度有 2 个元素(两个二维数组),第二维度有 2 个元素(每个二维数组中有两个一维数组),第三维度有 2 个元素(每个一维数组中有两个值)。例如,arr[:, :, 0]将获取所有二维数组中所有一维数组的第一个元素,得到结果array([[1, 3], [5, 7]])。• 通过三个索引来访问特定位置的元素。例如,arr[0, 1, 1]将访问第一个二维数组中的第二个一维数组的第二个元素,即值 4。• 可以使用嵌套的循环来遍历三维数组的所有元素。
2024-09-26 21:40:46 259
原创 两分类器分类相反
这意味着对于任何给定的 x, 两个分类器的预测结果必定是互补的。因此,一个分类器的TP将是另一个分类器的FN,一个分类器的FP将是另一个分类器的TN。例如,如果一个实例 x 被 C1(x) 正确地预测为正例(TP),那么 C2(x) 将错误地预测它为负例(FN)。反之,如果 C1(x) 错误地预测 x 为负例(FN),那么 C2(x) 将正确地预测它为正例(TP)。两分类器分类相反时,它们TP, FP, TN, FN的关系?
2024-09-26 18:27:19 90
原创 Desmos图形计算器分段函数
在Desmos中添加限制条件,比如指定变量 x 属于某个特定范围,可以通过在表达式中加入大括号 {} 来实现。这表示 y = x^2 仅在 x 的值从 0 到 10 (包括0和10)的范围内有效。如果你想要设置开区间,可以使用小括号 () 代替方括号 [],例如:这表示 y = x^2 仅在 x 的值严格大于 0 且小于 10 的范围内有效。此外,Desmos还支持更复杂的条件表达式,你可以使用逻辑运算符如“且”(&&)和“或”(||)来组合多个条件。
2024-09-26 18:10:33 687
原创 Python_20个进阶用法
结果:[(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)]结果:{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}结果:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]结果:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]结果:[0, 1, 2, 1, 2, 3, 2, 3, 4]
2024-09-26 14:43:06 440
原创 Logistic Regression notes
Book “An Introduction To Statistical Learning Textbook” 这是一本非常著名的教材《统计学习导论》,为什么中英文版本有出入?我们可以通过改变 Beta_1 的值来调整 sigmoid function的增长率。more than two classes 分成好几个类别。Beta_0 的值能够将此函数向右和向左移动。Log odds 又叫作 logit。predictors. 受多因素影响。
2024-09-26 14:10:23 937
原创 Greedy_approach贪心算法
给定不同面额的硬币和需要找零的总金额,贪心算法会尽可能多地使用面值最大的硬币,直到找零完成。例如,给定25分、10分、5分和1分的硬币,需要找零41分,算法会优先使用25分硬币。贪心算法会按照活动的结束时间进行排序,然后选择结束时间最早的活动,以此类推。贪心算法会根据货物的重量进行排序,然后尽可能多地装载最重的货物,直到船只无法再承载更多的货物。通过构建哈夫曼树,每次选择两个出现频率最低的节点合并,直到构建出完整的树,从而实现有效的数据压缩。:类似于经典的背包问题,但每种物品可以分割成更小的份。
2024-09-25 19:03:07 371
原创 Difference among data wrangling, cleaning, and validation
【代码】Difference among data wrangling, cleaning, and validation。
2024-09-25 18:40:33 578
原创 SQL_having_pandas_filter
HAVING子句在SQL中用于对分组后的结果进行过滤,它通常与GROUP BY子句一起使用。HAVING子句允许你指定条件来过滤聚合函数的结果,而WHERE子句则用于在分组之前过滤原始数据。
2024-09-25 17:02:37 996
原创 Groupby_SQL和pandas等效例子
在SQL中使用PARTITION BY与在Pandas中使用groupby().agg()有一定的相似性,因为它们都是用于分组数据并对每组应用某种聚合函数。
2024-09-25 16:41:06 909
原创 SQL_over_partition_by_order_by
• window_function: 窗口函数,如SUM(), AVG(), COUNT(), MIN(), MAX(), ROW_NUMBER(), RANK(), DENSE_RANK(), LEAD(), LAG()等。• RANK() OVER (PARTITION BY salesperson_id, YEAR(date) ORDER BY amount DESC): 计算每个销售人员在每个季度的销售额排名。我们想要计算每个销售人员的总销售额,并且想要知道每个销售人员在每个季度的销售额排名。
2024-09-25 16:23:31 543
空空如也
Rstudio terminal 无法再打开 WSL bash
2023-10-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人