<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Forrest97的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Forrest97</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Forrest97]]></copyright><item><title><![CDATA[Python 连续分布离散化，计算熵]]></title><link>https://blog.youkuaiyun.com/Forrest97/article/details/122568950</link><guid>https://blog.youkuaiyun.com/Forrest97/article/details/122568950</guid><author>Forrest97</author><pubDate>Tue, 18 Jan 2022 21:33:12 +0800</pubDate><description><![CDATA[总的流程：划分一个连续分布为离散分布，计算每个区间内的统计频数，并计算分布的熵
两种方法实现：
pandas.cut
pd.cut方法对分布按照bins的区间划分，对每个区间的频数进行统计，除以总数得到概率，最后计算熵
bins=np.linspace(0, 1, 51)
group = pd.cut(accum_pd[sub_name], bins=bins)
group_count = accum_pd[sub_name].groupby(group).count()
sub_count = np.ar]]></description><category></category></item><item><title><![CDATA[【一网打尽】独立重复事件——常见概率分布]]></title><link>https://blog.youkuaiyun.com/Forrest97/article/details/119835472</link><guid>https://blog.youkuaiyun.com/Forrest97/article/details/119835472</guid><author>Forrest97</author><pubDate>Sat, 21 Aug 2021 10:52:15 +0800</pubDate><description><![CDATA[定义
伯努利（Bernouli）试验
试验只有两个可能结构，概率分别为ppp和1-ppp （常见例子：摇色子）
n重伯努利试验/伯努利过程
独立重复n次伯努利试验，这一串重复的独立试验
泊松（Poisson）过程
连续版的伯努利过程，时间连续且任意单位时间段内时间发生率λ\lambdaλ一定，且时间发生相互独立（常见例子：零件或路灯出故障）
概率分布的意义
0-1分布/伯努利分布
伯努利试验成功概率
二项（Binomial）分布
n重伯努利试验中成功k次的概率
负二项（NegativeBinomial）分布]]></description><category></category></item><item><title><![CDATA[相关系数不需要归一化/标准化]]></title><link>https://blog.youkuaiyun.com/Forrest97/article/details/119825337</link><guid>https://blog.youkuaiyun.com/Forrest97/article/details/119825337</guid><author>Forrest97</author><pubDate>Fri, 20 Aug 2021 15:58:38 +0800</pubDate><description><![CDATA[求相关系数时，比如皮尔逊相关系数，可以看出我们同时对x和y乘以一个系数时，对相关系数r值没有影响
r=∑(x−mx)(y−my)∑(x−mx)2∑(y−my)2
r=\frac{\sum\left(x-m_{x}\right)\left(y-m_{y}\right)}{\sqrt{\sum\left(x-m_{x}\right)^{2} \sum\left(y-m_{y}\right)^{2}}}
r=∑(x−mx​)2∑(y−my​)2​∑(x−mx​)(y−my​)​

...]]></description><category></category></item><item><title><![CDATA[panda 修改行名字 报错 Index does not support mutable operations]]></title><link>https://blog.youkuaiyun.com/Forrest97/article/details/119791338</link><guid>https://blog.youkuaiyun.com/Forrest97/article/details/119791338</guid><author>Forrest97</author><pubDate>Wed, 18 Aug 2021 23:23:33 +0800</pubDate><description><![CDATA[在进行panda数据操作，扩充时出现两个tricks：

使用data_pd.append()，进行行扩充数据时，行名需要相同，才能实现自动扩充
使用data_pd.columns= []， 修改行名时，不允许切片操作，只能按照原数据长建立一个列表赋值修改

# 遍历不同个体数据，进行数据拼接
response_pd = pd.DataFrame() #建立一个空panda
for ii in range(100, 106):
    sub = 'Sub%d'%ii
    index = np.wher]]></description><category></category></item><item><title><![CDATA[python 线性相关 与 线性拟合]]></title><link>https://blog.youkuaiyun.com/Forrest97/article/details/118254614</link><guid>https://blog.youkuaiyun.com/Forrest97/article/details/118254614</guid><author>Forrest97</author><pubDate>Sat, 26 Jun 2021 22:41:52 +0800</pubDate><description><![CDATA[文章目录线性相关皮尔逊相关系数（stats.pearsonr）斯皮尔曼相关系数（stats.spearmanr）线性拟合/回归最小二乘法（optimize.least_squares）R方(R squared)代码实现
线性相关
线性相关分析是描述两变量间直线相关，常用相关系数来描述。
根据数据的分布特性不同可以分为：皮尔逊相关系数（Pearson correlation coefficient ）和斯皮尔曼相关系数（Spearman‘s rank  correlation coefficient ）
皮尔]]></description><category></category></item><item><title><![CDATA[Python 数值计算库scipy 统计模块stats用法入门]]></title><link>https://blog.youkuaiyun.com/Forrest97/article/details/117957698</link><guid>https://blog.youkuaiyun.com/Forrest97/article/details/117957698</guid><author>Forrest97</author><pubDate>Wed, 16 Jun 2021 17:03:46 +0800</pubDate><description><![CDATA[文章目录statis模块概述连续概率分布正态分布（norm）概率检验/假设检验（Statistical tests）K-S检验（Kolmogorov-Smirnov test ）scipy.stats.kstest
statis模块概述
模块包括了大量的概率分布，可以根据分为数量分为单变量与单变量。单变量又可根据变量类型分为：连续概率分布和离散概率分布。
具体包括了如下几大类统计方法：




模块名





Continuous distributions
连续概率分布


Multivariate d]]></description><category></category></item><item><title><![CDATA[基于python 自写Tobii VI-T滤波器]]></title><link>https://blog.youkuaiyun.com/Forrest97/article/details/114417192</link><guid>https://blog.youkuaiyun.com/Forrest97/article/details/114417192</guid><author>Forrest97</author><pubDate>Mon, 12 Apr 2021 09:45:40 +0800</pubDate><description><![CDATA[官网介绍
https://www.tobiipro.com/learn-and-support/learn/steps-in-an-eye-tracking-study/data/how-are-fixations-defined-when-analyzing-eye-tracking-data/
GITHUB c代码
https://github.com/uxifiit/GazeToolkit

]]></description><category></category></item><item><title><![CDATA[python numpy 找出第二大/小的数/索引]]></title><link>https://blog.youkuaiyun.com/Forrest97/article/details/115590532</link><guid>https://blog.youkuaiyun.com/Forrest97/article/details/115590532</guid><author>Forrest97</author><pubDate>Sun, 11 Apr 2021 10:39:45 +0800</pubDate><description><![CDATA[对于numpy我们很容易通过np.max或者np.argmax找到最大的数，但是如何定位第n大的数呢？
百度一下，python找第二大的数方法，居然是将找到最大值复制为最小值后，再找出最大值。显然这个方法也太不智能了。
正解如下：
import numpy as np
arr=np.random.rand(10)
# 第2大数值
max2 = np.sort(arr)[-2]
# 第2大索引
max_index2 = np.argsort(arr)[-2]


...]]></description><category></category></item><item><title><![CDATA[反正切函数的求解  math.atan2]]></title><link>https://blog.youkuaiyun.com/Forrest97/article/details/114399425</link><guid>https://blog.youkuaiyun.com/Forrest97/article/details/114399425</guid><author>Forrest97</author><pubDate>Fri, 05 Mar 2021 15:49:43 +0800</pubDate><description><![CDATA[相比 math.atan以180°为周期，math.atan2适用范围更广，得到结果范围为[-pi, pi]

使用方法很简单，传入一个矢量即可，但注意有点怪的是第一个形参是y，第二个是x
math.atan2(y, x)

参考
https://www.tutorialgateway.org/python-atan2/

...]]></description><category></category></item><item><title><![CDATA[最小二乘法拟合圆心和半径 python实现]]></title><link>https://blog.youkuaiyun.com/Forrest97/article/details/114369669</link><guid>https://blog.youkuaiyun.com/Forrest97/article/details/114369669</guid><author>Forrest97</author><pubDate>Thu, 04 Mar 2021 15:32:27 +0800</pubDate><description><![CDATA[代码实现
scipy.optimize.leastsq
最小二乘法拟合圆心和半径 ，转化为所有点到圆心（xc, yc）距离与半径Rc的差最小问题，表达式如下，再通过scipy中的最小二乘算法进行求解即可。
因为圆半径等于所有点到圆心的平均距离，所以一旦圆心得到了，就可以直接求得半径
Ri = sqrt( (x - xc)**2 + (y - yc)**2)
residu = sum( (Ri - Rc)**2)

展示一个例子
from numpy import *

# Coordinates of th]]></description><category></category></item><item><title><![CDATA[最小覆盖圆（smallest enclosing circle）算法 python 实现]]></title><link>https://blog.youkuaiyun.com/Forrest97/article/details/114366968</link><guid>https://blog.youkuaiyun.com/Forrest97/article/details/114366968</guid><author>Forrest97</author><pubDate>Thu, 04 Mar 2021 14:51:06 +0800</pubDate><description><![CDATA[百度一圈没有找到合适的博客，通过外网找到了python实现，所以整理记录一下。
最小圆问题
The smallest-circle problem (also known as minimum covering circle problem, bounding circle problem, smallest enclosing circle problem）
有多种算法求解实现，具体参见维基百科。
最容易理解，使用最多的是一些计算几何算法，大家可以参考这篇博文最小圆覆盖（经典算法【三点定圆）进行理论学习
]]></description><category></category></item><item><title><![CDATA[python matplotlib 坐标轴打断]]></title><link>https://blog.youkuaiyun.com/Forrest97/article/details/113746307</link><guid>https://blog.youkuaiyun.com/Forrest97/article/details/113746307</guid><author>Forrest97</author><pubDate>Sun, 07 Feb 2021 19:49:29 +0800</pubDate><description><![CDATA[想要绘制出如下类型坐标轴断开的图，matplotlib中并没有直接可用的API，但是官方给出了一个demo: broken axis.py
大概说下思路：画出两个共享X轴，完全相同的图，下图取消上边界，下图取消下边界，然后再使用plot画两组平行线就大功告成。

参照官网例子画的堆积图代码
    def respond_mode_bar(self):
        labels = ['Braking','Right','Left','R&amp;B','L&amp;B']
        # colo]]></description><category></category></item><item><title><![CDATA[【seaborn】kdeplot用法 & 核密度估计（KDE）原理介绍]]></title><link>https://blog.youkuaiyun.com/Forrest97/article/details/113657125</link><guid>https://blog.youkuaiyun.com/Forrest97/article/details/113657125</guid><author>Forrest97</author><pubDate>Fri, 05 Feb 2021 14:55:54 +0800</pubDate><description><![CDATA[文章目录核密度估计(Kernel Density Estimation)定义例子带宽（*bandwidth*）参数选择参考seaborn.kdeplot
核密度估计(Kernel Density Estimation)
定义
核密度估计是估计随机变量的概率密度函数的非参数方法，即一种针对连续数据的密度估计方法，并且其根据数据本身的相互关系得到，无需对数据分布做假设。
假设样本彼此独立并遵循相同的分布。给定带宽H，每个样本都由平滑的核函数拟合。某数据的密度值可以视为其他所有样本对该数据的平均影响。
f^h(x]]></description><category></category></item><item><title><![CDATA[Python Matplotlib 颜色名 与默认color_list获取]]></title><link>https://blog.youkuaiyun.com/Forrest97/article/details/113682480</link><guid>https://blog.youkuaiyun.com/Forrest97/article/details/113682480</guid><author>Forrest97</author><pubDate>Fri, 05 Feb 2021 10:39:53 +0800</pubDate><description><![CDATA[绘制图像的时候需要选择美化的曲线，网上的图有很多，但是不少颜色的关键字并不支持。
所以还是多参考官方的颜色名表

参考
https://matplotlib.org/3.1.0/gallery/color/named_colors.html

]]></description><category></category></item><item><title><![CDATA[【seaborn】jointplot 改变图片长宽比，非方形]]></title><link>https://blog.youkuaiyun.com/Forrest97/article/details/113091457</link><guid>https://blog.youkuaiyun.com/Forrest97/article/details/113091457</guid><author>Forrest97</author><pubDate>Sun, 24 Jan 2021 16:35:35 +0800</pubDate><description><![CDATA[最近开始写论文了，画好看图是非常有必要的。matplolib虽然能满足基础需求，但是总感觉没那么高大上。简单接触seaborn后，发现确实集成度很高，很简单的API就可以画出美观的数据图。但是市面上应该还没有系统的数据，主要参考都是官网的例子。出现一些其他问题就只能自己想办法去网上搜了。
比如今天的使用jointplot时发现，默认格式图像长宽比是1：1，传统matplotlib中的figsize关键字都无法改变图像的尺寸。而 jointplot关键字中只有height，无法改变图像的高度。

height]]></description><category></category></item><item><title><![CDATA[Torch 和 Numpy 出现NAN解决方法]]></title><link>https://blog.youkuaiyun.com/Forrest97/article/details/113090756</link><guid>https://blog.youkuaiyun.com/Forrest97/article/details/113090756</guid><author>Forrest97</author><pubDate>Sun, 24 Jan 2021 15:11:22 +0800</pubDate><description><![CDATA[在训练过程中，在确保数据没有异常的情况。由于自定义loss中出现了除数为0或对数为0的情况，导致无法计算得到数字就会得到NAN，然后loss.backward()就会导致整个网络的权重数值都变成NAN。直接导致网络无法计算。
所以在网络训练过程中需要对NAN进行检测和处理。
NAN检测
如果只是一个简单的标量，直接使用isnan进行判据
torch.isnan(loss)

如果只是一个相对复杂的矢量，则需要使用结合.int().sum()对nan进行计数，判据大于0
torch.isnan(loss).i]]></description><category></category></item><item><title><![CDATA[PPT另存图片 设置dpi 命令提示符]]></title><link>https://blog.youkuaiyun.com/Forrest97/article/details/111770896</link><guid>https://blog.youkuaiyun.com/Forrest97/article/details/111770896</guid><author>Forrest97</author><pubDate>Sat, 26 Dec 2020 23:01:39 +0800</pubDate><description><![CDATA[运行+CMD进入命令提示符，设置dpi=500
reg add HKCU\Software\Microsoft\Office\16.0\PowerPoint\Options /v "ExportBitmapResolution" /t "REG_DWORD" /d 500 /f

转载
https://zhuanlan.zhihu.com/p/23555929

]]></description><category></category></item><item><title><![CDATA[Python中 list, numpy.array, torch.Tensor 格式相互转化]]></title><link>https://blog.youkuaiyun.com/Forrest97/article/details/111311184</link><guid>https://blog.youkuaiyun.com/Forrest97/article/details/111311184</guid><author>Forrest97</author><pubDate>Thu, 17 Dec 2020 11:09:22 +0800</pubDate><description><![CDATA[1.1 list 转 numpy
ndarray = np.array(list)
1.2 numpy 转 list
list = ndarray.tolist()
2.1 list 转 torch.Tensor
tensor=torch.Tensor(list)
2.2 torch.Tensor 转 list
先转numpy，后转list
list = tensor.numpy().tolist()
3.1 torch.Tensor 转 numpy
ndarray = tensor.numpy()
*gp]]></description><category></category></item><item><title><![CDATA[Pytorch数据加载 torch.utils.data.DataLoader 中 num_workers 设置]]></title><link>https://blog.youkuaiyun.com/Forrest97/article/details/111081805</link><guid>https://blog.youkuaiyun.com/Forrest97/article/details/111081805</guid><author>Forrest97</author><pubDate>Sat, 12 Dec 2020 18:32:15 +0800</pubDate><description><![CDATA[电脑有10核20线程应该怎么设置torch.utils.data.DataLoader 中 num_workers使得我数据加载最快？
首先来搞定定义：概念核心数与线程数
核心数与线程数
核心：一个CPU具有的物理核心数（物理概念）
线程：是CPU调度和分配的基本单位（逻辑概念）。
一个计算机可以并发（同时）的线程数，等于计算机上的逻辑处理器的个数（CPU个数 *每个CPU核心数 *每个内核线程数）
详细参考参考：
https://blog.youkuaiyun.com/weixin_38256474/article/]]></description><category></category></item><item><title><![CDATA[Pytorch 随机种子设置  不可控因素]]></title><link>https://blog.youkuaiyun.com/Forrest97/article/details/111077258</link><guid>https://blog.youkuaiyun.com/Forrest97/article/details/111077258</guid><author>Forrest97</author><pubDate>Sat, 12 Dec 2020 17:59:58 +0800</pubDate><description><![CDATA[为确保模型训练过程中，需要设置模型的随机种子，具体操作如下：
主程序
def torch_seed(seed):
    torch.manual_seed(seed)
    torch.cuda.manual_seed(seed)
    torch.cuda.manual_seed_all(seed)  
    np.random.seed(seed)  # Numpy module.
    random.seed(seed)  # Python random module.
    torch.]]></description><category></category></item></channel></rss>