3.2 Practica
3.2 Practica
3.2 Practica
1
Introducción
puede llevar a la cúspide de mi carrera o dejarme tal cual estoy, todo depende de
Decisión.
2
Desarrollo
Análisis de la máquina de aprendizaje supervisado:
Tomaremos 257 registros con Opiniones de usuarios sobre una app (Reviews).
“en la vida real” conviene tomar más características de lo que sea que queramos
resolver. Esto es únicamente con fines del ejercicio. Las columnas que utilizaremos
valor entre -4 y 4 que indica si el comentario fue valorado como positivo o negativo.
Nuestras etiquetas, serán las estrellas que dieron los usuarios a la app, que son
valores discretos del 1 al 5. Podemos pensar que, si el usuario puntúa con más
1. import pandas as pd
2. import numpy as np
3. import matplotlib.pyplot as plt
4. from matplotlib.colors import ListedColormap
5. import matplotlib.patches as mpatches
6. import seaborn as sb
7.
8. %matplotlib inline
9. plt.rcParams['figure.figsize'] = (16, 9)
10. plt.style.use('ggplot')
11.
12. from sklearn.model_selection import train_test_split
13. from sklearn.preprocessing import MinMaxScaler
14. from sklearn.neighbors import KNeighborsClassifier
15. from sklearn.metrics import classification_report
3
16. from sklearn.metrics import confusion_matrix
1. dataframe = pd.read_csv(r"reviews_sentiment.csv",sep=';')
2. dataframe.head(10)
1. dataframe.describe()
4
Son 257 registros. Las estrellas lógicamente vemos que van del 1 al 5. La
sentimiento están entre -2.27 y 3.26 con una media de 0,38 y a partir del
0,38+0,89.
1. X = dataframe[['wordcount','sentimentValue']].values
2. y = dataframe['Star Rating'].values
3.
4. X_train, X_test, y_train, y_test = train_test_split(X, y,
random_state=0)
5. scaler = MinMaxScaler()
6. X_train = scaler.fit_transform(X_train)
7. X_test = scaler.transform(X_test)
5. Se crea el modelo
1. n_neighbors = 7
2.
3. knn = KNeighborsClassifier(n_neighbors)
4. knn.fit(X_train, y_train)
5. print('Accuracy of K-NN classifier on training set: {:.2f}
'
6. .format(knn.score(X_train, y_train)))
7. print('Accuracy of K-NN classifier on test set: {:.2f}'
8. .format(knn.score(X_test, y_test)))
6. El resultado es:
para el test.
5
7. Visualicemos la matrix de confusión y el reporte del conjunto de datos test
1. pred = knn.predict(X_test)
2. print(confusion_matrix(y_test, pred))
3. print(classification_report(y_test, pred))
6
# Put the result into a color plot
Z = Z.reshape(xx.shape)
plt.figure()
plt.pcolormesh(xx, yy, Z, cmap=cmap_light)
plt.show()
7
9. Vemos las 5 zonas en las que se relacionan cantidad de palabras con el valor
Con estas zonas podemos intuir ciertas características de los usuarios que
25 palabras.
positivo.
8
• Los usuarios que ponen 3 estrellas son bastante neutrales en
palabras.
• Los usuarios que dan 5 estrellas son bastante positivos (de 0,5 en
9
Conclusiones
En este ejercicio creamos un modelo con Python para procesar y clasificar puntos
en inglés lo dice, se evalúan los “k vecinos más cercanos” para poder clasificar
muestras etiquetadas para poder entrenar el modelo con buenos resultados. Este
de memoria y cpu para mantener el dataset “vivo” y evaluar nuevos puntos. Esto no
planteada.
10
Referencias
Recuperado de https://www.aprendemachinelearning.com/clasificar-con-k-
nearest-neighbor-ejemplo-en-python/
11