Bearing Classification using vibrational data.

4 ビュー (過去 30 日間)
Mithilesh Seesunkur
Mithilesh Seesunkur 2023 年 9 月 15 日
回答済み: Shivansh 2023 年 9 月 26 日
I already have a struct type called Bearing_struct. Inside this struct there are 20 bearings. In each of them, there are 2 fields: VibrationData and Condition. Vibration data contains 80 samples of 1x256000 arrays of values each. Condition is either "healthy", "inner_damage" or "outer_damage".
From the vibrational data I used the following codes to extract features time domain features and frequency domain features:
%time domain features
meanValue = mean(data);
stdDeviation = std(data);
rmsValue = rms(data);
kurtosisValue = kurtosis(data);
skewnessValue = skewness(data);
%frequency domain features
fft_data=fft(data);
f = (0:length(data)-1) .* data / length(data);
magnitude_spectrum = abs(fft_data);
peak_frequency = f(find(magnitude_spectrum == max(magnitude_spectrum), 1)); % Peak frequency
total_energy = sum(magnitude_spectrum.^2); % Total energy
spectral_entropy = -sum((magnitude_spectrum / total_energy) .* log2(magnitude_spectrum / total_energy)); % Spectral entropy
spectral_centroid = sum(f .* magnitude_spectrum) / sum(magnitude_spectrum); % Spectral centroid
I also created a Labels array while accessing each bearing. Then created a table out of the features and Labels. I am getting only max 30% accuracy validation when running the classification learner app.
Before creating the table, i shuffled the rows and normalized the features too.

回答 (1 件)

Shivansh
Shivansh 2023 年 9 月 26 日
Hi Mithilesh,
I understand that you have already done some preprocessing and feature extraction on your data, and you are using the Classification Learner app for classification. However, you are experiencing low accuracy on your validation results.
There can be a few possibilities for the above results. You have mentioned that you have normalized the features and shuffled to prevent any overfitting. The following steps can be used to find the reason and mitigate the issue:
  1. Collection of more data: If possible, try to collect more data for each bearing condition to increase the size of your training set. More data will be useful in generalisation and as a result to improve the performance of classification learning models.
  2. Feature Extraction Techniques: While the time and frequency domain feature you have extracted are a good starting point, there might be more informative features that can be derived from your vibration data. You could explore techniques such as wavelet transforms or statistical moments to extract additional features.
  3. Experimenting with different classification algorithms: The Classification Learner app provides various classification algorithms to choose from. If you are not getting satisfactory results with the current algorithm, you can try different ones, such as decision trees, support vector machines (SVM), or random forests. Each algorithm has its strengths and weaknesses, so experimenting with different algorithms might lead to better results. You can learn more about the classification learner app here https://in.mathworks.com/help/stats/classification-learner-app.html.
  4. Perform hyperparameter tuning: Many classification algorithms have hyperparameters that can significantly impact their performance. Utilize techniques like cross-validation and grid search to optimize the hyperparameters of your chosen algorithm.
  5. Check for data quality issues: Ensure the quality of your data by checking for missing values, outliers, or noise. Preprocessing steps such as data cleaning, outlier removal, or noise reduction techniques can help improve the accuracy of your classifier.
  6. Consider using an ensemble of classifiers: Ensemble methods, such as bagging or boosting, combine the predictions of multiple classifiers to make a final decision. This can often improve the overall accuracy and robustness of the classifier.
By implementing these suggestions and experimenting with different approaches, you should be able to improve the accuracy of your classification model.
Hope it helps!

カテゴリ

Help Center および File ExchangePredictive Maintenance Toolbox についてさらに検索

製品


リリース

R2023a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by