Я следовал этому коду в Github https://github.com/PacktPublishing/Hands-on-Machine-Learning-for-Cyber-Security/blob/master/Chapter06/kmeans.py.
Хотя здесь используется блокнот Юпитера, мне пришлось использовать Pycharm. Пока я просматривал код, я не мог понять этот блок кода
input_path_of_file = "/datasets/kddcup.data"
data_raw = sc.textFile(input_path_of_file, 12)
def parseVector(line):
columns = line.split(',')
thelabel = columns[-1]
featurevector = columns[:-1]
featurevector = [element for i, element in enumerate(featurevector) if i not in [1, 2, 3]]
featurevector = np.array(featurevector, dtype=np.float)
return (thelabel, featurevector)
labelsAndData = raw_data.map(parseVector).cache()
thedata = labelsAndData.map(lambda row: row[1]).cache()
n = thedata.count()
из того, что я могу понять, что после извлечения данных чашки KDD из файла, который сначала выглядит как
0, tcp, http, SF, 215,45076,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, 0,1,1,0,00,0,00,0,00,0,00,1,00,0,00,0,00,0,0,0,00,0,00,0,00,0,00,0,00,0,00,0,00,0,00, в норме.
и затем переходит к parseVector (), чтобы «очистить» данные (если мои предположения верны)
Однако, что меня действительно смущает, так это то, как данные выглядят в def parseVector ().
Пожалуйста, научите этого беспомощного идиота понять, что делает этот фрагмент кода и как должен выглядеть вывод. Большое спасибо!