机器学习中的假设检验

news2024/10/6 0:34:06
  • 正态性检验
  • 相关分析
  • 回归分析

所谓假设检验,其实就是根据原假设来构造一种已知分布的统计量来计算概率,根据概率值大小来判断能否拒绝原假设,从而得到一种结论。假设检验的过程就是,构造一个原假设成立条件下的事件A,计算该A发生的概率P是否低于显著水平,即A是否为小概率事件(P值小于显著水平),若A为小概率事件,则原假设的发生的概率也不会很大,即可以拒绝原假设;而当p值大于显著水平,只是说明证伪结果不能推翻原假设即不能拒绝原假设而已,并不能说明原假设就是正确的就可以接受原假设。

例如机器学习中的最基本假设:样本分布与总体分布相似,样本可以代表总体,反之若样本不能反映总体,也就没有做机器学习的必要了,所以在训练模型之前,需要做一些假设检验,来决定能否使用该模型。

导入数据

import seaborn as sea
# 如遇中文显示问题可加入以下代码
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']  # 指定默认字体
mpl.rcParams['axes.unicode_minus'] = False  # 解决保存图像是负号'-'显示为方块的问题
import copy

#导入数据
data_raw=pd.read_excel(r'方差分析.xlsx')
data_clean=copy.deepcopy(data_raw)

data_clean.head(5)

正态性检验:数值特征的正态分布检验(一组数据的正态性检验)

  • 可视化:直方图、qq图,pp图,计算偏度与峰度
  • S-W检验:小样本≤50
  • K-S检验:大样本>50

Q-Q图是基于分位数的,P-P图是基于累积分布的

偏度:数据对称程度,

  • skewness = 0 —— 分布形态与正态分布偏度相同
  • skewness > 0 —— 正偏差数值较大,为正偏或右偏。长尾巴拖在右边,数据右端有较多的极端值
  • skewness < 0 —— 负偏差数值较大,为负偏或左偏。长尾巴拖在左边,数据左端有较多的极端值

峰度:数据陡峭程度

  • kurtosis = 0 —— 与正态分布的陡缓程度相同
  • kurtosis > 0 —— 比正态分布的高峰更加陡峭——尖顶峰
  • kurtosis < 0 —— 比正态分布的高峰来得平台——平顶峰

S-W、K-S检验:

原假设:服从正态分布

def checkNormal(df,tiger):#df:dataframe、数值
    import seaborn as sea
    from scipy import stats
    plt.figure(figsize=(8,5))
    #绘制直方图
    plt.subplot(131)
    sea.histplot(data=df,x=tiger, bins='auto', kde=True) 
    #绘制散点图
    plt.subplot(132)
    sea.scatterplot(data=df,x=df.index, y=tiger)
    #绘制qq图
    plt.subplot(133)
    stats.probplot(df[tiger], dist='norm', plot=plt)
    name=['偏度','峰度','S-W(≤5000):p','K-S(>5000):p']
    value=[data_clean[tiger].skew(),
           data_clean[tiger].kurt(),
          stats.shapiro(data_clean[tiger])[1],
           stats.kstest(data_clean[tiger], 'norm',args=(data_clean[tiger].mean(),data_clean[tiger].std()))[1]
          ]
    result=pd.DataFrame({'name':name,'value':value})
    print(result)
#     #计算偏度,峰度
#     print('偏度:',data_clean[tiger].skew())
#     print('峰度:',data_clean[tiger].kurt())
#     #s-w检验
#     stats.shapiro(data_clean[tiger])[1]
#     #k-s检验
#     stats.kstest(data_clean[tiger], 'norm',args=(data_clean[tiger].mean(),data_clean[tiger].std()))[1]#检验方法,例如'norm','expon','rayleigh','gamma',这里我们设置为'norm',即正态性检验


  check(data_clean,'被投诉次数')

首选方法是图示法,即利用直方图、Q-Q、PP图进行观察,如果分布严重偏态(左偏/右偏)和尖峰分布则建议进行假设检验。在样本量较小的时候优先选择S-W检验,反之使用K-S检验。统计学上正态性检验:原假设服从正态分布,即一般P值大于0.05我们可认为该组数据是符合正态分布。

相关分析

  • 数值变量与数值变量:相关系数显著性检验
    T检验:原假设:线性不相关(相关系数=0)
  • 分类变量与数值变量:方差分析:分类变量对数值变量是否有显著影响
    F检验:原假设:分类变量对数值变量没有影响,当分类变量只有两个类别时,也可用T检验。
  • 分类变量与分类变量:卡方分析:验证分类变量之间是否独立
    卡方检验:原假设:两个分类变量相互独立

T检验与方差分析均为差异显著性检验,用于比较两个(T检验)或者多个样本(方差分析)的差异是否显著的统计分析方法,原假设:H0:两组均值或多组均值相等。

T检验:

  • 均值差检验,检验两组数据(总体均为正态,且方差齐)的均值是否相等且数据为定量数据(分类变量对应数值变量)。
  • 此外,T检验也可以对相关系数、回归系数做显著性检验,原假设:H0:相关系数=0,H0:回归系数β=θ

方差分析:原假设H0:各个类别下的总体均值均相等,检验多个总体(方差齐)均值是否相等的方法,虽然它形式上是比较总体均值,但是本质上是研究变量之间的关系。这里的变量中,自变量是分类型的,因变量是数值型的,所研究的关系是是指分类自变量对数值因变量的影响。当分类特征只有两个类别时,此时方差分析(F检验)等价于T检验。

卡方分析:是一种非参数检验(对总体分布没有假定)

  • 可以用于独立性检验:可用于检验2个分类变量之间是否独立来判断是否相关,
    原假设H0:两个分类变量相互独立
  • 也可用于总体分布假设的检验(拟合优度检验)
    原假设:假设数据服从某种分布,从而根据概率密度函数得到概率值,计算观测频数与理论频数(np)的偏离程度,得到卡方统计量,来判断是否落在拒绝域内

导入数据

#加载数据
data_raw=pd.read_excel(r'./Data/泰坦尼克号/titanic3.xls')
data_clean=copy.deepcopy(data_raw)
#查看数据
data_clean.info()

相关系数显著性检验

#method{‘pearson’, ‘kendall’, ‘spearman’} :用来计算相关性的方法,默认为皮尔森相关系数
#min_periodsint:可选参数,为了获得有效结果所需要的最小的样本数量

def getCorr(inx,method='pearson'):#method:'pearson', 'spearman', 'kendall'
#输出相关系数和显著性检验P值
    inx_num=inx.select_dtypes('number')
    cols=inx_num.columns
    m,n=len(cols),len(cols)
#     print(cols)
    data_corr=pd.DataFrame(data=np.zeros((m,n)),index=cols,columns=cols)
    data_corr_p=pd.DataFrame(data=np.zeros((m,n)),index=cols,columns=cols)
    for i in data_corr.index:
        for j in data_corr.columns:
            if method=='pearson':
                corr_p=scipy.stats.pearsonr(inx_num[i], inx_num[j])
            elif method=='spearman':
                corr_p=scipy.stats.spearmanr(inx_num[i], inx_num[j])
            elif method=='kendall':
                corr_p=scipy.stats.kendalltau(inx_num[i], inx_num[j])
            data_corr.loc[i,j]=corr_p[0]
            data_corr_p.loc[i,j]=corr_p[1]
    return data_corr,data_corr_p

corr,corr_p=getCorr(data_clean)

方差分析

方差分析检验多个类别对应的总体均值是否相等的方法,是一种参数检验,对数据分布有一定要求

  • 正态性:每个类别对应的数据服从正态分布
    原假设:服从正态分布
  • 方差齐:每个类别对应的总体的方差相同(每个分类特征对应的数值变量的方差相同)
    原假设:每个类别对应的方差相同

方差分析:理论上要求满足正态性和方差齐才可以使用方差分析,当数据不满足正态性和方差齐性假定时,参数检验可能会给出错误的答案。若正态性或方差齐不满足,则使用非参数检验方法检验分类特征对数值特征是否有显著影响,非参数检验对数据分布不作假设。
方差分析流程:

如下图所示,
正态性检验:原假设:行业中每个类别对应的总体分布为正态分布
方差齐检验:原假设:行业中每个类别对应的总体方差相同
方差齐检验前提:每个类别对应的总体均服从(近似)正态分布,每个类别的样本相互独立

每个类别对应的数据的正态性检验

#正态性检验:每个类别对应数据的正态分布检验
def checkGroupNormal(df,tiger,cat):#df:dataframe,tiger:数值变量,cat;分类变量
    import seaborn as sea
    from scipy import stats
    
    group=df[[cat,tiger]].groupby(cat)
    means=group.mean()
    stds=group.std()
    n=len(means)
    #绘制每个分类对应数据的直方图
#     plt.figure(1)
#     for i in range(1,n+1):
#         plt.subplot(n,1,i)
#         sea.histplot(data=df[df[cat]==means.index[i-1]],x=tiger, bins='auto', kde=True,label=means.index[i-1]) 
#         plt.legend()
    #绘制散点图
#     plt.figure(2)
#     for i in range(1,n+1):
#         plt.subplot(n,1,i)
#         sea.scatterplot(data=df[df[cat]==means.index[i-1]],x=df[df[cat]==means.index[i-1]].index, y=tiger,label=means.index[i-1])
#         plt.legend()
    #绘制qq图
#     plt.figure(3)
#     for i in range(1,n+1):
#         plt.subplot(n,1,i)
#         stats.probplot(df[df[cat]==means.index[i-1]][tiger], dist='norm', plot=plt)
    #计算偏度,峰度,s-w检验,k-s检验
    value=[]
    for i in means.index:
        data=data_clean[[cat,tiger]][data_clean[cat]==i][tiger]
        #偏度
        a=data.skew()
        #峰度
        b=data.kurt()
        #s-w检验
        c=stats.shapiro(data_clean[tiger])[1]
        #k-s检验
        u,std=means.loc[i,tiger], stds.loc[i,tiger]
        d=stats.kstest(data, 'norm',(u,std))[1]
        value.append([a,b,c,d])
    name=['偏度','峰度','S-W(≤5000):p','K-S(>5000):p']
    result=pd.DataFrame(data=np.array(value),index=means.index,columns=name)
    return result

print(checkGroupNormal(data_clean,'被投诉次数','行业'))

方差分析按照分类变量个数不同,可以分为单因素方差分析、双因素方差分析以及多因素方差分析。

  • 单因素方差分析
    单因素效应:其他因素水平固定时,某一因素不同水平之间的变化(其他分类特征水平类别时,某一分类特征不同类别之间的变化)。
  • 双因素方差分析
    主效应:不考虑其他因素的影响下,某因素不同水平之间的平均变化
    交互效应:两因素间的交互作用引起的其单独效应的平均变化
  • 多因素方差分析

注意:双因素分析或者多因素分析,均需要对每个分类特征的每个类别对应的数据做正态性检验和方差齐检验,均符合要求时才可以做方差分析,否则要使用非参数检验。

方差齐检验

def equalVarCheck(inx,tiger,categoric=[]):#tiger:数值变量,categoric:分类变量
    inx_tiger=inx[tiger]
    inx_class=list(inx.select_dtypes(exclude='number').columns) if len(categoric)<1 else categoric
    for col in inx_class:
        data=inx[[col,tiger]]
        group=data.groupby(col)#分组
        group_list=[list(np.array(i[1])[:,-1]) for i in group]#嵌套列表

        _,p=stats.levene(*group_list)
        print(col,p)

equalVarCheck(data_clean,'被投诉次数',['行业','地区'])

当数据满足正态性和方差齐时,

单因素方差分析:

from statsmodels.stats.anova import anova_lm #方差分析
from statsmodels.formula.api import ols  # 最小二乘法拟合

#单因素方差分析
model = ols('被投诉次数~C(行业)',data=data_clean).fit()
model_a=anova_lm(model)
model_a
# 组间平方和
# SSE=1456
#组内平方和
# SSA=2708
#R_2=SSE/(SSE+SSA)

计算关系强度R²

R_2=model_a['sum_sq'][0]/model_a['sum_sq'].sum()
R_2

以上单因素方差分析可以得出,行业因素对投诉次数有显著影响,行业因素有四种类别,四组之间的投诉次数有显著差异,但是我们不知道哪种行业与其他行业的不同,多重比较可以解决这个问题。
#

单因素各个水平之间的显著差异(多重比较):各组均值差异的成对检验

在检验出行业因素对投诉次数有显著影响,还需判断行业因素具体是哪两个类别对应的总体均值不相等,即行业因素中具体是哪两种行业才有显著差异。注意与方差齐检验的区别:方差齐是每个类别对应的总体方差相同。

# 这个看某个因素各个水平之间的差异
from statsmodels.stats.multicomp import pairwise_tukeyhsd

# 行业与被投诉次数的影响  显著水平为0.05
print(pairwise_tukeyhsd(data_clean['被投诉次数'], data_clean['行业'], alpha=0.05)) # 第一个必须是被投诉次数, 也就是我们的指标

  • pairwise_tukeyhsd函数默认原假设H0:各个水平两两组合没有差异,若P>0.05,接受原假设,反之拒绝原假设
  • Falset:说明无显著差异,True:有显著差异
  • 这个可以得到的结论是在显著水平0.05的时候, 航空公司和零售业的p值小于0.05, reject=True, 即认为航空公司和零售业之间有显著性差异(均值明显不同)。
# 地区与被投诉次数的影响  
print(pairwise_tukeyhsd(data_clean['被投诉次数'], data_clean['地区'], alpha=0.05)) #

地区变量对投诉次数没有显著影响,其各个水平之间也没有显著差异。

在机器学习中特征选择中,若投诉次数为目标变量,行业和地区为分类特征,则根据单因素方差分析结果,可过滤地区特征;对行业特征做one-hot编码后,可只保留行业-航空公司、行业-零售业这两种特征,或者对行业特征做one-hot编码后,做数值变量之间的相关性分析

双因素方差分析

  • 无交互作用:"加法"组合,即类似于特征工程中特征的线性组合
  • 有交互作用:“乘法”组合,即类似于特征工程中特征的多项式组合(非线性)

无交互作用

model = ols('被投诉次数~C(行业)+C(地区)',data=data_clean).fit()
model_a_b=anova_lm(model)
model_a_b

有交互作用

model = ols('被投诉次数~C(行业)*C(地区)',data=data_clean).fit()
model_ab=anova_lm(model)
model_ab

从结果可以看出,依然是行业特征对目标(被投诉次数)有显著影响,地区以及行业和地区的交互作用没有显著影响。

可视化观察

fig = interaction_plot(data_clean['行业'],data_clean['地区'], data_clean['被投诉次数'],ylabel='被投诉次数', xlabel='行业')

从图中也可以看出

  • 每个地区在每个行业的走势上一致,即地区与行业的交互作用不明显;
  • 航空公司和零售业对应的被投诉次数差异明显

. ols函数里面公式的写法

  • '被投诉次数~C(行业)+C(地区)+C(行业):C(地区)' :相当于被投诉次数是y(指标), 行业和地区是x(影响因素), 三项加和的前两项表示两个主效应, 第三项表示考虑两者的交互效应, 不加C也可。
  • '被投诉次数~C(行业, Sum)*C(地区, Sum)'和上面效果是一致的, 星号在这里表示既考虑主效应也考虑交互效应,'被投诉次数~C(行业)+C(地区)':这个表示不考虑交互相应

多因素方差分析:

多因素方差分析和双因素方差分析原理上一致

  • 无交互作用
    model = ols(''被投诉次数~C(行业)+C(地区)+C(其他)' ,data=data_clean).fit()
    model_a_b=anova_lm(model)
  • 有交互作用
    model = ols(''被投诉次数~C(行业)*C(地区)*C(其他)' ,data=data_clean).fit()
    model_ab=anova_lm(model)

非参数检验:分类变量与数值变量关系

当数据的正态性或方差齐不满足时,需改用非参数检验。Welch’s ANOVA就是其中一种非参数检验方法。在python中使用Welch’s ANOVA需要安装pingouin库。其中的welch_anova和pairwise_gameshowell分别用于Welch’s ANOVA和两两比较。

卡方分析

分类变量间的独立性检验,原假设:两个分类变量相互独立

from scipy.stats import chi2_contingency

检验地区与行业两个分类变量是否独立,生成地区与行业的频数交叉连接表

df=pd.crosstab(data_clean['地区'], data_clean['行业'])#交叉连接表:频数
df

X_2, p, dof, expected = chi2_contingency(df,correction=False)
#dof:degree of freedom,(3-1)(4-1)
#p:概率值
## 卡方值、P值、自由度、理论(期望)频数,无需耶茨连续性修正
#当某个单元格的频数(np)小于5时,需要进行校正correction=False

不能拒绝原假设,不能拒绝地区和行业分类变量相互独立。

回归方程显著性检验、回归系数显著性检验

为什么要对回归方程和回归系数做显著性检验?
许多数据统计分析结果来自于部分甚至少量的样本,因此所得的统计结果可能存在偶然性,需要对样本统计结果进行显著性检验,以查看统计结果的可靠性程度。

  • 回归方程的显著性检验:F,原假设:各个回归系数均为0
    检验回归方程是判断自变量和因变量之间是否显著的线性关系
  • 回归系数的显著性检验:T,原假设:某个回归系数=0
    检验回归系数时判断自变量(特征)对因变量(目标)是否有显著影响
  • 逻辑回归方程、回归系数显著性检验:卡方检验
import statsmodels.api as sm
#最小二乘法拟合
result=sm.OLS(Y,X).fit()
result.summary()
#拟合度:
#R2=0.959:R2接近1,拟合程度好
#Adj.R-squared:修正R2
#回归方程的显著性检验:F,原假设:各个回归系数=0
#F-statistic:F值=891.3
#Prob:回归方程的P值=0.,小概率事件,原假设不成立
#回归系数的显著性检验:T,原假设:某个回归系数=0
# P>|t|:t》|t_a/2|,P越小于a,原假设越是小概率事件,越拒绝原假设,即某个回归系数对应的特征对标签Y是显著的

#置信区间有什么用呢?

图中P>|t|表示双侧T检验

model = sm.Logit(y, x)
result = model.fit()
result.summary()

对回归方程和回归系数做显著性检验,可以帮助我们做模型诊断。

回归分析,通常需要满足一些基本假设

  • 自变量和因变量之间存在线性关系
  • 样本之间是独立的,即样本的观测值不受其他样本的影响
  • 自变量之间不存在高度相关性,即不出现多重共线性问题

某个变量的回归系数不显著可能的原因

  • 特征与目标存在非线性关系,未提取出来,因为线性模型只能捕捉到线性关系,而不能处理非线性关系。
    解决办法:① 增加新的非线性特征。② 变换自变量和因变量。取对数、开方、平方根等,以达到线性关系。③ 使用非线性回归模型,例如多项式回归、指数回归等

     
  • 存在共线特征导致伪回归,变量之间存在强相关性,会导致回归分析结果不稳定,使得回归系数不显著。

    解决办法:① 删除相关性较高的自变量,② 合并相关性较高的自变量,即将相关性高的变量组合成一个新的变量,③ 使用PCA,将原始的高度相关的自变量转换成一组线性无关的主成分,④ 正则化方法(如岭回归、Lasso回归)或者自变量选择方法(逐步回归,最小角回归)来缩减回归系数,减小多重共线性影响

  • 回归不显著也可能是由于未引入自变量之间存在交互作用导致的。 在回归分析中,交互作用指的是自变量之间相互影响的情况。 当存在交互作用时,单独考虑自变量与因变量的关系可能会导致结果的不显著。 因此,在回归不显著时,可以尝试引入交互作用项,以更全面地考虑自

  • 样本量不足,回归系数的标准误差可能较大,计算t值或F值时出现较大的误差,从而导致回归系数的p值变大或出现NaN,进而导致回归系数不显著
    解决办法:① 增加样本量② 减少自变量③ 使用非参数回归方法,降低对样本量的依赖性
  • 异常值可能对回归系数的计算产生影响,使得回归系数不显著。
  • 该变量是无关变量:解决办法:直接剔除

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1185391.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何实现单病种上报的多院区/集团化/平台联动管理

背 景 米软售前人员在了解客户单病种上报的相关需求中发现&#xff0c;部分医院分为本部、分部或总院、分院等多个院区&#xff0c;各院区需共用一套系统&#xff1b;部分医院与其他兄弟医院隶属于同一集团医院&#xff0c;全集团需统一部署&#xff1b;部分市/区卫健委要求全…

【Node.js入门】1.3 开始开发Node.js应用程序

1.3 开始开发Node.js应用程序 学习目标 &#xff08;1&#xff09;熟悉开发工具Visual Studio Code的基本使用&#xff1b; &#xff08;2&#xff09;掌握Node.js应用程序的编写、运行和调试的基本方法。 构建第一个 Node.js应用程序 代码 const http require("htt…

RabbitMQ 消息中间件 消息队列

RabbitMQ1、RabbitMQ简介2、RabbitMQ 特点3、什么是消息队列4、RabbiMQ模式5、集群中的基本概念 单实例安装RabbitMQ安装依赖安装erlang安装rabbitmq开启rabbitmq的web访问界面添加用户修改配置文件重启服务浏览器访问Rabbit-test rabbitMQ集群准备工作&#xff08;三台&#x…

AM@向量代数@向量基本概念和向量线性运算

文章目录 abstract向量的基本概念向量向量的坐标分解式和坐标&#x1f47a;向量的模向量的长度(大小)&#x1f47a;零向量单位向量&#x1f47a;方向向量非零向量的单位向量正规化向量夹角&#x1f47a; 向量方向角和向量间夹角投影几何描述向量的线性运算向量的加减运算向量的…

【STM32 开发】| INA219采集电压、电流值

目录 前言1 原理图2 IIC地址说明3 寄存器地址说明4 开始工作前配置5 程序代码1&#xff09;驱动程序2&#xff09;头文件3) 测试代码 前言 INA219 是一款具备 I2C 或 SMBUS 兼容接口的分流器和功率监测计。该器件监测分流器电压降和总线电源电压&#xff0c;转换次数和滤波选项…

jmeter+ant实现的接口自动化测试

jmeterANT接口自动化测试框架 项目说明 本框架是一套基于jmeterAntExcelPython而设计的数据驱动接口自动化测试框架&#xff0c;jmeter 作为执行器&#xff0c;Ant 作为构建工具&#xff0c;进行构建测试&#xff0c;本框架无需你使用代码编写用例&#xff0c;测试用例存储在…

基于CSP的运动想象EEG分类任务实战

基于运动想象的公开数据集&#xff1a;Data set IVa (BCI Competition III)1 数据描述参考前文&#xff1a;https://blog.csdn.net/qq_43811536/article/details/134224005?spm1001.2014.3001.5501 EEG 信号时频空域分析参考前文&#xff1a;https://blog.csdn.net/qq_4381153…

算法竞赛——数论(一),数论内容的介绍,基础数论

文章目录 一&#xff0c; 数论学习路线的介绍和相关建议1&#xff0c;建议学习人群 &#xff1a;2&#xff0c;建议学习时长3&#xff0c;学习路线的介绍1&#xff0c;基础数论2&#xff0c;组合数学3&#xff0c;计算几何 二&#xff0c;基础数论第一部分 —— 快速幂和快速幂…

2023年十大最佳 iPhone 恢复软件

您的 iPhone 存储了大量有价值的数据&#xff0c;包括照片和视频。但是&#xff0c;即使使用高度安全的 Apple 设备&#xff0c;数据丢失也可能随时发生。从众多可用工具中选择最适合 iPhone 的数据恢复软件可能是一项艰巨的任务。因此&#xff0c;我们测试了性能并审查了 2023…

使用Hypothesis生成测试数据

&#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;交流讨论&#xff1a;欢迎加入我们一起学习&#xff01;&#x1f4e2;资源分享&#xff1a;耗时200小时精选的「软件测试」资…

[vue-router]vue3.x Hash路由前缀问题

[vue-router]vue3.x Hash路由前缀问题 问题描述问题分析 问题描述 是在本地开发时&#xff0c;使用的HASH路由&#xff0c;然后在偶然的情况下在/#/前添加了前缀&#xff0c;发现不影响本地的路由的使用&#xff1f;&#xff1f;&#xff1f;&#xff01;&#xff01;&#xf…

rviz中引入SW的模型

一、SW装配图转urdf 参考链接&#xff1a;https://blog.csdn.net/weixin_45168199/article/details/105755388 这部分直接看参考链接就可以&#xff0c;主要思路如下 1、把sw中的零散零件按照机器人中连杆的分类整合成几个大零件 2、把几个大零件整合成装配体&#xff0c;并…

如何在Jetpack Compose中显示PDF?

当读取和显示 PDF 的组件缺失时该怎么办? 声明式编程可以拯救你. Jetpack Compose已经存在好几年了, 但_在某些方面它的使用仍然面临挑战_. 例如, 缺少用于查看PDF的官方组件, 而为数不多的第三方库通常也是有代价的. 在我们的应用中, 我们会遇到在许多场景中显示 PDF 的需求…

跨境电商源码独立开发:一次购买,终生使用

随着全球电子商务的快速发展&#xff0c;越来越多的企业开始涉足跨境电商领域。为了在这个竞争激烈的市场中脱颖而出&#xff0c;您需要一个专业的跨境电商解决方案。我们的团队为您提供最优质的源码独立开发服务&#xff0c;让您拥有一个功能强大、安全稳定的跨境电商平台。 一…

腾讯觅影数智医疗影像平台获颁世界互联网领先科技成果大奖

11月8日&#xff0c;2023年世界互联网大会乌镇峰会在乌镇举行&#xff0c;腾讯再度获颁“世界互联网领先科技成果”大奖。腾讯健康总裁吴文达在世界互联网领先科技成果发布活动中介绍&#xff0c;“腾讯觅影数智医疗影像平台”已全面开放20多个医疗AI引擎助力科研创新&#xff…

2007-2022年全国各地级市金融机构网点数据

2007-2022年地级市金融机构网点数据 1、时间&#xff1a;2007-2022年 2、指标&#xff1a;行政区划代码、年份、城市名称、所属省份、银行网点数量、其中-政策性银行及国家开发银行营业网点占比、其中-商业银行营业网点数量占比、其中-农村金融机构营业网点数量占比 3、范围…

P3379 【模板】最近公共祖先(LCA)

洛谷里面8页题解千篇一律&#xff0c;就没有用线段树求解的&#xff0c;这下不得不由本蒟蒻来生啃又臭又硬&#xff0c;代码又多的线段树了。 样例的欧拉序列&#xff1a;4 2 4 1 3 1 5 1 4 记录每个节点最早在欧拉序列中的时间&#xff0c;任意两个节点的LCA就是他们两个节点…

Python 实现动态动画心形图

在抖音上刷到其他人用 matlab 实现的一个动态心形图&#xff0c;就想也用 Python 实现&#xff0c;摸索了两种实现方式&#xff0c;效果如下&#xff1a; 方法一&#xff1a; 利用循环&#xff0c;结合 pyplot 的 pause 与 clf 参数实现图像的动态刷新 import matplotlib.p…

MATLAB绘图中文显示为方框

MATLAB绘图中文显示为方框 MATLAB显示英文和字母没有问题&#xff0c;但是当显示中文时会显示乱码&#xff0c;中文显示为方框&#xff0c;如下图&#xff1a; 可以在绘图命令中添加如下代码&#xff1a; set(gca,Fontname,Monospaced); 例如&#xff1a; % 滤波器系数%低通…

Kafka入门

kafka无疑是当今互联网公司使用最广泛的分布式实时消息流系统&#xff0c;它的高吞吐量&#xff0c;高可靠等特点为并发下的大批量实时请求处理提供了可靠保障。很多同学在项目中都用到过kafka&#xff0c;但是对kafka的设计原理以及处理机制并不是十分清楚。为了知其然知其所以…