20
правок
Изменения
Ядро
,Нет описания правки
Строковые ядра <ref>[https://ru.wikipedia.org/wiki/%D0%A1%D1%82%D1%80%D0%BE%D0%BA%D0%BE%D0%B2%D0%BE%D0%B5_%D1%8F%D0%B4%D1%80%D0%BE#%D0%9E%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5 - Строковое ядро]</ref> это различные ядерные функции для вычисления расстояний между двумя строками.
== Использование ядер в коде ==
В библиотеке языка Python {{---}} sklearn.clustering<ref>https://scikit-learn.org/stable/modules/classes.html#module-sklearn.cluster - sklearn.cluster</ref>, есть функции и классы которые используют ядра для кластеризации.
* Подключаем библиотеки:
'''import''' numpy '''as''' np
'''from''' sklearn.datasets '''import''' make_blobs
'''from''' sklearn.cluster '''import''' mean_shiftU
* Генерируем данные:
centers = [['''1''', '''1'''], ['''-1''', '''-1'''], ['''1''', '''-1''']]
X, _ = make_blobs(n_samples='''10000''', centers=centers, cluster_std='''0.6''')
* Посчтитаем кластеризацию с помощью MeanShift<ref>https://scikit-learn.org/stable/modules/generated/sklearn.cluster.MeanShift.html#sklearn.cluster.MeanShift - Meanshift documentaion</ref>, находим разделяющуу полосу, добавляя в качестве первого парамента значение для пропускной способности ядра:
bandwidth = estimate_bandwidth(X, quantile='''0.2''', n_samples='''500''')
ms = MeanShift(bandwidth=bandwidth, bin_seeding='''True''')
ms.fit(X)
labels = ms.labels_
cluster_centers = ms.cluster_centers_
labels_unique = np.unique(labels)
n_clusters_ = '''len'''(labels_unique)
print("number of estimated clusters : %d" % n_clusters_)
== См. также ==