【Python机器学习实战】 | Lasso回归和弹性网回归详细分析研究

🎩 欢迎来到技术探索的奇幻世界👨‍💻

📜 个人主页:@一伦明悦-CSDN博客

✍🏻 作者简介: C++软件开发、Python机器学习爱好者

🗣️ 互动与支持💬评论      👍🏻点赞      📂收藏     👀关注+

如果文章有所帮助,欢迎留下您宝贵的评论,

点赞加收藏支持我,点击关注,一起进步!

引言

Lasso回归(Lasso Regression)和弹性网回归(Elastic Net Regression)是用于特征选择和正则化的线性回归方法。它们在处理高维数据和解决过拟合问题方面非常有效。以下是对它们的详细解释:

Lasso回归(Lasso Regression):

Lasso回归是一种使用 L1 正则化的线性回归方法。其损失函数由最小化残差平方和与系数绝对值之和的加权和组成。Lasso回归的数学表达式如下:
[ \min_{\beta} \frac{1}{2} \lVert y - X\beta \rVert^2_2 + \alpha \lVert \beta \rVert_1 ]

特点和作用:

  • L1 正则化使得部分系数变为零,实现了特征选择,可以用于稀疏特征选择。
  • 可以处理高维数据,并降低模型的复杂度。
  • 适用于存在多重共线性问题的数据集。

弹性网回归(Elastic Net Regression):

弹性网回归是 Lasso 回归和 Ridge 回归的结合,同时使用 L1 和 L2 正则化项。其损失函数在 Lasso 回归和 Ridge 回归的基础上增加了一个混合比例参数。弹性网回归的数学表达式如下:
[ \min_{\beta} \frac{1}{2n} \lVert y - X\beta \rVert^2_2 + \alpha \rho \lVert \beta \rVert_1 + \frac{\alpha(1-\rho)}{2} \lVert \beta \rVert^2_2 ]

其中,𝛼α 是总的正则化参数,𝜌ρ 是 L1 正则化项在总正则化中的比例。

特点和作用:

  • 组合了 L1 和 L2 正则化的优点,可以克服 Lasso 回归在高相关特征情况下的一些限制。
  • 同时实现了特征选择和模型复杂度控制。
  • 适用于处理高维数据、存在关联特征或存在较强共线性的数据集。

正文

01-读取并展示邮政编码数据集中标签为 3 的部分样本的图像

这段代码实现了以下功能:

  1. 导入必要的模块:

    • 导入 numpy 库,并重命名为 np。
    • 导入 pandas 库,并重命名为 pd。
    • 导入 matplotlib.pyplot 库,并重命名为 plt,同时从 pylab 中导入所有内容(包括 figure、subplot 等)。
    • 导入 matplotlib.cm 库中的 cm 模块,用于颜色映射。
    • 使用 warnings 库来过滤警告信息。
    • 设置 matplotlib 图表显示中文。
    • 导入 sklearn 中的支持向量机模型 svm。
    • 导入 sklearn.linear_model 中的线性模型 LM。
    • 导入 scipy.stats 库,并重命名为 st。
    • 导入 scipy.optimize 库中的 root 和 fsolve 函数。
    • 导入 sklearn.feature_selection 库中的各种特征选择方法。
    • 导入 sklearn.linear_model 中的 Lasso、Ridge 和 ElasticNet 相关函数和类。
  2. 读取名为 ‘邮政编码数据.txt’ 的数据文件,使用空格作为分隔符,且没有列名(header=None)。

  3. 从数据中筛选出标签为 3 的样本,并分别将特征和目标变量提取出来,作为后续分析的数据源。

  4. 设定随机种子为 1,从目标变量 Y 中随机选择 25 个样本的索引。

  5. 创建一个 8x8 的图像,用于展示所选样本的图像。对于每个选定的样本:

    • 将其特征数据转换成 16x16 的图像格式。
    • 在子图中显示灰度图像。
  6. 将绘制的图像保存为文件’4.png’,分辨率设定为 dpi=500。

  7. 最后使用 plt.show() 显示生成的图像。

综上所述,这段代码的主要作用是读取并展示邮政编码数据集中标签为 3 的部分样本的图像,以及使用 matplotlib 和 numpy 进行图像处理和显示。

#本章需导入的模块
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from pylab import *
import matplotlib.cm as cm
import warnings
warnings.filterwarnings(action = 'ignore')
%matplotlib inline
plt.rcParams['font.sans-serif']=['SimHei']  #解决中文显示乱码问题
plt.rcParams['axes.unicode_minus']=False
from sklearn import svm
import sklearn.linear_model as LM
import scipy.stats as st
from scipy.optimize import root,fsolve
from sklearn.feature_selection import  VarianceThreshold,SelectKBest,f_classif,chi2
from sklearn.feature_selection import RFE,RFECV,SelectFromModel
from sklearn.linear_model import Lasso,LassoCV,lasso_path,Ridge,RidgeCV
from sklearn.linear_model import enet_path,ElasticNetCV,ElasticNetdata=pd.read_table('邮政编码数据.txt',sep=' ',header=None)
tmp=data.loc[data[0]==3]
X=tmp.iloc[:,1:-1]
Y=tmp.iloc[:,0]
np.random.seed(1)
ids=np.random.choice(len(Y),25)
plt.figure(figsize=(8,8))
for i,item in enumerate(ids):img=np.array(X.iloc[item,]).reshape((16,16))plt.subplot(5,5,i+1)plt.imshow(img,cmap=cm.gray)
plt.savefig("../4.png", dpi=500) 
plt.show()

 运行结果如下图所示:

这段代码的作用如下所述:

  1. 特征选择器初始化和拟合:

    • selector=VarianceThreshold(threshold=0.05) 初始化了一个方差阈值选择器,它用来删除方差低于指定阈值的特征。
    • selector.fit(X) 将该选择器应用于特征数据集 X,以识别并保留方差大于 0.05 的特征。
  2. 输出剩余变量个数:

    • print("剩余变量个数:%d"%len(selector.get_support(True))) 输出剩余的特征个数,即保留下来的特征数量。
  3. 特征变换和逆变换:

    • X = selector.inverse_transform(selector.transform(X)) 使用选择器对 X 进行特征转换和逆转换操作。这一步骤可以理解为删除了方差较低的特征后,将 X 恢复为原始特征空间的数据格式。
  4. 图像展示:

    • 创建一个 8x8 的图像用于展示样本图像。
    • 对于预先随机选择的每个样本 ids
      • 将其特征数据转换成 16x16 的图像格式。
      • 在子图中显示灰度图像。
  5. 保存和显示图像:

    • plt.savefig("../4.png", dpi=500) 将绘制的图像保存为文件’4.png’,设置分辨率为 dpi=500。
    • plt.show() 最后使用 matplotlib 显示生成的图像。

综上所述,这段代码在进行方差阈值特征选择后,重新转换特征数据并展示了处理后的样本图像。通过这种方式,可以在保留数据关键特征的同时,有效地减少数据的维度和复杂性。

 

selector=VarianceThreshold(threshold=0.05)
selector.fit(X)
print("剩余变量个数:%d"%len(selector.get_support(True)))
X=selector.inverse_transform(selector.transform(X))
plt.figure(figsize=(8,8))
for i,item in enumerate(ids):img=np.array(X[item,]).reshape((16,16))plt.subplot(5,5,i+1)plt.imshow(img,cmap=cm.gray)
plt.savefig("../4.png", dpi=500) 
plt.show()

 运行结果如下图所示:

02-利用不同的模型估计器进行特征选择,并展示处理后的样本图像,以便观察特征选择对图像的影响

这段代码的作用如下所述:

  1. 导入必要的模块:

    • 代码从 numpy、pandas、matplotlib.pyplot 等库中导入所需的模块,用于数据处理和可视化。
    • 也导入了机器学习相关模块,如 sklearn 中的 svm、linear_model 等,以及 scipy 中的统计模块和优化算法。
  2. 读取数据并筛选:

    • 从名为 ‘邮政编码数据.txt’ 的数据文件中读取数据,使用空格分隔,无列名。
    • 过滤出标签为 1 或 3 的样本数据,并提取特征 X 和目标变量 Y。
  3. 随机选择样本:

    • 设定随机种子为 1,从目标变量 Y 中随机选择 25 个样本的索引。
  4. 特征选择:

    • 对于每个模型估计器(LogisticRegression 和 SVC with linear kernel):
      • 使用递归特征消除(RFE)选择器,设置要选择的特征数为 80。
      • 对特征数据 X 和目标变量 Y 进行拟合和特征选择。
      • 输出选取的变量重要性排名前5的信息。
      • 对选择后的特征数据进行转换和逆转换。
      • 创建一个 8x8 的图像用于展示处理后的样本图像。
      • 对于预先随机选择的每个样本,将其特征数据转换成 16x16 的图像格式,并在子图中显示灰度图像。
  5. 显示图像:

    • 在每个模型估计器上完成特征选择和图像展示后,使用 plt.show() 分别显示这些图像。
  6. 保存图像:

    • 将最后一个模型估计器的图像保存为文件’4.png’,分辨率设定为 dpi=500。

综上所述,这段代码的主要作用是利用不同的模型估计器进行特征选择,并展示处理后的样本图像,以便观察特征选择对图像的影响。同时,通过保存图像文件,可以进一步对结果进行保存和分享。

#本章需导入的模块
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from pylab import *
import matplotlib.cm as cm
import warnings
warnings.filterwarnings(action = 'ignore')
%matplotlib inline
plt.rcParams['font.sans-serif']=['SimHei']  #解决中文显示乱码问题
plt.rcParams['axes.unicode_minus']=False
from sklearn import svm
import sklearn.linear_model as LM
import scipy.stats as st
from scipy.optimize import root,fsolve
from sklearn.feature_selection import  VarianceThreshold,SelectKBest,f_classif,chi2
from sklearn.feature_selection import RFE,RFECV,SelectFromModel
from sklearn.linear_model import Lasso,LassoCV,lasso_path,Ridge,RidgeCV
from sklearn.linear_model import enet_path,ElasticNetCV,ElasticNetdata=pd.read_table('邮政编码数据.txt',sep=' ',header=None)
tmp=data.loc[(data[0]==1) | (data[0]==3)]
X=tmp.iloc[:,1:-1]
Y=tmp.iloc[:,0]
np.random.seed(1)
ids=np.random.choice(len(Y),25)
estimators=[LM.LogisticRegression(),svm.SVC(kernel='linear',random_state=1)]
for estimator in estimators:selector=RFE(estimator=estimator,n_features_to_select=80)selector.fit(X,Y)#print("N_features %s"%selector.n_features_)print("变量重要性排名 %s"%selector.ranking_[0:5])Xtmp=selector.inverse_transform(selector.transform(X))plt.figure(figsize=(8,8))for i,item in enumerate(ids):img=np.array(Xtmp[item,]).reshape((16,16))plt.subplot(5,5,i+1)plt.imshow(img,cmap=cm.gray)plt.show()
plt.savefig("../4.png", dpi=500)     

运行结果如下图所示: 

03-Lasso回归中的收缩参数alpha和训练误差

这段代码的作用如下所述:

  1. 导入必要的模块:

    • 导入了 numpy、pandas、matplotlib.pyplot 等库,以及 sklearn 中的 svm、linear_model 等模块,用于数据处理、机器学习建模和可视化。
    • 同样地,使用了 matplotlib.cm 进行颜色映射处理,以及 warnings 库来忽略警告信息。
  2. 读取数据并筛选:

    • 从名为 ‘邮政编码数据.txt’ 的文本文件中读取数据,假设数据使用空格分隔且没有列名。
    • 根据数据中第一列的值为 1 或 3 的条件,筛选出符合条件的数据作为分析的数据集。
  3. Lasso 回归建模和分析:

    • 使用 Lasso 回归模型对数据进行拟合和分析。
    • 定义了一系列的 alpha 参数值,包括从 0 到 1 等间隔的20个值,并加入额外的 2 和 3。
    • 初始化一个二维数组 coef 来存储每个 alpha 值对应的回归系数。
    • 对每个 alpha 值,通过 Lasso 回归拟合数据,并计算回归系数和训练误差。
  4. 结果展示:

    • 输出并打印了 alpha=0 时前五个变量的回归系数。
    • 在图形化界面中,绘制了两个子图:
      • 第一个子图展示了不同 alpha 值下每个变量的归一化回归系数变化情况,以及 alpha 参数与回归系数的关系。
      • 第二个子图展示了不同 alpha 值下的训练误差变化情况。
  5. 保存图像:

    • 最后将绘制好的图形保存为文件’4.png’,设定分辨率为 dpi=500。

综上所述,这段代码的主要目的是通过 Lasso 回归模型对数据进行分析和可视化,以研究不同收缩参数(alpha)对回归系数和模型训练误差的影响。保存的图像文件可以进一步用于结果展示和分享。

#本章需导入的模块
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from pylab import *
import matplotlib.cm as cm
import warnings
warnings.filterwarnings(action = 'ignore')
%matplotlib inline
plt.rcParams['font.sans-serif']=['SimHei']  #解决中文显示乱码问题
plt.rcParams['axes.unicode_minus']=False
from sklearn import svm
import sklearn.linear_model as LM
import scipy.stats as st
from scipy.optimize import root,fsolve
from sklearn.feature_selection import  VarianceThreshold,SelectKBest,f_classif,chi2
from sklearn.feature_selection import RFE,RFECV,SelectFromModel
from sklearn.linear_model import Lasso,LassoCV,lasso_path,Ridge,RidgeCV
from sklearn.linear_model import enet_path,ElasticNetCV,ElasticNetdata=pd.read_table('邮政编码数据.txt',sep=' ',header=None)
tmp=data.loc[(data[0]==1) | (data[0]==3)]
X=tmp.iloc[:,1:-1]
Y=tmp.iloc[:,0]
fig,axes=plt.subplots(nrows=1,ncols=2,figsize=(12,5))
alphas=list(np.linspace(0,1,20))
alphas.extend([2,3])
coef=np.zeros((len(alphas),X.shape[1]))
err=[]
for i,alpha in enumerate(alphas):modelLasso = Lasso(alpha=alpha)modelLasso.fit(X,Y)if i==0:coef[i]=modelLasso.coef_else:coef[i]=(modelLasso.coef_/coef[0])err.append(1-modelLasso.score(X,Y))    
print('前5个变量的回归系数(alpha=0):%s'%coef[0,][0:5])
for i in np.arange(0,X.shape[1]):axes[0].plot(coef[1:-1,i])
axes[0].set_title("Lasso回归中的收缩参数alpha和回归系数")
axes[0].set_xlabel("收缩参数alpha变化")
axes[0].set_xticks(np.arange(len(alphas)))
axes[0].set_ylabel("Beta(alpha)/Beta(alpha=0)")axes[1].plot(err)
axes[1].set_title("Lasso回归中的收缩参数alpha和训练误差")
axes[1].set_xlabel("收缩参数alpha变化")
axes[1].set_xticks(np.arange(len(alphas)))
axes[1].set_ylabel("错判率")
plt.savefig("../4.png", dpi=500)  

 

04-Lasso回归和弹性网回归

这段代码的作用如下所述:

  1. 导入必要的模块:

    • 导入了 numpy、pandas、matplotlib.pyplot 等库,以及一些从 sklearn 中导入的模块,如 svm、linear_model 等,用于数据处理、机器学习建模和可视化。
    • 使用了 matplotlib.cm 进行颜色映射处理,以及 warnings 库来忽略警告信息。
  2. 读取数据并筛选:

    • 从名为 ‘邮政编码数据.txt’ 的文本文件中读取数据,假设数据使用空格分隔且没有列名。
    • 根据数据中第一列的值为 1 或 3 的条件,筛选出符合条件的数据作为分析的数据集。
  3. 弹性网(Elastic Net)回归建模和分析:

    • 对两种不同的 L1 范数比率 (l1_ratio) 进行弹性网回归建模(一种正则化方法,同时结合 L1 和 L2 范数)。
    • 初始化了一个包含两个子图的图形界面 fig, axes,每个子图对应一个 l1_ratio 值。
    • 对每个 l1_ratio 值,通过 enet_path 方法获取不同 alpha 值下的弹性网回归系数路径,并在子图中绘制出来。
    • 使用 ElasticNetCV 方法自动选择最优的 alpha 值,并在图形标题中展示该值和训练误差。
  4. 结果展示:

    • 在每个子图中,设置合适的 x 和 y 轴标签、标题,并调整坐标轴以确保图形显示完整和清晰。
    • 在第二个子图中,通过 axes[1].text 方法添加了关于最优 alpha 值和训练误差的文本说明。
  5. 保存图像:

    • 最后将绘制好的图形保存为文件 ‘4.png’,设定分辨率为 dpi=500。

综上所述,这段代码的主要目的是使用弹性网回归方法对数据进行分析和可视化,探讨不同的 L1 范数比率下的回归结果,同时自动选择最优的 alpha 值,并保存图像用于结果展示和分享。

#本章需导入的模块
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from pylab import *
import matplotlib.cm as cm
import warnings
warnings.filterwarnings(action = 'ignore')
%matplotlib inline
plt.rcParams['font.sans-serif']=['SimHei']  #解决中文显示乱码问题
plt.rcParams['axes.unicode_minus']=False
from sklearn import svm
import sklearn.linear_model as LM
import scipy.stats as st
from scipy.optimize import root,fsolve
from sklearn.feature_selection import  VarianceThreshold,SelectKBest,f_classif,chi2
from sklearn.feature_selection import RFE,RFECV,SelectFromModel
from sklearn.linear_model import Lasso,LassoCV,lasso_path,Ridge,RidgeCV
from sklearn.linear_model import enet_path,ElasticNetCV,ElasticNetdata=pd.read_table('邮政编码数据.txt',sep=' ',header=None)
tmp=data.loc[(data[0]==1) | (data[0]==3)]
X=tmp.iloc[:,1:-1]
Y=tmp.iloc[:,0]fig,axes=plt.subplots(nrows=1,ncols=2,figsize=(15,5))
ratios=[0.2,0.8]
bestalpha=[]
for i,ratio in enumerate(ratios):alphas_enet, coefs_enet, _ = enet_path(X,Y,l1_ratio=ratio)axes[i].plot(-np.log10(alphas_enet), coefs_enet.T, linestyle='--')model=ElasticNetCV(l1_ratio=ratio)model.fit(X,Y)bestalpha.append(model.alpha_)axes[i].set_xlabel('-Log(alpha)')axes[i].set_ylabel('回归系数')axes[i].set_title('Lasso回归和弹性网回归(L1范数率=%.2f)\n最优alpha=%.4f;训练误差=%.4f'%(ratio,model.alpha_,1-model.score(X,Y)))axes[i].axis('tight')
model=ElasticNet(l1_ratio=0.8,alpha=bestalpha[0])
model.fit(X,Y)
axes[1].text(0,-0.6,"alpha=%.4f时:训练误差=%.4f"%(bestalpha[0],1-model.score(X,Y)),fontdict={'size':'12','color':'b'})
plt.savefig("../4.png", dpi=500) 

运行结果如下图所示: 

 

这段代码的作用是进行特征选择并可视化处理后的特征数据。下面是详细解释:

  1. 随机种子设置和数据抽样:

    • np.random.seed(1):设置随机种子,确保随机结果可复现性。
    • ids = np.random.choice(len(Y), 25):从目标变量 Y 的长度中随机选择 25 个索引,用于后续可视化。
  2. 特征选择和模型拟合:

    • 对于预先设定的两种 l1_ratio 和对应的最优 alpha 值,分别进行如下操作:
      • 创建 ElasticNet 模型 (estimator),使用指定的 l1_ratio 和 alpha 值。
      • 使用 SelectFromModel 进行特征选择,这个方法根据模型训练结果选择重要的特征。
      • selector.fit(X, Y):根据给定的模型对特征 X 和目标变量 Y 进行拟合,以确定保留哪些特征。
  3. 特征选择结果展示:

    • 打印输出保留的特征个数:len(selector.get_support(indices=True)) 表示保留的特征数量。
    • 使用 selector.inverse_transform(selector.transform(X)),将经过选择的特征逆转换回原始特征空间 Xtmp,用于后续图像展示。
  4. 特征数据可视化:

    • 创建一个 8x8 大小的图形界面 (plt.figure(figsize=(8,8))),用于展示选定的特征图像。
    • 对于每个随机选择的索引 item,从 Xtmp 中提取并重塑为 16x16 的图像 (img)。
    • 使用 plt.subplot(5,5,i+1) 在图中安排每个特征图像的位置,并使用灰度色彩映射 (cmap=cm.gray) 显示图像。
  5. 图像展示:

    • 调用 plt.show() 将生成的图像显示在界面上,每个子图显示一个特征图像。

综上所述,这段代码主要用于使用弹性网回归进行特征选择,并通过图像展示选择后的特征数据,从而帮助分析人员理解数据中哪些特征对模型建立有重要贡献。

np.random.seed(1)
ids=np.random.choice(len(Y),25)
for ratio,alpha in [(0.2,bestalpha[0]),(0.8,bestalpha[1])]:estimator = ElasticNet(l1_ratio=ratio,alpha=alpha)selector=SelectFromModel(estimator=estimator)selector.fit(X,Y)#print("阈值(%f,%f):%s"%(ratio,alpha,selector.threshold_))print("保留的特征个数(%f,%f):%d"%(ratio,alpha,len(selector.get_support(indices=True))))Xtmp=selector.inverse_transform(selector.transform(X))plt.figure(figsize=(8,8))for i,item in enumerate(ids):img=np.array(Xtmp[item,]).reshape((16,16))plt.subplot(5,5,i+1)plt.imshow(img,cmap=cm.gray)plt.show()

 运行结果如下图所示: 

 

总结

综上所述,Lasso回归和弹性网回归是两种常用的线性回归方法,通过正则化惩罚的引入,能够在保持模型预测准确性的同时,实现特征选择和模型复杂度控制,适用于处理各种类型的数据集和回归问题。

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

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

相关文章

react使用OpenLayers实现类似船某网在地图放大时展示具体船舶符号缩小时显示聚合小点效果

一、效果 如图所示,地图缩小(即比例尺放大)时,显示聚合小绿点; 地图放大(比例尺缩小)时,展示具体船舶符号: 二、思路 1)设置2个图层,一个展示…

计网重点面试题-TCP三次握手四次挥手

三次握手 第一次握手(syn1) 客户端会随机初始化序号(client_isn),将此序号置于 TCP 首部的「序列号」字段中,同时把 SYN 标志位置为 1,表示 SYN 报文。接着把第一个 SYN 报文发送给服务端,表示向服务端发…

Microsoft Edge 查看已保存账号的密码

1、打开更多菜单选项 打开浏览器右上角的“...”设置及其他,快捷键:ALTF。 2、打开设置选项 选择“设置”,快捷键:g 3、点击密码 在“个人资料”选项中找到密码选项 4、电子钱包 电子钱包会显示“站点和应用”所保存的账户信息…

JAVAEE之网络原理(2)_传输控制协议(TCP)的连接管理机制,三次握手、四次挥手,及常见面试题

前言 在上一节中,我们简单介绍了 TCP 协议的相关概念和格式,而且还介绍了TCP 协议原理中的 确认应答机制、超时重传机制,在本节中我们将会继续介绍 TCP协议原理中的其他机制。 连接管理机制(安全机制) 在正常情况下&…

lvgl的应用:移植MusicPlayer(基于STM32F407)

目录 概述 1 软硬件环境 1.1 UI开发版本 1.2 MCU开发环境 1.3 注意点 2 GUI Guider开发UI 2.1 使用GUI Guider创建UI 2.2 GUI Guider编译项目和测试 2.2.1 GUI Guider编译项目 2.2.2 编译 2.3 了解GUI Guider生成代码 3 移植项目 3.1 Keil中加载代码 3.2 调用G…

漏洞挖掘 | 记一次src挖掘-小程序敏感信息泄露

权当是一次漏洞挖掘的思路分享 闲言 就现在的一个web漏洞挖掘强度还是非常高的,所以我们不妨把我们的眼光投向一个之前可能未曾涉及到的区域———小程序 是的微信小程序,这玩意的防范能力和过滤能力其实对比web方向是要弱小很多的 进入正题 以下就是…

Javase.抽象类和接口

抽象类和接口 【本节目标】1.抽象类1.1抽象类的概念1.2 抽象类语法1.3 抽象类特性1.4 抽象类的作用 2. 接口2.1 接口的概念2.2 语法规则2.3 接口使用2.4 接口特性2.5 实现多个接口2.6 接口间的继承2.7 接口使用实例2.8Clonable 接口和深拷贝2.9 抽象类和接口的区别 3. Object类…

GT_BERT文本分类

目录 GT-BERT结束语代码实现整个项目源码(数据集模型) GT-BERT 在为了使 BERT 模型能够得到广泛的应用,在保证模型分类准确率不降低的情况下,减少模型参数规模并降低时间复杂度,提出一种基于半监督生成对抗网络与 BERT 的文本分类模型 GT-BERT。模型的整…

【ajax基础04】form-serialize插件

目录 一:form-serialize插件 作用: 语法格式: 一:form-serialize插件 作用: 快速且大量的收集表单元素的值 例如上图对于多表单元素的情形,单靠通过”选择器获取节点.value”值的形式,获取…

使用 GCD 实现属性的多读单写

使用 Grand Central Dispatch (GCD) 实现多读单写的属性 首先需要确保在多线程环境下的线程安全性。可以使用 GCD 提供的读写锁机制 dispatch_rwlock_t 或者 dispatch_queue_t 来实现这个功能。 Swift版本的实现 怎样创建一个并发队列 ?// 使用 Swift 来实现的首…

.net 奇葩问题调试经历之1——在红外相机获取温度时异常

📢欢迎点赞 :👍 收藏 ⭐留言 📝 如有错误敬请指正,赐人玫瑰,手留余香!📢本文作者:由webmote 原创📢作者格言:新的征程,我们面对的不仅仅是技术还有人心,人心不可测,海水不可量,唯有技术,才是深沉黑夜中的一座闪烁的灯塔序言 我们在研发中,经常除了造产品…

吉时利Keithley2602B数字源表

吉时利Keithley2602B数字源表 2601B、2602B、2604B 系统 Sourcemeter SMU 仪器 2601B、2602B 和 2604B 系统 Sourcemeter SMU 仪器为 40W DC / 200W 脉冲 SMU,支持 10A 脉冲,3A 至 100fA 和 40V 至 100nV DC。它们将精密电源、实际电流源、6 位数字万用…

使用asyncua模块的call_method方法调用OPC UA的Server端方法报错:asyncio.exceptions.TimeoutError

使用asyncua模块的call_method方法调用OPC UA的Server端方法报错:asyncio.exceptions.TimeoutError 报错信息如下: Traceback (most recent call last): asyncio.run(main()) File “D:\miniconda3\envs\py31013\lib\asyncio\runners.py”, line 44, in…

反激开关电源整流桥选型及计算

整流桥的作用就是把输入交流电压整形成直流电压,把正弦波整成馒头波,由于整流管的单向导电 性,在输入电压瞬时值小于滤波电容上电压时整流桥,在这个时候是不导通的,使整流桥的电流变 成2-3ms左右的窄脉冲。为获得所需…

【数据结构】选择题

在数据结构中,从逻辑上可以把数据结构分为(线性结构和非线性结构) 当输入规模为n时,下列算法渐进复杂性中最低的是() 时间复杂度 某线性表采用顺序存储结构,每个元素占4个存储单元&#xf…

13.3 Go 性能优化

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

【MAVEN学习 | 第1篇】Maven介绍与安装

文章目录 前言 一. Maven主要作用1.1 依赖管理1.2 项目构建 二. Maven安装和配置2.1 安装2.2 配置环境变量2.3 命令测试2.4 配置文件(1)依赖本地缓存位置(本地仓库位置)(2)配置国内阿里镜像(3&a…

WPS相同字体但是部分文字样式不一样解决办法

如下图,在使用wps编辑文档的时候发现有些电脑的文字字体很奇怪,但是把鼠标移到这个文字的位置,发现它和其他正常文字的字体是一样的,都是仿宋_GB2312 正常电脑的文字如下图所示 打开C:\Windows找到Fonts这个文件夹 把仿宋_GB2312这…

【启明智显产品介绍】工业级HMI芯片Model3芯片详解(二)图像显示

Model3芯片是一款集大容量存储、宽温操作范围及多功能接口于一身的MCU,配备了 2D 图像加速引擎和 PNG 解码/JPEG 编解码引擎,可以满足各类交互设计场景和多媒体互动需求,具有高可靠性、高安全性、高开放度的特点,可以面向于泛工业…

Stable Diffusion 3 大模型文生图实践

windows教程2024年最新Stable Diffusion本地化部署详细攻略,手把手教程(建议收藏!!)_stable diffusion 本地部署-CSDN博客 linux本地安装教程 1.前期准备工作 1)创建conda环境 conda create --name stable3 python3.10 2)下…