Lab3 AI
Lab3 AI
K-means cluster
In [5]: import pandas as pd
from sklearn.cluster import KMeans
from sklearn.metrics import pairwise_distances
from scipy.cluster.hierarchy import linkage, dendrogram, cut_tree
from scipy.spatial.distance import pdist
from sklearn.feature_extraction.text import TfidfVectorizer
import matplotlib.pyplot as plt
%matplotlib inline
df = pd.read_csv("C:\\Users\\HP\\Desktop\\Pokemon.csv", index_col=1)
df.drop('Unnamed: 0', axis=1, inplace=True)
df.head()
# Prediction
pokemon['label'] = km.predict(pokemon)
pokemon.head()
# Visualisation
plt.scatter(pokemon['Attack'], pokemon['Defense'], c=pokemon['label'])
plt.show()
plt.scatter(pokemon['HP'], pokemon['Speed'], c=pokemon['label'])
plt.show()
Hierarchical Clustering
In [11]: import pandas as pd
from sklearn.cluster import KMeans
from sklearn.metrics import pairwise_distances
df = pd.read_csv("C:\\Users\\HP\\Desktop\\Pokemon.csv", index_col=1)
df.drop('Unnamed: 0', axis=1, inplace=True)
df.head()
# Model Training
dist = pdist(pokemon, 'euclidean')
linkage_matrix = linkage(dist, method = 'complete') ## ward
Out[11]: Total HP Attack Defense Sp. Atk Sp. Def Speed Stage label_HC
Name
Bulbasaur 318 45 49 49 65 65 45 1 0
Ivysaur 405 60 62 63 80 80 60 2 1
Charmander 309 39 52 43 60 50 65 1 0
Charmeleon 405 58 64 58 80 65 80 2 1
Home Tasks
K-means using 3 clusters
In [9]: import pandas as pd
from sklearn.cluster import KMeans
from sklearn.metrics import pairwise_distances
from scipy.cluster.hierarchy import linkage, dendrogram, cut_tree
from scipy.spatial.distance import pdist
from sklearn.feature_extraction.text import TfidfVectorizer
import matplotlib.pyplot as plt
%matplotlib inline
df = pd.read_csv("C:\\Users\\HP\\Desktop\\Pokemon.csv", index_col=1)
df.drop('Unnamed: 0', axis=1, inplace=True)
df.head()
# Prediction
pokemon['label'] = km.predict(pokemon)
pokemon.head()
# Visualisation
plt.scatter(pokemon['Attack'], pokemon['Defense'], c=pokemon['label'])
plt.show()
df = pd.read_csv("C:\\Users\\HP\\Desktop\\Pokemon.csv", index_col=1)
df.drop('Unnamed: 0', axis=1, inplace=True)
df.head()
# Model Training
dist = pdist(pokemon, 'euclidean')
linkage_matrix = linkage(dist, method = 'complete') ## ward
# Visualisation
plt.scatter(pokemon['Attack'], pokemon['Defense'], c=pokemon['label_HC'])
plt.show()