先决条件信息:
raw_df 是一个 pandas 数据帧,它有 16 列('eeg_channel_1'、'eeg_channel_2'、...'eeg_channel_16')和 1140 行(索引从 125 到 1264),代表 1140 个 EEG 数据样本(采样率:125 Hz)。
我从 pycaret 网站引用了此页面上的示例来编写此代码https://pycaret.readthedocs.io/en/latest/api/clustering.html
环境:
python(3.9.1)
pycaret(2.2.3)
scikit-learn(0.24.2)
scikit-plot(0.3.7)
我正在运行的代码:
from pycaret.clustering import *
pca_data = setup(data=raw_df) # simplified setup function
# pca_data = setup(data=raw_df, pca=True, pca_method='linear', pca_components=2) # real setup function
我的目标:我正在尝试对包含来自 16 通道 EEG 记录的时间序列数据的数据帧执行主成分分析(该组中只有 2 个通道记录正常数据)。我想绘制数据的前两个主成分,以便我可以查看其中一个成分是否与 10 Hz 正弦波(即阿尔法波检测)具有高相关性。我知道更多通道对于提取更多主成分很重要,但我只想获得一个有效的 PCA 概念证明然后进行迭代。
问题:当我运行上述代码(简化版和真实版)时,我收到一条错误消息:
"ValueError: Setting a random_state has no effect since shuffle is False. You should leave random_state to its default (None), or set shuffle=True."
我没有在代码中的任何地方使用 random_state 参数,我也尝试将 1. shuffle=True
、 2.random_state=None
和 3.添加session_id=None
到setup()
参数中,但是当我这样做时,我分别收到以下错误消息:
- `setup() 得到了一个意外的关键字参数'shuffle'`
- setup() 得到了一个意外的关键字参数“random_state”`
- `设置 random_state > 没有效果,因为 shuffle 为 False。您应该将 random_state 保留为其默认值(无),或设置 >shuffle=True。
如果有人可以帮助我了解如何正确运行设置功能以在我的 EEG 数据中绘制特征集群,那将非常有帮助。如果有更好/更简单的方法来提取和绘制此数据中的主成分,那将同样有帮助。