Как использовать рассол для кластеризации k-средних - PullRequest
0 голосов
/ 26 февраля 2019

Я новичок в машинном обучении, сейчас я изучаю кластеризацию k-средних. Я хочу сделать дамп и загрузить свою обученную модель, используя метод pickle, как это сделать.

Мой код:

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import pickle
from sklearn.cluster import KMeans
from sklearn.externals import joblib

# importing our dataset
dataset = pd.read_csv("Mall_Customers.csv")
X = dataset.iloc[:, [3,4]].values

# Applying k-means to the mall dataset
kmeans = KMeans(n_clusters=5, init='k-means++',random_state=0)
y_kmeans = kmeans.fit_predict(X)

# Visualising the clusters
plt.scatter(X[y_kmeans == 0, 0], X[y_kmeans == 0, 1], s = 100, c = 'red', label = 'Cluster 1')
plt.scatter(X[y_kmeans == 1, 0], X[y_kmeans == 1, 1], s = 100, c = 'blue', label = 'Cluster 2')
plt.scatter(X[y_kmeans == 2, 0], X[y_kmeans == 2, 1], s = 100, c = 'green', label = 'Cluster 3')
plt.scatter(X[y_kmeans == 3, 0], X[y_kmeans == 3, 1], s = 100, c = 'cyan', label = 'Cluster 4')
plt.scatter(X[y_kmeans == 4, 0], X[y_kmeans == 4, 1], s = 100, c = 'magenta', label = 'Cluster 5')
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s = 300, c = 'yellow', label = 'Centroids')
plt.title('Clusters of customers')
plt.xlabel('Annual Income (k$)')
plt.ylabel('Spending Score (1-100)')
plt.legend()
plt.show()

Мои вопросы:

  1. Как сделать дамп и загрузку с использованием маринада?
  2. Как предсказать новоезначения кластера с помощью рассола.что означает, что я хочу передать два целочисленных значения: один => зарплата, два => оценка, в зависимости от этого, мне нужен новый вывод, как эти два, под которым кластер, как tha

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

Использование pickle одинаково для всех моделей машинного обучения, независимо от типа, т. Е. Кластеризации, регрессии и т. Д.

Для сохранения вашей модели в используется дамп , где «wb» означает запись двоичного файла.

pickle.dump(model, open(filename, 'wb')) #Saving the model

Для загрузки сохраненной модели везде, где необходимо load , где «rb» означает чтение двоичного файла.

model = pickle.load(open(filename, 'rb')) #To load saved model from local directory

Здесь модель - kmeans, а имя файла - любое локальноефайл, так что используйте соответственно.

0 голосов
/ 26 февраля 2019

Сохранить:

pickle.dump(kmeans, open("save.pkl", "wb"))

Загрузка:

kmeans = pickle.load(open("save.pkl", "rb"))
...