python 网格聚类_scikit-learn中聚类超参数评价的网格搜索

好吧,这可能是一个老问题,但我使用这种代码:

首先,我们要生成所有可能的参数组合:def make_generator(parameters):

if not parameters:

yield dict()

else:

key_to_iterate = list(parameters.keys())[0]

next_round_parameters = {p : parameters[p]

for p in parameters if p != key_to_iterate}

for val in parameters[key_to_iterate]:

for pars in make_generator(next_round_parameters):

temp_res = pars

temp_res[key_to_iterate] = val

yield temp_res

然后创建一个循环:# add fix parameters - here - it's just a random one

fixed_params = {"max_iter":300 }

param_grid = {"n_clusters": range(2, 11)}

for params in make_generator(param_grid):

params.update(fixed_params)

ca = KMeans( **params )

ca.fit(_data)

labels = ca.labels_

# Estimate your clustering labels and

# make decision to save or discard it!

当然,它可以组合成一个漂亮的函数。所以这个解决方案主要是一个例子。

希望它能帮助别人!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值