Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: utf-8 -*-
- """ML_P6.ipynb
- Automatically generated by Colaboratory.
- Original file is located at
- https://colab.research.google.com/drive/1jcUxUUvU0j7DFv3weJK1HZxEMyspw3pn
- """
- import numpy as np
- import pandas as pd
- import os
- import seaborn as sns
- import matplotlib.pyplot as plt
- from sklearn.cluster import KMeans
- df = pd.read_csv("./sales_data_sample.csv",encoding='latin')
- df.head()
- df.describe()
- df.shape
- df = df[['QUANTITYORDERED', 'ORDERLINENUMBER']]
- df = df.dropna(axis = 0)
- wcss = []
- for i in range(1, 11):
- clustering = KMeans(n_clusters=i, init='k-means++',n_init=10, random_state=42)
- clustering.fit(df)
- wcss.append(clustering.inertia_)
- ks = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
- sns.lineplot(x = ks, y = wcss);
- fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(15,5))
- sns.scatterplot(ax=axes[0], data=df, x='QUANTITYORDERED', y='ORDERLINENUMBER').set_title('Without clustering')
- sns.scatterplot(ax=axes[1], data=df, x='QUANTITYORDERED', y='ORDERLINENUMBER', hue=clustering.labels_).set_title('Using the elbow method');
- df.describe().T
- from sklearn.preprocessing import StandardScaler
- ss = StandardScaler()
- scaled = ss.fit_transform(df)
- wcss_sc = []
- for i in range(1, 11):
- clustering_sc = KMeans(n_clusters=i, init='k-means++',n_init=10, random_state=42)
- clustering_sc.fit(scaled)
- wcss_sc.append(clustering_sc.inertia_)
- ks = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
- sns.lineplot(x = ks, y = wcss_sc);
- fig, axes = plt.subplots(nrows=1, ncols=3, figsize=(15,5))
- sns.scatterplot(ax=axes[0], data=df, x='QUANTITYORDERED', y='ORDERLINENUMBER').set_title('Without cliustering')
- sns.scatterplot(ax=axes[1], data=df, x='QUANTITYORDERED', y='ORDERLINENUMBER', hue=clustering.labels_).set_title('With the Elbow method')
- sns.scatterplot(ax=axes[2], data=df, x='QUANTITYORDERED', y='ORDERLINENUMBER', hue=clustering_sc.labels_).set_title('With the Elbow method and scaled data');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement