k-Means聚类中n_jobs参数报错的解决方法咨询
解决KMeans聚类中
n_jobs参数报错问题 问题根源
你使用的scikit-learn版本较新,sklearn.cluster.KMeans类已移除了n_jobs参数,代码中传入该参数会触发“unexpected keyword argument”错误。该参数在旧版sklearn中用于控制并行计算的线程数,但新版已通过OpenMP实现自动并行,无需手动指定。
解决方案
- 直接移除
n_jobs参数:删除代码中n_jobs=xxx的部分,新版KMeans会自动利用多核资源完成计算。示例:
原代码:
修改后:from sklearn.cluster import KMeans kmeans = KMeans(n_clusters=3, n_jobs=-1)from sklearn.cluster import KMeans kmeans = KMeans(n_clusters=3) - 若需兼容旧逻辑(不推荐):如果必须使用
n_jobs参数,可以降级scikit-learn到0.23.x版本:pip install scikit-learn==0.23.2 - 新版参数替代:如果需要控制初始化相关的并行行为,可使用
n_init参数(默认值为10),它控制k-means++算法的初始化次数,间接影响计算效率。
内容的提问来源于stack exchange,提问作者amna shahbaz
相关产品推荐
相关产品推荐

