/
AlexEly
/
Course_proj_ead
Обзор
Документация
Войти
/
AlexEly
/
Course_proj_ead
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
chap1-7.py
52 строки
2 KB
AlexEly
create: chap1-11.py, chap1-10.py, chap1-9.py, chap1-8.py, chap1-7.py, chap1-6.py, chap1-5.py, chap1-4.py, chap1-3.py, chap1-2.py, chap1-1.py, chap1-0.py
19 апр 2026, 14:12
Верифицирован
19 апр 2026, 14:12
feb66de
Код
Авторство
О чём код?
import pandas as pd import numpy as np # 1. Загрузка реального датасета df = pd.read_csv('feature_time_48k_2048_load_1_noisy.csv') print("="*70) print("ПРЕОБРАЗОВАНИЕ ЧИСЛОВЫХ ПРИЗНАКОВ В КАТЕГОРИАЛЬНЫЕ") print("="*70) # 2. Анализ на наличие редких/экстремальных значений features_to_check = ['kurtosis', 'crest', 'rms', 'sd'] print("\nДоля значений в экстремальных зонах (<1% и >99% перцентилей):") for feat in features_to_check: q1, q99 = df[feat].quantile([0.01, 0.99]) rare_pct = ((df[feat] < q1).sum() + (df[feat] > q99).sum()) / len(df) * 100 print(f" • {feat:10} : {rare_pct:5.2f}%") df_cat = df.copy() # 3. Категоризация (Биннинг) # kurtosis: пороги на основе физической интерпретации эксцесса df_cat['kurtosis_cat'] = pd.cut( df_cat['kurtosis'], bins=[-np.inf, 2.0, 4.0, 6.0, np.inf], labels=['low', 'medium', 'high', 'critical'] ) # crest: уровни пик-фактора для диагностики подшипников df_cat['crest_cat'] = pd.cut( df_cat['crest'], bins=[-np.inf, 3.0, 4.5, 6.0, np.inf], labels=['normal', 'warning', 'failure', 'critical'] ) # rms: квантильный биннинг (равномерное разбиение по количеству записей) df_cat['rms_cat'] = pd.qcut( df_cat['rms'], q=4, labels=['low_energy', 'medium_energy', 'high_energy', 'very_high'], duplicates='drop' ) # 4. Вывод результатов print("\nРаспределение новых категориальных признаков:") for col in ['kurtosis_cat', 'crest_cat', 'rms_cat']: print(f"\n--- {col} ---") print(df_cat[col].value_counts().sort_index().to_string()) # 5. Сохранение результата output_path = 'feature_time_48k_2048_load_1_noisy_categorical.csv' df_cat.to_csv(output_path, index=False) print(f"\nДатасет с категориальными признаками сохранён: {output_path}")