想研究一段信号对应刀具的磨损量,相当于是对以信号为自变量做回归分析,不知道可行吗
不知道你这个问题是否已经解决, 如果还没有解决的话:拿二元分类为例,如果训练集中阳性样本有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))
根据问题描述,不同的信号集对应的刀具磨损量可能存在相关性。作者希望利用回归分析来研究信号和磨损量之间的关系。以下是一些建议和指导:
确定信号集和磨损量的采集方法和频率:为了进行回归分析,我们需要有足够的数据来建立模型并确定相关性。因此,需要有足够的采样数据用于信号集和刀具磨损量。此外,需要确定采样频率,以确保信号集和刀具磨损量数据的准确性和一致性。
数据预处理和清理:数据的质量会影响建立模型的准确性和可靠性,因此应对数据进行预处理和清理。例如,排除离群值或错误数据,并进行数据标准化。
建立回归模型:根据信号集和刀具磨损量的采集数据,可以建立简单线性回归模型或多元线性回归模型,并通过回归分析来研究它们之间的相关性。因为信号集和刀具磨损量是连续变量,所以可以使用基于最小二乘法或其他统计学方法建立回归模型。
模型评估和优化:建立回归模型后,需要对模型进行评估和优化。可以使用交叉验证和残差分析等技术来评估模型的准确性和可靠性,进而进行模型的优化。
总之,回归分析是一种可行的方法来研究信号集和刀具磨损量之间的相关性。但是,为了保证研究的准确性和可靠性,需要确保数据采集的质量和完整性,并在建立模型前进行数据预处理和清理。此外,还需要评估和优化建立的模型。
关键是看你所谓的信号和磨损量之前是否存在相关性,是否是一个线性的单一的模型。你可以试试看