我有一个Panda Dataframe df输入到Py有没有库。所以df有:
3 categoricals variables:
LIB_SOURCE : values: 'arome_001', 'gfs_025' and 'arpege_01'
MonthNumber : values from 1 to 12
origine : 'Sencrop' and 'Visiogreen' values
3 continuous variables :
TEMPERATURE_PREDITE DIFF_HOURS TEMPERATURE_OBSERVEE我让Pycaret将分类特性编码为0/1,并管理多重共线性:
regression = setup(data = dataset_predictions_meteo,
target = 'TEMPERATURE_PREDITE',
categorical_features = ['MonthNumber' , 'origine' , 'LIB_SOURCE'],
numeric_features = ['DIFF_HOURS' , 'TEMPERATURE_OBSERVEE'],
session_id=123,
train_size=0.8,
normalize=True,
#transform_target=True,
remove_perfect_collinearity = True
)


但是正如您在上面的屏幕中所看到的,Pycaret并不能很好地管理多重共线性: PyCaret应该自己删除3列中的1列'arome_001‘、'gfs_025’和'arpege_01‘(get_config('X'))。但是PyCaret保留了所有3列。
为什么PyCaret不删除3列中的一列?谢谢。
发布于 2022-11-21 20:53:14
我想,冒号是为浮点数和整数计算的。它们确实是绝对的。
发布于 2022-12-02 11:08:10
多重共线性意味着两个或多个特征是相关的,这意味着它们的相关系数接近于+1.0或-1.0。如果两个特征是相关的,那么它们一起变化:如果一个变化,另一个也改变(它们相互影响)。这种情况对模型性能有负面影响。PyCaret内部管理多重共线性以实现性能良好的模型.
在多重共线性情况下,采用偏最小二乘回归( PLS )和主成分分析( PCA )去除特征之间的相关性。请回归可以将这些特征简化为一组较小的特征集(通过消除其中的一些特征),这些特征之间没有相关性。另一方面,PCA生成不相关的新特征(它用不相关的新特征代替旧的特征)。
我不太清楚为什么您认为在3列'arome_001‘、'gfs_025’和'arpege_01‘中有1列应该删除,我猜PyCaret的工作原理与预期一样。
https://stackoverflow.com/questions/71486174
复制相似问题