Predecir los resultados de la distribución de películas rusas utilizando ML / Sudo Null IT News

Trabajamos con perceptrones y modelos de aprendizaje automático básicos y conjuntos. Conclusiones: por supuesto, se puede ganar dinero con el cine si los productores y distribuidores de películas emiten acciones, bonos y otros instrumentos financieros y publican informes. conjunto de datos y el código del proyecto se encuentra en el repositorios.

Cuando a los “espectadores” comunes y corrientes se les dice que el cine es una actividad creativa, un gran arte, y al hablar de dinero despreciable, insultamos el proceso sagrado de la creatividad y la personalidad misma del “cineasta”, no se nos dice toda la verdad.

La cinematografía es predecible. Teniendo en cuenta datos históricos de períodos pasados, el destino de la distribución de cada película nacional en el mercado local se puede determinar incluso antes de que comience el rodaje. Y puedes seleccionar las características del proyecto de antemano para que tenga éxito entre el espectador: no importa si será una comedia romántica comercial ligera, una película dramática patriótica o buena ciencia ficción.

Si se tiene una “cartera” de proyectos cinematográficos de 20 a 30 películas, entonces su destino es más fácil de predecir, utilizando la analogía con una cartera bien diversificada y equilibrada de instrumentos financieros de inversión.

Resolvamos primero el problema de la clasificación: ¿la película tendrá éxito en taquilla, recaudará sus dos presupuestos?

Hay ciertos signos de éxito del cine, por ejemplo: las comedias siempre tienen más éxito comercial que los dramas, la duración de una película ideal tiende a los 94 minutos, y si tenemos otra “superproducción” ante nosotros, corre el riesgo de no recuperarla. aumenta debido a la capacidad limitada del mercado ruso. Puede leer más sobre los factores del éxito de la inversión. Aquí.

Experimentaremos con un “pequeño” conjunto de datos sobre la distribución de películas rusas, incluidos datos de distribución e información sobre directores y guionistas desde 2004. conjunto de datos contiene 1660 grabaciones de películas rusas de producción nacional, comenzando con la película “72 metros” de Vladimir Khotinenko, estrenada el 12 de febrero de 2004, hasta la película “Zoskina Refueling”, estrenada el 13 de abril de 2023.

Autor lanzó el acorazado espacial a una órbita libre preparó un gran modelo de 146 factores que cubre el grupo creativo ampliado de la película: productores, editores, compositores y actores principales, con la ayuda del cual ya es posible seleccionar las características futuras de la película y la composición del equipo creativo.

conjunto de datos prelimpiados, huecos (presupuesto) llenos de valores medios. En realidad, esto no es muy bueno para la precisión de los cálculos, pero estos son los productores reservados que tenemos. Todos los datos se recopilaron de fuentes legales abiertas y se verificaron manualmente.

Estructura del conjunto de datos

El conjunto de datos incluye las siguientes características: ID_kinopoisk: número de identificación de la película y columnas de valor:

– semana: número de serie de la semana en que se estrenó la película desde principios de año,

– mes: número de serie del mes en que se estrenó la película desde principios de año,

– pantallas: número inicial de pantallas de alquiler (copias de pantalla),

– presupuesto – presupuesto cinematográfico (en millones de rublos),

– age_R – clasificación por edades de la película de 0+ a 18+,

– tiempo – duración total de la película en minutos,

– género_box_buget – ratio promedio de taquilla/presupuesto por género,

– género_avr_kinopoisk_R – calificación promedio de espectadores de Kinopoisk por género,

– género_avr_box – ingresos medios de taquilla por género,

– género_avr_views – número promedio de vistas para el género del proyecto,

– género2_box_buget – honorarios/presupuesto para el subgénero del proyecto,

– género2_avr_kinopoisk_R – calificación promedio para el subgénero del proyecto,

– género2_avr_box – tarifas promedio para el subgénero del proyecto,

– género2_avr_views – vistas promedio para el subgénero del proyecto,

– dir_box_buget – relación media taquilla/presupuesto del director,

– dir_avr_kinopoisk_R – calificación promedio del director en Kinopoisk,

– dir_avr_box – valor medio de taquilla de los proyectos de este director,

– dir_avr_views – número medio de visualizaciones de las películas del director,

– skr1_box_buget – relación media entre taquilla y presupuesto de un guionista,

– skr1_avr_kinopoisk_R – valoración media de los espectadores del guionista,

– skr1_avr_box – el importe medio de los honorarios de los proyectos del guionista,

– skr1_avr_views – número medio de visualizaciones de los proyectos del guionista,

– skr2_box_buget – la relación honorarios/presupuesto del segundo guionista,

– skr2_avr_kinopoisk_R – valoración media de los espectadores del segundo guionista,

– skr2_avr_box – número medio de colecciones de proyectos del segundo guionista,

– skr2_avr_views – número medio de visualizaciones de los proyectos del segundo guionista.

Nuestros valores predichos serán respectivamente:

Para clasificación:

– resultado – la película dio sus frutos en taquilla – 1, no dio sus frutos – 0.

– resultado4 – la película fracasó – 0, no dio sus frutos – 1, dio sus frutos – 2, generó buenos beneficios – 3

Tendremos métricas de clasificación estándar: precisión, ROC-AUC, además veremos precisión, recuperación, puntuación f1.

En la primera etapa, utilizaremos modelos básicos de aprendizaje automático para las pruebas. En el segundo, pasaremos a los modelos ML de conjunto en la versión para clasificación con ajuste de hiperparámetros. En la tercera etapa Suministro árboles y barbecho Intentemos usar muestreo para alinear clases y usar MLP.

La regresión y el pronóstico de los valores absolutos de taquilla, vistas y calificaciones de Kinopoisk se discutirán en la próxima publicación.

Etapa uno: algoritmos básicos de aprendizaje automático

No nos emocionemos demasiado, usemos un algoritmo de regresión logística básico. Dividimos la muestra en entrenamiento y prueba en la proporción de 70/30 y fijamos la división random_state = 42. Se reprodujeron los resultados y los cálculos: ¡esto es sagrado para la ciencia y las finanzas!

Para nosotros, la regresión logística sólo funciona con datos normalizados. No olvidemos sacar StandardScaler de sklearn.preprocessing y escalar las funciones al rango de 0 a 1.

Seleccionemos 26 características y el valor objetivo (columna de resultados). Entrenaremos y probaremos. modelo.

El resultado es bastante bueno, obtuvimos una precisión de 0,9238 y, en general, predijimos correctamente el destino de distribución de 461 de 499 películas.

Matriz de errores de regresión logística

Matriz de errores de regresión logística

De acuerdo, si el productor o el presidente del comité de selección sabe de antemano que puede predecir con precisión el destino de 92 proyectos de 100 puestos sobre su mesa, se dibujará una imagen ideal. Un empleado responsable puede perforar agujeros con anticipación para la Orden de Mérito del Presupuesto, porque la inversión ha dado sus frutos y ha generado beneficios. Delante de la puerta de la oficina hay una cola de inversores privados de Rusia y países amigos.

Estimación del área bajo la curva ROC_AUC

Estimación del área bajo la curva ROC_AUC

Pero, lamentablemente, no todo es tan sencillo. En el conjunto de datos original, tenemos aproximadamente el 11,5% de las películas que dieron sus frutos. Hay un claro desequilibrio en las clases. Por lo tanto, el indicador de precisión, lamentablemente, es insuficiente para nosotros. Si nos fijamos en los valores del área bajo la curva ROC = 0,9406, esto es ciertamente mejor que la adivinación con posos de café 0,5, pero aún no es tan alto como nos gustaría. Nos centraremos en los indicadores precisión, recuperación y puntuación f1 para la clase (1) de películas rentables.

precisión

recordar

puntuación f1

apoyo

0

0.9352

0.9819

0.9580

441

1

0.7778

0.4828

0.5957

58

exactitud

0.9238

499

macropromedio

0.8565

0.7323

0.7769

499

promedio ponderado

0.9169

0.9238

0.9159

499

Probemos otro método básico, la “máquina de vectores de soporte”.

La exactitud de este modelos por encima de 0,9359. Predijimos correctamente el destino de 467 películas de 499. Esto es, por supuesto, mejor, pero no mucho. Necesitamos algo más poderoso y eficaz.

Matriz de errores "máquinas de vectores de soporte"

Matriz de errores de máquina de vectores de soporte

Utilicemos árboles de decisión. No dependen tanto de la dispersión de los valores de las características, sus escalas o valores atípicos como otros algoritmos. Otra ventaja es que no es necesario escalar ni normalizar las muestras de entrenamiento y prueba.

El primer resultado de este modelos la precisión no es “hielo”: sólo 0,9158, y sólo identificamos correctamente 457 películas de 499.

Matriz de errores "árboles de decisión"

Matriz de errores de “árboles de decisión”

Sin embargo, los “árboles de decisión” se pueden ajustar seleccionando hiperparámetros. GridSearchCV para ayudarnos. Usando una “cuadrícula”, revisaremos el criterio (“gini”, “entropía”, “log_loss”), el divisor (“mejor”, “aleatorio”), max_profundidad, min_samples_split, min_samples_leaf, max_feature y determinaremos la mejor combinación.

Nosotros sucedió следующее: criterio = 'gini', max_profundidad = 5, max_features = 7, min_samples_leaf = 2, min_samples_split = 15, splitter = 'mejor'.

Con estos hiperparámetros, se logró una precisión general = 0,9419. Hemos determinado el destino de 470 pinturas de 499.

Matriz de errores "árboles de decisión" con selección de hiperparámetros

Matriz de errores de “árboles de decisión” con selección de hiperparámetros

No es un Oscar, por supuesto, pero en términos de precisión, recuperación, puntuación f1 para una clase positiva (rentable) ya es mejor, para no tirar a la basura proyectos potencialmente exitosos.

Necesitamos hacer algo con respecto al desequilibrio de clases. Después de todo, queremos obtener una clasificación más detallada y resaltar por separado los proyectos absolutamente fallidos y aquellas películas que potencialmente podrían generar buenos beneficios para los inversores.

Con métricas de calidad insuficientes, debemos hacer algo y los dioses nos ayudarán en este asunto. Metal pesado modelos de aprendizaje automático conjunto y aumento de gradiente.

Segunda etapa: conjuntos y clasificación multiclase

Entonces, en jurado del concurso de cine tenemos: AdaBoostClassifier, BaggingClassifier, ExtraTreesClassifier, GradientBoostingClassifier, RandomForestClassifier, muñecos anidados StackingClassifier y VotingClassifier con LogisticRegression y RandomForestClassifier integrados, HistGradientBoostingClassifier y la creación de un genio en las sombras y de Yandex: CatBoostClassifier.

Creamos un bloque de modelos, los entrenamos en configuraciones básicas en una muestra del 70% y hacemos predicciones para dos clases. Y obtenemos las métricas de calidad correspondientes.

Por supuesto, puedes intentar jugar con la configuración y los archivos adjuntos de los conjuntos de la serie Bagging, Stacking and Voting, pero dejemos este enfoque en particular. tenaz para especialistas avanzados, especialmente porque GradientBoostingClassifier, HistGradientBoostingClassifier y CatBoostClassifier ya mostraron resultados bastante buenos en la base de datos.

Modelo

Exactitud

Precisión

Recordar

F1_puntuación

AdaBoost

0.9399

0.8043

0.6379

0.7115

Harpillera

0.9479

0.8478

0.6724

0.7500

árboles adicionales

0.9339

0.9339

0.5172

0,6452

Aumento de gradiente

0.9519

0.8400

0.7241

0.7778

Bosque aleatorio

0.9519

0.8696

0.6897

0.7692

Apilado

0.9439

0.8750

0.6034

0.7143

Votación

0.9098

0.8421

0.2759

0.4156

HistGradientImpulso

0.9499

0.8235

0.7241

0.7706

gatoboost

0.9559

0.8462

0.7586

0.8000

CatBoost nos dio una puntuación precisa para 478 películas de 499. El roc_auc_score fue 0,9786.

Intentemos estar seguros y HistGradientBoostingClasificador. Seleccionemos hiperparámetros (tasa de aprendizaje = 0,1, profundidad máxima = 5, iter máximo = 100). Precisión 0,9499. El número de predichos correctamente 474 de 499, y simplemente fenomenal roc_auc_score = 0,9801. Pero este indicador, como recordamos, no es tan importante para nosotros.

Clasificador CatBoost

Clasificador CatBoost

Los chicos que crearon CatBoost y HistGradientBoosting son simplemente geniales. Está claro que nuestro selector de IA puede desperdiciar casi una cuarta parte de los buenos proyectos, pero definitivamente obtendrá ganancias en los proyectos restantes. Bueno, si el guionista y solicitante trae no uno, sino cuatro proyectos “brillantes”, sus posibilidades de éxito también aumentan. Ni Quentin Tarantino ni George Lucas empezaron con el primer proyecto que presentaron.

HistGradientBoostingClasificador

HistGradientBoostingClasificador

Y ahora, probablemente, si el lector ha despertado en el fondo de su alma como un cineasta codicioso, probablemente ya se esté preguntando cómo seleccionar exactamente las películas más desastrosas, exactamente las más taquilleras y exitosas que traerán esos mismos “X”. “beneficios.

Para hacer esto, usaremos el modo de clasificación multiclase y los valores de la columna rezult4 de nuestro “pequeño” conjunto de datos. Trabajaremos con CatBoostClassifier con configuraciones para 4 clases.

Y de inmediato modelos obtenemos roc_auc = 0,9629 (por supuesto, con la configuración multi_class=”ovr”) y la precisión general es 0,8938. También necesitamos convertir las etiquetas de clase al formato uno contra todos, para lo cual usamos label_binarize. Y obtenemos datos para las 4 clases. Ya a primera vista vemos que las clases intermedias “se hunden”.

Estimación del área bajo la curva ROC_AUC

Estimación del área bajo la curva ROC_AUC

Es bastante difícil determinar con precisión la línea entre el éxito y el “casi éxito” y entre el fracaso y el “casi fracaso”. Aún así, existe un factor humano subjetivo que hace posible gestionar los ingresos de taquilla gestionando la distribución y cambiando el calendario de estrenos de las películas. Además, señalaremos otros posibles factores del proceso de producción y distribución de la película que están ocultos para nosotros y desconocidos para los espectadores comunes.

El modelo es más capaz de identificar los extremos: películas completamente fallidas y películas muy exitosas. Aventurémonos también a suponer que, independientemente del contexto, una película exitosa seguirá dando sus frutos en taquilla, y una que no fracase fracasará, por mucho que le “tiren de las orejas” ofreciéndole las mejores condiciones de alquiler. .

Matriz de errores de clasificación de 4 clases

Matriz de errores de clasificación de 4 clases

Permítanos recordarle que 0 – la película fracasó en taquilla, 1 – no alcanzó el punto de equilibrio (no recaudó dos presupuestos de producción), 2 – valió la pena, 3 – generó buenas ganancias.

La matriz de errores resultante y el informe de clasificación ponen todo en su lugar. Las clases intermedias no están muy bien definidas, a saber: películas que recaudaron al menos algo de taquilla, pero no dieron frutos en taquilla, y películas que dieron frutos en taquilla, pero no generaron ganancias.

precisión

recordar

puntuación f1

apoyo

0

0.9470

0.9825

0.9644

400

1

0.5882

0.4878

0.5333

41

2

0.5455

0.2500

0.3429

24

3

0.6923

0.7941

0.7397

34

exactitud

0.8938

499

macropromedio

0.6932

0.6286

0.6451

499

promedio ponderado

0.8808

0.8938

0.8838

499

Si queremos inversiones estables, ganancias y crecimiento del mercado cinematográfico, entonces no podemos ignorarlos; de las películas potencialmente “hiperexitosas”, debido a su pequeño número, es difícil reunir una cartera diversificada por género y director. La “cartera” debería diluirse con películas un poco menos exitosas, pero aún así rentables.

¿Que sigue? Al seleccionar los hiperparámetros del modelo, puede mejorar el rendimiento, pero en un pequeño porcentaje (normalmente una fracción de porcentaje). Por tanto, por mucho que queramos evitar esto, tendremos que utilizar datos sintéticos y utilizar muestreo para igualar el equilibrio de clases.

Lo único bueno es que haremos esto en modelos ya “familiares” y, como beneficio adicional, probaremos una red neuronal para la clasificación.

Etapa tres: equilibrio de clases y red neuronal

Aumentemos la muestra usando la biblioteca de aprendizaje desequilibrado. Ahora tenemos aproximadamente un número igual de clases en la muestra total. Y al mismo tiempo, compararemos cómo el ya conocido CatBoostClassifier se enfrenta al nuevo conjunto de datos y lo emparejaremos con un MLP normal.

En una muestra más grande con clases CatBoost equilibradas presentado Resultados fenomenales en las cuatro clases con una precisión general de 0,9872. Ahora es el momento de responder a la pregunta: ¿cuándo vale la pena “cercar el jardín”, es decir, utilizar un enfoque diferente de clasificación?

Usamos red neuronal, construido sobre la arquitectura de la biblioteca TensorFlow: una red secuencial completamente conectada de tres capas: 1. una capa completamente conectada (Densa) y la función de activación ReLU, que toma un tensor de entrada de dimensión 26 (por el número de características), una capa completamente conectada (Densa) con 64 neuronas y función de activación ReLU, capa completamente conectada (Densa) con 4 neuronas y función de activación Softmax “en la salida”. Compilémoslo usando los siguientes parámetros: optimizador=”adam” , loss=”categorical_crossentropy” , metrics=('accuracy').

Gráfico de entrenamiento de redes neuronales por época utilizando la función de pérdida

Gráfico de entrenamiento de redes neuronales por época utilizando la función de pérdida

Entrenaremos esta red neuronal durante 300 épocas. Para evitar el deterioro del rendimiento, utilizamos ModelCheckpoint, que guarda la mejor configuración de la red neuronal. Obtengamos el historial de entrenamiento y seleccionemos la época de entrenamiento donde la red neuronal está configurada de manera óptima en términos de precisión.

En el gráfico de la función de pérdida vemos que seguir entrenando después de la época 200 ya es inútil. El gráfico de precisión nos dice que después de la época 170 hay una caída en las métricas. ¡Pero ya se ha registrado el mejor estado del modelo!

Gráfico de entrenamiento de redes neuronales por valor de precisión

Gráfico de entrenamiento de redes neuronales por valor de precisión

En términos de métrica de precisión (0,9697) en un conjunto de datos con equilibrio de clases, la red neuronal era inferior a CatBoost. El único consuelo es que ambos enfoques permitieron determinar casi sin errores la categoría que dio sus frutos en taquilla y generó beneficios.

Matriz de errores CatBoost en clases equilibradas

Matriz de errores de CatBoost en clases equilibradas

Para la clasificación de 4 clases en un modelo de 26 factores, CatBoost superó a MLP en datos equilibrados. Lo que, por supuesto, no excluye la posibilidad de que en otro conjunto de datos, si trabajamos con la configuración de entrenamiento de MLP, podamos obtener mejores resultados. Los modelos conjuntos de aprendizaje automático son suficientes para componer rápidamente proyectos cinematográficos.

Matriz de errores de MLP en clases equilibradas

Matriz de errores de MLP en clases equilibradas

Así pues, nuestra suposición básica ha quedado demostrada: podemos predecir el éxito o el fracaso de una película, así como gradaciones más sutiles en relación con el cine nacional ruso. Y todo esto es únicamente mediante el uso de datos históricos de alquiler de proyectos y de los dos miembros principales del equipo creativo.

Desarrollo de la previsión de distribución cinematográfica.

El análisis predictivo de la distribución cinematográfica está muy desarrollado en China, India y los países asiáticos; el autor ya ha contado más de 200 publicaciones modernas sobre este tema.

Los investigadores utilizan: datos históricos de distribución y equipo creativo, como en esta publicación; datos de redes sociales, comentarios, blogs y recursos de expertos profesionales procesados ​​utilizando modelos de lenguaje y herramientas de procesamiento de lenguaje natural; imágenes (carteles y fotogramas de películas) utilizando “visión por computadora”.

Algunos investigadores incluso utilizan la evaluación de las emociones humanas utilizando herramientas de psicodiagnóstico instrumental, desde resonancia magnética hasta todo tipo y conjuntos de polígrafos y otras herramientas de psicodiagnóstico instrumental.

En la próxima publicación planeamos abordar cuestiones de regresión: para obtener al menos un valor aproximado de los ingresos de taquilla, las vistas y, para los estetas, incluso el valor del índice de audiencia de Kinopoisk. ¿Por qué es esto necesario?

De hecho, no existe una conexión directa entre la calificación de Kinopoisk y la taquilla, así como no existe absolutamente ninguna conexión entre el retorno de la inversión del proyecto y la cantidad de diferentes estatuillas de oro para el director y el equipo creativo. Son mundos completamente diferentes, separados por el hiperplano rojo de la alfombra.

Corremos el riesgo de provocar la ira de los inquisidores del cine, pero Sarik Andreasyan y Marius Weisberg, que no brillan con valoraciones de 7-8 puntos y estatuillas de oro, son buenos directores en términos de rentabilidad histórica y recuperación de la inversión. Zhora Kryzhovnikov, Dmitry Dyachenko y Klim Shipenko, que se unieron a ellos, son muy buenos. En Rusia hay al menos dos docenas de directores profesionales de primera clase a quienes se les pueden confiar inversiones y contar con un éxito estable.

Sin embargo, no queremos dejar sin trabajo a los críticos de cine, por lo que también señalaremos la importancia de las calificaciones, los comentarios y las reseñas de expertos, especialmente porque pueden estudiarse utilizando herramientas de procesamiento del lenguaje natural y modelos de lenguaje.

conclusiones

Las inversiones en el cine ruso pueden resultar rentables. Tanto para el Estado como para los inversores privados. Si se utiliza el “principio de cartera” de inversión, el rendimiento anual promedio no da, por supuesto, ganancias “X” como en el caso de las pinturas individuales, pero en el caso de riesgo alcanza 139% es muy posible, así como “repetir” el éxito “Cheburashki”.

La estabilidad y previsibilidad de la distribución cinematográfica significa nuevas oportunidades para los programas federales específicos de apoyo al cine, y para la financiación público-privada y para las emisiones. acciones y bonos Productores y distribuidores de películas rusos.

El autor realmente espera que los científicos de datos experimentados sugieran formas de mejorar y corregir los cálculos, para que los especialistas novatos, escolares y estudiantes puedan utilizar conjunto de datos y materiales repositorio con fines científicos y educativos.

¡Buenas y exitosas películas rusas en taquilla!

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *