У меня есть следующее NameError
, и я не уверен почему. Я только изменил путь к входному файлу и имена столбцов из учебника, который работал для меня.
import json
import pandas as pd
import numpy as np
from sklearn.cluster import KMeans
from sklearn.preprocessing import LabelEncoder
from sklearn.preprocessing import MinMaxScaler
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline
file = 'cuisine_ingredients.json'
with open(file) as train_file:
json = json.load(train_file)
train = pd.concat(map(pd.DataFrame,json))
train.reset_index(level=0, inplace=True)
unique_cuisines = train['cuisine'].nunique()
labelEncoder_cuisine = LabelEncoder()
labelEncoder_cuisine.fit(train['cuisine'])
train['cuisine'] = labelEncoder_cuisine.transform(train['cuisine'])
labelEncoder_ingredients = LabelEncoder()
labelEncoder_ingredients.fit(train['ingredients'])
train['ingredients'] =
labelEncoder_ingredients.transform(train['ingredients'])
X = np.array(train.drop(['id'], 1).astype(float))
scaler = MinMaxScaler()
X_scaled = scaler.fit_transform(X)
kmeans.fit(X_scaled)
KMeans(algorithm='auto', copy_x=True, init='k-means++', max_iter=600,
n_clusters=unique_cuisines, n_init=10, n_jobs=1, precompute_distances='auto',
random_state=None, tol=0.0001, verbose=0)
Я продолжаю получать NameError: name 'kmeans' is not defined
за kmeans.fit(X_scaled)
.
Ура :)