zhlllllllllei 2023-06-16 22:23 采纳率: 0%
浏览 9

对信号集做回归分析可行吗

想研究一段信号对应刀具的磨损量,相当于是对以信号为自变量做回归分析,不知道可行吗

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-06-18 01:57
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:
    • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/244684
    • 这篇博客也不错, 你可以看下【压缩感知合集4】理想采样信号和随机采样信号两种采样信号的频谱分析,以及采样效果比较
    • 除此之外, 这篇博客: 信用卡反欺诈模型中的 过采样和欠采样是处理非平衡分类问题时的常用手段 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

      拿二元分类为例,如果训练集中阳性样本有1000个,阴性样本有10万个,两者比例为1:100严重失衡。为了一些模型的性能考虑,我们需要进行一些处理使得两者的比例尽可能接近。

      过采样:对少的一类进行重复选择,比如我们对1000个阳性样本进行有放回的抽样,抽5万次(当然其中有很多重复的样本),现在两类的比例就变成了1:2,比较平衡。

      欠采样:对多的一类进行少量随机选择,比如我们对10万个阴性样本进行随机选择,抽中2000个(当然原样本中很多样本未被选中),现在两类的比例就变成了1:2,比较平衡。

      from sklearn.model_selection import train_test_split
      from sklearn.model_selection import StratifiedShuffleSplit
      
      X = df.drop('Class', axis=1)
      y = df['Class']
      
      sss = StratifiedKFold(n_splits=5, random_state=None, shuffle=False)
      
      for train_index, test_index in sss.split(X, y):
          print("Train:", train_index, "Test:", test_index)
          original_Xtrain, original_Xtest = X.iloc[train_index], X.iloc[test_index]
          original_ytrain, original_ytest = y.iloc[train_index], y.iloc[test_index]
      
      # We already have X_train and y_train for undersample data thats why I am using original to distinguish and to not overwrite these variables.
      # original_Xtrain, original_Xtest, original_ytrain, original_ytest = train_test_split(X, y, test_size=0.2, random_state=42)
      
      # Check the Distribution of the labels
      
      
      # Turn into an array
      original_Xtrain = original_Xtrain.values
      original_Xtest = original_Xtest.values
      original_ytrain = original_ytrain.values
      original_ytest = original_ytest.values
      
      # See if both the train and test label distribution are similarly distributed
      train_unique_label, train_counts_label = np.unique(original_ytrain, return_counts=True)
      test_unique_label, test_counts_label = np.unique(original_ytest, return_counts=True)
      print('-' * 100)
      
      print('Label Distributions: \n')
      print(train_counts_label/ len(original_ytrain))
      print(test_counts_label/ len(original_ytest))
      

      在这里插入图片描述

    • 您还可以看一下 田德华老师的小程序·云开发实战 微信朋友圈所有功能课程中的 发布动态 ~ 获取输入的文本内容小节, 巩固相关知识点
    • 以下回答来自chatgpt:

      根据问题描述,不同的信号集对应的刀具磨损量可能存在相关性。作者希望利用回归分析来研究信号和磨损量之间的关系。以下是一些建议和指导:

      1. 确定信号集和磨损量的采集方法和频率:为了进行回归分析,我们需要有足够的数据来建立模型并确定相关性。因此,需要有足够的采样数据用于信号集和刀具磨损量。此外,需要确定采样频率,以确保信号集和刀具磨损量数据的准确性和一致性。

      2. 数据预处理和清理:数据的质量会影响建立模型的准确性和可靠性,因此应对数据进行预处理和清理。例如,排除离群值或错误数据,并进行数据标准化。

      3. 建立回归模型:根据信号集和刀具磨损量的采集数据,可以建立简单线性回归模型或多元线性回归模型,并通过回归分析来研究它们之间的相关性。因为信号集和刀具磨损量是连续变量,所以可以使用基于最小二乘法或其他统计学方法建立回归模型。

      4. 模型评估和优化:建立回归模型后,需要对模型进行评估和优化。可以使用交叉验证和残差分析等技术来评估模型的准确性和可靠性,进而进行模型的优化。

      总之,回归分析是一种可行的方法来研究信号集和刀具磨损量之间的相关性。但是,为了保证研究的准确性和可靠性,需要确保数据采集的质量和完整性,并在建立模型前进行数据预处理和清理。此外,还需要评估和优化建立的模型。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 6月16日