Фактически я делаю то, что я хочу написать свою собственную функцию кластеризации k-средних. Но, чтобы дать исходные данные, я не знаю, как это сделать в Matlab. Я имею в виду, что один вход функции - это количество центров кластера, k, а затем нам нужно ввести k начальных значений, которые функция будет использовать на первой итерации. Но k может измениться, и количество начальных значений изменится. Итак, как я могу это сделать, используя Matlab. Я хочу, чтобы ввод был целым числом k и k начальными значениями. С разным k меняется разное количество исходных входов, так что я могу сделать?число входных значений меняется
Спасибо заранее!
используйте команду 'input', чтобы пользователь вводил значение' k', а начальные значения 'k' можно выбрать случайным образом. Таким образом, вы можете просто выбрать «k» случайные точки данных как: 'yourData (randi (размер (данные, 1), [k 1]), :)'. Это предполагает, что вы храните 1 образец данных в строке, а ваши функции идут через столбцы. –
@ ParagS.Chandakkar, я не хочу использовать случайные начальные значения, но я хочу определить некоторые начальные значения. Что мне делать? –
Затем заставьте пользователя вводить эти значения, используя 'input' в цикле for. Вы уверены, что хотите это сделать, даже если данные являются 10 образцами, 10 функциями и 3 кластерами, пользователь должен ввести 3 вектора, каждая из которых равна 10, что слишком много. –