Используйте Kmodes в Python с большим CSV-файлом - PullRequest
1 голос
/ 15 мая 2019

Я хотел бы помочь с проблемой, которая у меня есть.У меня есть большой CSV-файл (6239292, 5), и я хочу выполнить технику машинного обучения без присмотра (kmodes).Мой код такой:

import numpy as np
import pandas as pd
print("initialising")


syms = np.genfromtxt('foo.csv', delimiter = ';', dtype=str, skip_header=1, invalid_raise=False)[:, 0:]

print(syms.shape)

X = np.genfromtxt('foo.csv',dtype=object, delimiter=';', invalid_raise=False, skip_header=1)[:, 1:]

X[1:, 0] = X[1:, 0].astype(float) 

from kmodes.kprototypes import KPrototypes

print("Imported successfully")
kproto = KPrototypes(n_clusters=6, init='random', n_init=2, verbose=2)
clusters = kproto.fit_predict(X, categorical=[2,1,3,])

Из-за размера файла, это займет вечность.Есть ли какая-то техника, которую я мог бы использовать, чтобы сократить время?Заранее спасибо!

1 Ответ

0 голосов
/ 15 мая 2019

Вы можете выбрать первые n строк, например:

read_csv(..., nrows=999999)

или пропустить несколько строк, а затем выбрать следующие n строк:

read_csv(..., skiprows=1000000, nrows=999999)

Не должно быть проблем сВаши результаты из-за Центральной предельной теоремы

Центральная предельная теорема (CLT) - это статистическая теория состояний, которая дает достаточно большой размер выборки из совокупности с конечным уровнемдисперсия, среднее значение для всех выборок из одной популяции будет приблизительно равно среднему для популяции.

...