Ошибка ключа в скрипте python, запущенном на экземпляре ec2 aws - PullRequest
0 голосов
/ 03 января 2019

Я пытаюсь проанализировать относительно большой файл .csv (почти 1.000.000 строк), используя python и pandas. Более конкретно, я хочу реализовать метод локтя, чтобы найти подходящее значение 'k' для алгоритма K-средних. Мой сценарий следующий

import pandas as pd
from sklearn.preprocessing import MinMaxScaler
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt


data = pd.read_csv('withcountries.csv', sep=',')
data.head()
categorical_features = ['vendor_name', 'ship_from', 'market_name', 'name' ]
continuous_features = ['price']

for col in categorical_features:
    dummies = pd.get_dummies(data[col], prefix=col)
    data = pd.concat([data, dummies], axis=1)
    data.drop(col, axis=1, inplace=True)

mms = MinMaxScaler()
mms.fit(data)
data_transformed = mms.transform(data)

Sum_of_squared_distances = []
K = range(1,15)
for k in K:
    km = KMeans(n_clusters=k)
    km = km.fit(data_transformed)
    Sum_of_squared_distances.append(km.inertia_)

plt.plot(K, Sum_of_squared_distances, 'bx-')
plt.xlabel('k')
plt.ylabel('Sum_of_squared_distances')
plt.title('Elbow Method For Optimal k')
plt.show()

Скрипт запущен (проверено на nrows=10000). Моя проблема в том, что когда я локально анализирую весь файл, я получаю Memory Error. В связи с этим я решил запустить его на EC2-инстансе в AWS. Я установил Python3, но при запуске точно такого же скрипта я получаю такую ​​ошибку KeyError: 'market_name'. ПРИМЕЧАНИЕ: если я запускаю скрипт локально, все работает отлично - только в EC2 я получаю эту ошибку. У кого-нибудь есть идея, почему это может происходить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...