Contenido


Poder social, influencia y rendimiento en la NBA, Parte 1

Explore la valoración y la asistencia utilizando la ciencia de los datos y el aprendizaje automático

Python, Pandas y un poco de R

Comments

Contenido de la serie:

Este contenido es la parte # de # de la serie: Poder social, influencia y rendimiento en la NBA, Parte 1

Manténgase en contacto por contenidos adicionales de esta serie.

Este contenido es parte de la serie:Poder social, influencia y rendimiento en la NBA, Parte 1

Manténgase en contacto por contenidos adicionales de esta serie.

Iniciando

En esta serie de tutoriales, va a aprender a analizar cómo las redes sociales afectan a la NBA con Python, Pandas, Jupyter Notebooks y un poco de R. Aquí, en la Parte 1, aprenderá los aspectos básicos de la ciencia de los datosy del aprendizaje automático en el entorno de equipos de la NBA. Los jugadores de la NBA están sujetos a Parte 2.

¿Qué es la ciencia de los datos, el aprendizaje automático y la IA?

Hay mucha confusión acerca de los términos ciencia de los datos, aprendizaje automático e inteligencia artificial. A menudo se utilizan de forma intercambiable, pero si lo consideramos desde un nivel alto:

  • La ciencia de los datos es la filosofía de pensar en los datos de una forma científica.
  • El aprendizaje automático es una técnica con la que las computadoras aprenden sin que nadie les brinde instrucciones explícitas para que aprendan.
  • La inteligencia artificial es la inteligencia que demuestran las máquinas. (El aprendizaje automático es un ejemplo de una técnica de IA; otro ejemplo es la optimización.)

El aprendizaje automático 80/20 en práctica

Una parte del aprendizaje automático que se pasa por alto es la regla 80/20, la cual aproximadamente el 80 por ciento del tiempo se utiliza para obtener y manipular datos, y el 20 por ciento se dedica a cosas divertidas, como analizar los datos, hacer un modelo de datos y realizar predicciones.

Figura 1. El aprendizaje automático 80/20 en práctica
Image shows machine learning in practice
Image shows machine learning in practice

Un problema no tan obvio de la manipulación de datos es cómo obtener los datos en primer lugar. Una cosa es experimentar con un conjunto de datos que está disponible para el público; otra completamente diferente es buscar por Internet, incluso después de superar esos problemas, un problema que puede ser incluso más difícil es poner los datos en producción.

Imagen 2. Ciencia de datos de pila completa
Image shows full-stack data science
Image shows full-stack data science

Como debe ser, se pone mucha atención en el aprendizaje de automático y en las habilidades que se necesitan para modelarlo: aplicar matemáticas, experiencia en el dominio y conocimiento de las herramientas. Implementar un sistema de aprendizaje automático en producción es un asunto totalmente diferente. En esta serie de tutoriales esto se cubre a alto nivel con la esperanza de que le inspire para crear modelos de aprendizaje automático y para implementarlos en producción.

¿Qué es el aprendizaje de máquina?

Aparte de la descripción de alto nivel, hay una jerarquía para el aprendizaje automático. En la parte superior están los aprendizajes supervisado y no supervisado. Existen dos tipos de técnicas de aprendizaje supervisado: los problemas de clasificación y los problemas de regresión que tienen un conjunto de entrenamiento con datos etiquetados.

Un ejemplo de un problema de aprendizaje automático con regresión supervisada es la previsión de los precios futuros de las casas a partir de datos históricos de ventas. Un ejemplo de un problema de clasificación supervisado es utilizar un repositorio de imágenes históricas para clasificar los objetos de las imágenes: automóviles, casas, formas, etc.

El aprendizaje no supervisado implica la creación de modelos en los que los datos no están etiquetados. La respuesta correcta puede ser desconocida y se tiene que descubrir. Un ejemplo habitual es la agrupación. Un ejemplo de agrupación es encontrar grupos de jugadores de la NBA que tengan cosas en común y etiquetar manualmente esos grupos, — por ejemplo, mayor anotador, mayores reboteadores, etc.

Enumeración del problema: ¿Cuál es la relación entre la influencia social y la NBA?

Ahora que nos hemos encargado de los aspectos básicos, es el momento de profundizar:

  • ¿El rendimiento individual de los jugadores afecta a las victorias del equipo?
  • ¿El rendimiento en la cancha está correlacionado con la influencia en las redes sociales?
  • ¿La participación en las redes sociales está correlacionada con la popularidad en Wikipedia?
  • ¿El número de seguidores o la participación son mejores indicadores de la popularidad en Wikipedia?
  • ¿El salario está correlacionado con el rendimiento en la cancha?
  • ¿El salario está correlacionado con el rendimiento en las redes sociales?
  • ¿Las victorias atraen más seguidores a los partidos?
  • ¿Qué aumenta la valoración de los equipos: asistencia, el mercado inmobiliario local?

Para responder a estas y otras preguntas es necesario extraer varias categorías de datos:

  • Popularidad en Wikipedia
  • Participación en Twitter
  • Asistencia al estadio
  • Datos de rendimiento de la NBA
  • Datos de salario de la NBA
Imagen 3. Orígenes de los datos de la NBA
Image shows NBA                     data sources
Image shows NBA data sources

Adentrándonos en el problema del 80 por ciento: Recopilar los datos

Recopilar estos datos es un problema no trivial de la ingeniería de software. El primer paso para recopilar todos los datos es averiguar por dónde empezar. Un buen lugar para empezar en este tutorial es recopilar a todos los jugadores de la NBA de la temporada 2016-17.

Esto nos proporciona un dato útil acerca de cómo recopilar los datos: Si recopilar los datos manualmente es fácil — por ejemplo, descargarlos de un sitio web y limpiarlos manualmente en Excel — entonces esta es una forma razonable de empezar con un problema de ciencia de datos. Si recopilar los datos de una fuente de datos y limpiarlos manualmente es algo en lo que se tarda más que algunas horas, entonces probablemente es mejor escribir código para solucionar el problema.

Afortunadamente, recopilar el primer origen de datos es tan simple como descargar un CSV de Basketball Reference. Ahora que nos hemos encargado de la primera recopilación de datos, es el momento de explorar rápidamente cómo se utiliza Pandas y Jupyter Notebook. Antes de ejecutar código, necesita:

  1. Crear un entorno virtual (basado en Python 3.6)
  2. Instalar los paquetes que se utilizan en este tutorial: Pandas y Jupyter Notebook.

Ya que el patrón de instalación y la actualización de los paquetes son tan comunes, los pongo en un Makefile, como se muestra a continuación:

Listado 1. Contenido del Makefile

setup:
	mkdir -p ~/.socialpowernba && python3 -m venv ~/.socialpowernba

install:
	pip install -r requirements.txt

Para empezar a trabajar en un proyecto, ejecute make setup && make install.

Otro truco es crear un alias para que cuando quiera trabajar en un proyecto en particular, pueda obtener automáticamente el virtualenv haciendo un cd en el proyecto. El contenido del archivo .zshrc que tiene este alias dentro se parece a:

alias nbatop="cd ~/src/socialpowernba && source ~/.socialpowernba/bin/activate"

Para iniciar el entorno virtual, escribanbatop. Usted escribirá cd en la salida e iniciará su virtualenv.

Para inspeccionar el conjunto de datos que descargó o utilizó desde el repositorio de GitHub:

Inicie Jupyter Notebook: Jupyter notebook. Ejecutar esto lanza un navegador web en el que puede explorar cuadernos existentes o crear nuevos.

Si está utilizando los archivos del repositorio de GitHub, busque basketball_reference.ipynb, que es un sencillo cuaderno que mira a los datos que están dentro.

Es posible crear un cuaderno utilizando el menú de la web o cargando el cuaderno en el repositorio de GitHub llamado basketball_reference. Para realizar una validación inicial y una exploración, cargue un archivo CSV en un marco de datos de Pandas. Cargar un archivo CSV en Pandas es fácil, pero hay algunas salvedades:

  • Las columnas del archivo CSV deben tener nombres.
  • Las filas de cada columna deben tener igual longitud.

El listado 2 muestra cómo se carga el archivo en Pandas.

Listado 2. Exploración de referencia de baloncesto de Jupyter Notebook

import pandas as pd
nba = pd.read_csv("../data/nba_2017_br.csv")
nba.describe()

La siguiente imagen muestra el resultado de los datos cargados. La función describe del marco de datos de pandas brinda estadísticas descriptivas, entre ellas el número de columnas. En sus datos, y tal como se muestra a continuación, el número de columnas es 27, y también se muestra la mediana (esta es la fila del 50 por ciento) para cada columna. En este punto, puede ser una buena idea jugar un poco con el Jupyter Notebook que usted creó y ver que conocimientos puede observar. Para aprender más acerca de lo que Pandas puede hacer, vea la página oficial de tutoriales de Pandas.

Imagen 4. Carga y descripción de conjunto de datos de la NBA
Image shows NBA dataset load and describe
Image shows NBA dataset load and describe

Una cosa que este conjunto de datos no tiene es una forma clara de clasificar en una estadística el rendimiento ofensivo y defensivo de un jugador. Hay algunas maneras de clasificar a los jugadores de la NBA utilizando sólo una estadística. El sitio web FiveThirtyEight tiene un sistema de clasificación CARMELO . ESPN tiene Real Plus-Minus, que incluye un práctico resultado con las victorias que se atribuyen a cada jugador. La estadística de un solo número de la NBA se llama PIE (Estimación de Impacto del Jugador).

El nivel de dificultad aumenta ligeramente cuando se obtienen los datos de los sitios web de ESPN y de la NBA. Un enfoque es extraer datos del sitio web con una herramienta como Scrapy. Aunque el enfoque que se utiliza en este tutorial es un poco más sencillo que ese. En este caso, cortar y pegar del sitio web en Excel, limpiar manualmente los datos y después guardar los datos como CSV es más rápido que escribir código para hacerlo. Después, si esto se convierte en un proyecto más grande es posible que este enfoque no funcione tan bien. Pero para este tutorial, es una gran solución. Un aporte clave para problemas complicados de ciencia de los datos es continuar progresando rápidamente para no quedarnos atrapados por entrar en demasiado detalle.

Es posible que gastemos mucho tiempo perfeccionando una forma de obtener un origen de datos y para limpiarlo, y luego darnos cuenta de que los datos no son útiles para el modelo que estamos creando.

La siguiente imagen muestra el conjunto de datos PIE de la NBA. Los datos también tienen un número de 486 o 486 filas. Para obtener los datos de ESPN el proceso es similar al anterior. Otros orígenes de datos a considerar son los salarios y los ingresos publicitarios. ESPN tiene la información del salario y Forbes tiene un pequeño subconjunto de datos de ingresos publicitarios. Los dos orígenes de datos están en el proyecto de GitHub.

Imagen 5. Conjunto de datos PIE de la NBA
Image shows NBA                     PIE dataset
Image shows NBA PIE dataset

En la Tabla 1, hay un listado de los orígenes de datos por nombre y ubicación. En poco tiempo tenemos muchos elementos de muchos orígenes de datos diferentes.

Tabla 1. Orígenes de datos de la NBA
Origen de datosNombre de archivoFilasResumen
Basketball-Reference nba_2017_attendance.csv 30 Asistencia al estadio
Forbes nba_2017_endorsements.csv 8 Principales jugadores
Forbes nba_2017_team_valuations.csv 30 Todos los equipos
ESPN nba_2017_salary.csv 450 La mayor parte de los jugadores
NBA nba_2017_pie.csv 468 Todos los jugadores
ESPN nba_2017_real_plus_minus.csv 468 Todos los jugadores
Basketball-Reference nba_2017_br.csv 468 Todos los jugadores
FiveThirtyEight nba_2017_elo.csv 30 Clasificación del equipo

Todavía queda mucho trabajo por hacer para descargar y transformar todos los datos en un conjunto de datos unificado. Para empeorar aún más las cosas, hasta ahora, recopilar los datos ha sido fácil. Todavía nos queda un gran trayecto por recorrer. Cuando miremos a la forma de los datos, una buena forma de empezar es tomar los ingresos publicitarios de los ocho principales jugadores y ver si hay un patrón para separarlos. Aunque, antes de hacer eso, explore cuál es el valor de los equipos de la NBA. Desde ahí, puede determinar cuál es el impacto que tiene un jugador en el valor total de una franquicia de la NBA.

Cómo explorar la valoración del equipo para la NBA

El primer asunto por realizar es crear un Jupyter Notebook nuevo. Afortunadamente para usted, el Jupyter Notebook ya está creado. Lo descubrirá en el repositorio de GitHub: exploring_team_valuation_nba.

Después, importe un conjunto común de bibliotecas que se usan habitualmente para explorar los datos de un Jupyter Notebook.

Listado 3. Importaciones iniciales de Jupyter Notebooks comunes

import pandas as pd
import statsmodels.api as sm
import statsmodels.formula.api as smf
import matplotlib.pyplot as plt
import seaborn as sns
color = sns.color_palette()
%matplotlib inline

Ahora tiene que crear un marco de datos de Pandas para cada origen.

Listado 4. Crear marco de datos para orígenes

attendance_df = pd.read_csv("../data/nba_2017_attendance.csv")
endorsement_df = pd.read_csv("../data/nba_2017_endorsements.csv")
valuations_df = pd.read_csv("../data/nba_2017_team_valuations.csv")
salary_df = pd.read_csv("../data/nba_2017_salary.csv")
pie_df = pd.read_csv("../data/nba_2017_pie.csv")
plus_minus_df = pd.read_csv("../data/nba_2017_real_plus_minus.csv")
br_stats_df = pd.read_csv("../data/nba_2017_br.csv")
elo_df = pd.read_csv("../data/nba_2017_elo.csv")

Un pequeño truco cuando esté trabajando con muchos orígenes de datos es mostrar las primeras líneas de cada marco de datos. Puede ver cuál es su apariencia en las imágenes siguientes.

Imagen 6. Marcos de datos de ingresos publicitarios, sección A
Image shows endorsement data frames section A
Image shows endorsement data frames section A
Imagen 7. Marcos de datos de ingresos publicitarios, sección B
Image shows endorsement data frames section B
Image shows endorsement data frames section B

Ahora, fusione los datos de las valoraciones de los equipos con los datos de la asistencia y cree un diagrama. El listado 5 brinda el código para fusionar los marcos de datos de Pandas.

Listado 5. Fusionar marcos de datos de Pandas

attendance_valuation_df = attendance_df.merge(valuations_df, how="inner", on="TEAM")
attendance_valuation_df.head()

La imagen siguiente muestra el resultado de la fusión.

Imagen 8. Cuadro de fusión de datos de valoración de asistencia
Image shows attendance valuation data frame merge head
Image shows attendance valuation data frame merge head

Para hacerse una mejor idea de los datos que acaba de fusionar, visualícelos rápidamente. El primer paso es decir al cuaderno que muestre gráficos más amplios, después, haga un Seaborne pairplot, como se muestra a continuación.

Listado 6. Seaborn pairplot

from IPython.core.display import display, HTML
display(HTML("<style>.container { width:100% !important; }</style>"))
sns.pairplot(attendance_valuation_df, hue="TEAM")

Cuando mire a los diagramas, observe la relación entre la asistencia media y la valoración de los jugadores. Hay una fuerte relación lineal entre las dos características, tal como se representa por la línea casi recta que forman los puntos.

Imagen 9. Seaborn pairplot, Asistencia de la NBA comparada con la valoración
Image shows Seaborn pairplot NBA attendance versus valuation
Image shows Seaborn pairplot NBA attendance versus valuation

Otra forma de mirar a estos datos es con un diagrama de correlación. Para crear un diagrama de correlación utilice el código que se brinda a continuación; la siguiente imagen muestra el resultado.

Listado 7. Diagrama de correlación de Seaborn

corr = attendance_valuation_df.corr()
sns.heatmap(corr, 
            xticklabels=corr.columns.values,
            yticklabels=corr.columns.values)
Imagen 10. Diagrama de correlación de Seaborn, Asistencia a la NBA comparada con la valoración
Image shows Seaborn correlation plot NBA attendance versus                     valuation
Image shows Seaborn correlation plot NBA attendance versus valuation

El diagrama de correlación muestra una relación del valor en millones de dólares (de un equipo de la NBA), el porcentaje que se ha ocupado de la capacidad media del estadio (PCT) y una media de asistencia. Un mapa de calor que muestra los números medios de asistencia comparándolos con la valoración de todos los equipos de la NBA le ayudará a sumergirse un poco más en esto. Para generar un mapa de calor en Seaborn, es necesario que reestructure los datos en una tabla dinámica (como la que está disponible en Excel). La tabla dinámica permite que los gráficos de Seaborn pivoten, entre tres valores y muestra cómo cada una de esas tres columnas está relacionada con las otras dos. El siguiente código le muestra cómo reestructurar los datos dentro de una forma dinámica.

Listado 8. Diagrama de mapa de calor de Seaborn

valuations = attendance_valuation_df.pivot("TEAM", "AVG", "VALUE_MILLIONS")
plt.subplots(figsize=(20,15))
ax = plt.axes()
ax.set_title("NBA Team AVG Attendance vs Valuation in Millions:  2016-2017 Season")
sns.heatmap(valuations,linewidths=.5, annot=True, fmt='g')

La imagen 11 muestra algunos valores atípicos interesantes, por ejemplo, los Nets de Brooklyn tienen un valor de 1.800 millones de dólares, aun que tienen una de las tasas de asistencia media más bajas de la NBA. Esto merece que le echemos un vistazo.

Imagen 11. Diagrama de correlación de Seaborn, Asistencia a la NBA comparada con la valoración
Image shows Seaborn correlation plot NBA attendance versus                     valuation
Image shows Seaborn correlation plot NBA attendance versus valuation

Una forma de investigar más a fondo es realizar una regresión lineal con el paquete Statsmodels. Según Statsmodels.org, el paquete Statsmodels "es un módulo de Python que brinda clases y funciones para la estimación de muchos modelos estadísticos diferentes, además de para realizar pruebas estadísticas y la exploración de datos estadísticos. Para cada estimador hay disponibles una extensa lista de estadísticas de resultados".

Se puede instalar el paquete Statsmodels con pip install Statsmodel. A continuación, hay tres líneas que son necesarias para ejecutar la regresión.

Listado 9. Regresión lineal VALOR ~ MEDIA

results = smf.ols('VALUE_MILLIONS ~AVG', data=attendance_valuation_df).fit()
print(results.summary())

La imagen siguiente muestra el resultado de la regresión. EL R-cuadrado muestra que aproximadamente el 28 por ciento de la valoración se puede explicar por la asistencia, y el valor 0,044 de P cae por debajo del rango de ser estadísticamente significativo. Un problema potencial con los datos es que el diagrama de valores residuales no parece completamente aleatorio. Este es un buen inicio para intentar desarrollar un modelo para explicar qué es lo que crea la valoración de una franquicia de la NBA.

Imagen 12. Regresión con diagrama residual
Image shows regression with residual plot
Image shows regression with residual plot

Una forma de añadir potencialmente más al modelo es agregar los números del ELO de cada equipo. Según Wikipedia, "El sistema de clasificación ELO es un método para calcular los niveles de habilidad relativos de los jugadores en juegos de competidor contra competidor, como el ajedrez." El sistema de clasificación ELO también se utiliza en los deportes.

Los números ELO tienen más información que los registros de partidos ganados/perdidos porque clasifican según lo fuerte que sea el oponente contra el que se juega. Parece una buena idea investigar si lo bueno que es un equipo afecta a su valoración.

Para hacerlo, fusione los datos de ELO en estos datos, como se muestra a continuación.

Listado 10. Trazado del ELO

attendance_valuation_elo_df = attendance_df.merge(elo_df, how="inner", on="TEAM")
attendance_valuation_elo_df.head()
attendance_valuation_elo_df.to_csv("../data/nba_2017_att_val_elo.csv")
corr_elo = attendance_valuation_elo_df.corr()
plt.subplots(figsize=(20,15))
ax = plt.axes()
ax.set_title("NBA Team Correlation Heatmap:  2016-2017 Season (ELO, AVG Attendance, VALUATION IN MILLIONS)")
sns.heatmap(corr_elo, 
            xticklabels=corr_elo.columns.values,
            yticklabels=corr_elo.columns.values)
corr_elo
ax = sns.lmplot(x="ELO", y="AVG", data=attendance_valuation_elo_df, hue="CONF", size=12)
ax.set(xlabel='ELO Score', ylabel='Average Attendance Per Game', title="NBA Team AVG Attendance vs ELO Ranking:  2016-2017 Season")
attendance_valuation_elo_df.groupby("CONF")["ELO"].median()
attendance_valuation_elo_df.groupby("CONF")["AVG"].median()

Después de la fusión hay que crear dos gráficos. El primero, que se muestra en la Imagen 13, es un nuevo mapa de calor de la correlación. Hay algunas correlaciones positivas que se deben examinar más de cerca. En particular, parece que merece la pena crear diagramas de la asistencia y del ELO. En el mapa de calor siguiente, cuanto más luminoso es el color, más correlacionadas están las dos columnas. Si la matriz muestra el mismo valor cuando se compara con sí misma, la correlación es 1, y el cuadrado es beige. En el caso de TOTAL y ELO, parece que hay una correlación de 0,5

Imagen 13. Mapa de calor de la correlación de ELO
Image shows ELO correlation heatmap
Image shows ELO correlation heatmap

La imagen 14 tiene un diagrama de ELO comparado con la asistencia. Parece que hay una relación lineal débil entre lo bueno que es un equipo (CLASIFICACIÓN ELO) y la asistencia. El diagrama siguiente colorea separadamente los diagramas de dispersión del Este y del Oeste, junto con un intervalo de confianza. La relación lineal débil está representada por la línea recta que atraviesa los puntos del espacio X,Y .

Imagen 14. ELO comparado con la asistencia
Image shows ELO versus attendance
Image shows ELO versus attendance

La regresión lineal ayudará a examinar más a fondo esta relación que se muestra en el diagrama.

Listado 11. Regresión lineal MEDIA ~ ELO

results = smf.ols('AVG ~ELO', data=attendance_valuation_elo_df).fit()
print(results.summary())

El resultado de la regresión (vea la Imagen 15) muestra un R-cuadrado del 8 por ciento y un valor de P del 0,027, así que aquí también hay una señal estadística significativa, aunque es muy débil.

Imagen 15. Regresión de ELO comparado con la asistencia
Image shows ELO versus attendance regression
Image shows ELO versus attendance regression

Aprendizaje automático no supervisado: Clúster de K-medios

Un elemento final a abordar es el uso de la agrupación en clúster de k-medios para crear tres grupos basados en AVG, ELO y VALUE_MILLIONS.

Listado 12. Clúster de K-medios

from sklearn.cluster import KMeans
from sklearn.preprocessing import MinMaxScaler

#Sólo crear clústeres con esos valores
numerical_df = val_housing_win_df.loc[:,["TOTAL_ATTENDANCE_MILLIONS", "ELO", "VALUE_MILLIONS", "MEDIAN_HOME_PRICE_COUNTY_MILLONS"]]

#Escalar a entre 0 y 1
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
print(scaler.fit(numerical_df))
print(scaler.transform(numerical_df))

#Añadir a DataFrame
from sklearn.cluster import KMeans
k_means = KMeans(n_clusters=3)
kmeans = k_means.fit(scaler.transform(numerical_df))
val_housing_win_df['cluster'] = kmeans.labels_
val_housing_win_df.head()

En el diagrama que se muestra a continuación puede ver que hay tres grupos distintos, y que los centros de los clústeres representan etiquetas diferentes. Una nota a la que prestar atención es que sklearn MinMaxScaler se utiliza para escalar todas las columnas a un valor entre 0 y 1, para normalizar la diferencia entre las escalas.

Imagen 16. Agrupar clústeres
Image shows team                     clusters
Image shows team clusters

La imagen siguiente muestra los miembros del clúster 1. Los principales aportes de este clúster son que ambos son los mejores equipos de la NBA y que son los que tienen mejor asistencia media. Donde las cosas se desmoronan es en la valoración total. Por ejemplo, Utah Jazz es un equipo muy bueno según ELO, y su asistencia es muy buena, pero su valor no es tan alto como el de otros miembros del clúster. Esto podría significar que hay una oportunidad para que los Utah Jazz realicen pequeños cambios que aumenten de forma significativa el valor del equipo.

Imagen 15. Miembros del clúster
Image shows cluster membership
Image shows cluster membership

Conclusión

En la Parte 1 de esta serie de dos partes, usted aprendió los aspectos básicos de la ciencia de datos y del aprendizaje automático, y comenzó a explorar las relaciones entre valoración, asistencia y equipos ganadores de la NBA. El código de los tutoriales se mantiene en un Jupyter Notebook que puede consultar aquí. La Parte 2 deja los equipos y explora individualmente a los atletas de la NBA. Se exploran los datos de apoyo, el verdadero rendimiento en la cancha, el poder social con Twitter y Wikipedia.

Las lecciones que se han aprendido hasta ahora con la exploración de los datos son:

  • La valoración de un equipo de la NBA se ve afectada por la asistencia media.
  • La clasificación ELO (el registro de lo fuerte que es un equipo) está relacionada con la asistencia. En términos generales, cuanto mejor es un equipo, más seguidores asisten a los partidos.
  • La asistencia media y la clasificación ELO de Conferencia Este son más bajas.

Recursos para Descargar


Temas relacionados


Comentarios

Inicie Sesión o Regístrese para agregar comentarios.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=Big data y analytics
ArticleID=1056816
ArticleTitle=Poder social, influencia y rendimiento en la NBA, Parte 1: Explore la valoración y la asistencia utilizando la ciencia de los datos y el aprendizaje automático
publish-date=01192018