K-means Python
Publicado por Josafat (18 intervenciones) el 29/04/2019 19:34:24
Hola, estoy intentado hacer un programa en python que realice clustering, he encontrado información pero toda la información que he encontrado maneja archivos de dataset .csv con dos columnas y necesito trabajar con un dataset que tiene más de 2 columnas y no sé como hacerlo, abajo pongo el código que estoy utilizando con el dataset de 2 columnas y el dataset con el que quiero trabajar.
Ojalá que alguien pueda ayudarme.
Los archivos adjuntos son moviescs.csv que es el dataset con el que está funcionando el programa, y con el cual quiero trabajar es Andbrain_DataSet
Ojalá que alguien pueda ayudarme.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
datos=pd.read_csv('moviescs.csv')
df=pd.DataFrame(datos)
x=df['cast_total_facebook_likes'].values
y=df['imdb_score'].values
print(datos.shape)
datos.head()
print("Valor maximo likes: ",df['cast_total_facebook_likes'].max())
print("Valor minimo likes: ",df['cast_total_facebook_likes'].min())
print("Valor promedio likes: ",df['cast_total_facebook_likes'].mean())
info=df[['cast_total_facebook_likes','imdb_score']].as_matrix()
print(info)
kmeans= KMeans(n_clusters=3)
kmeans=kmeans.fit(X)
labels=kmeans.predict(X)
centroids=kmeans.cluster_centers_
colors=["b.","r.","c.","y.","m."]
for i in range(len(X)):
print("Coordenada: ",X[i], " Label: ", labels[i])
plt.plot(X[i][0],X[i][1],colors[labels[i]],markersize=10)
plt.scatter(centroids[:,0],centroids[:,1],marker='x',s=150,linewidths=5,zorder=10)
plt.show()
Los archivos adjuntos son moviescs.csv que es el dataset con el que está funcionando el programa, y con el cual quiero trabajar es Andbrain_DataSet
- dataset.rar(24,9 KB)
Valora esta pregunta


0