Алгоритм CARS
CARS (competitive adapative reweighted sampling) — это метод выбора переменных признаков, который объединяет метод Монте-Карло и модель PLS регрессии. Он имитирует принцип «выживает сильнейший» из теории Дарвина (Li et al., 2009). В алгоритме CARS каждый раз с помощью адаптивного перевзвешивания выборки (ARS) сохраняются точки с более высокими абсолютными значениями коэффициентов регрессии модели PLS в качестве нового подмножества. Точки с меньшими весами исключаются, а затем на основе нового подмножества строится модель PLS. После многократных вычислений выбирается подмножество с наименьшей среднеквадратичной ошибкой перекрестной проверки (RMSECV) в качестве набора характеристических длин волн.
Конкретный процесс алгоритма CARS:
Быстрое использование
Предупреждение: если у вас слабые навыки программирования и недостаточное понимание Python, не рекомендуется использовать код этого проекта. Код проекта не был тщательно протестирован и не может гарантировать универсальность. Если вы внесли структурные изменения в проект, обязательно сообщите мне об этом для синхронизации изменений.
Чтение данных:
# Импорт pandas для чтения данных
import pandas as pd
import numpy as np
# Чтение данных
data = pd.read_csv("./data/peach_spectra_brix.csv")
# m * n
print("Форма матрицы данных data.shape:", data.shape)
# 50 образцов, 600 длин волн, первый столбец — значения степени зрелости персика, необходимо отделить
X = data.values[:, 1:]
# Эквивалентная операция
# X = data.drop(['Brix'], axis=1)
y = data.values[:, 0]
# Эквивалентная операция
# y = data.loc[:,'Brix'].values
print(f"X.shape:{X.shape}, y.shape:{y.shape}")
import CARS
lis = CARS.CARS_Cloud(X, y)
print("Количество длин волн:", len(lis))
print(lis)
X_ = X[:, lis]
Примечание: CARS имеет случайный характер, рекомендуется запустить пять раз, чтобы выбрать наилучшее значение RMSEC и количество длин волн.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )