Фреймы данных, csv и CNTK

Я играл с CNTK и обнаружил, что модели можно обучать только с использованием массивов numpy. Это верно?

Это имеет смысл для распознавания изображений и т. Д.

Как мне превратить мой аккуратный набор данных (читаемый как фрейм данных с использованием pandas) в формат, который может обучать логистической регрессии? Я попытался прочитать его в массиве numpy

 np.genfromtxt(“My.csv",delimiter=',' , dtype=float)

и я также попытался обернуть переменную с помощью

np.array.MyVeriable.astype('float32')

Но я не получаю того результата, который хочу, чтобы можно было кормить модель.

Я также не могу найти в учебнике ничего о том, как выполнять машинное обучение на табличных фреймах данных в CNTK.

Это не поддерживается?


person Levi Brackman    schedule 28.02.2017    source источник


Ответы (2)


CNTK 104 показывает, как использовать pandas dataframes и numpy.

https://github.com/Microsoft/CNTK/blob/master/Tutorials/CNTK_104_Finance_Timeseries_Basic_with_Pandas_Numpy.ipynb

CNTK 106B показывает, как можно читать данные с помощью файлов csv.

https://github.com/Microsoft/CNTK/blob/master/Tutorials/CNTK_106B_LSTM_Timeseries_with_IOT_Data.ipynb

person Sayan Pathak    schedule 28.02.2017
comment
Если вы действительно посмотрите туда, CNTK 106B использует df = pd.read_csv. Итак, на самом деле ваши ответы: 1. используйте панды. 2. использовать панд. - person Geoffrey Anderson; 24.09.2018

Спасибо за эти ссылки. Вот как я закончил читать в csv, похоже, это сработало, но Саян, пожалуйста, исправьте по мере необходимости:

def generate_data_from_csv():

# try to find the data file local. If it doesn't report "file does not exists" if it does report "using loacl file"
data_path = os.path.join("MyPath")
csv_file = os.path.join(data_path, "My.csv")
if not os.path.exists(data_path):
    os.makedirs(data_path)
if not os.path.exists(data_file):
    print("file does not exists")
else:
    print("using loacl file")

df = pd.read_csv(csy_file, usecols = ["predictor1", "predictor2",
"predictor3", "predictor4", "dependent_variable"], dtype=np.float32)

return df

Затем я сохранил этот фрейм данных как training_data

training_data = generate_data_from_csv()

Затем я превратил этот фрейм данных в массив numpy следующим образом

training_features = np.asarray(training_data[[["predictor1",    
"predictor2", "predictor3", "predictor4",]], dtype = "float32")
training_labels = np.asarray(training_data[["dependent_variable"]],
dtype="float32")

Для обучения модели я использовал этот код:

features, labels = training_features[:,[0,1,2,3]], training_labels
person Levi Brackman    schedule 01.03.2017