Tutorial de Python

Pitón INICIO Introducción a Python Python Empezar Sintaxis de Python Comentarios de Python Variables de Python Tipos de datos de Python Números de Python Fundición de Python Cadenas de pitón Booleanos de Python Operadores de Python Listas de Python Tuplas de Python Conjuntos de Python Diccionarios de Python Python si... si no Ciclos while de Python Python para bucles Funciones de Python pitón lambda Matrices de Python Clases/Objetos de Python Herencia de Python Iteradores de Python Alcance de Python Módulos de Python Fechas de Python Python Matemáticas PythonJSON Python expresión regular PIP de Python Prueba Python... Excepto Entrada de usuario de Python Formato de cadenas de Python

Manejo de archivos

Manejo de archivos de Python Python Leer archivos Python escribir/crear archivos Python Eliminar archivos

Módulos de Python

Tutorial NumPy Pandas Tutorial SciPy Tutorial

Matplotlib de Python

Introducción a Matplotlib Matplotlib Comenzar Pyplot de Matplotlib Trazado de Matplotlib Marcadores Matplotlib Línea Matplotlib Etiquetas Matplotlib Cuadrícula Matplotlib Subparcelas de Matplotlib Dispersión de Matplotlib Barras Matplotlib Histogramas de Matplotlib Gráficos circulares de Matplotlib

Aprendizaje automático

Empezando Media Mediana Moda Desviación Estándar percentil Distribución de datos Distribución normal de datos Gráfico de dispersión Regresión lineal Regresión polinomial Regresión múltiple Escala Entrenar/Prueba Árbol de decisión

pitón mysql

MySQL Empezar Crear base de datos MySQL Crear tabla MySQL Insertar MySQL Seleccionar MySQL mysql donde MySQL Ordenar por MySQL Eliminar Tabla desplegable de MySQL Actualización de MySQL Límite MySQL unirse a mysql

Python MongoDB

MongoDB Empezar MongoDB Crear base de datos MongoDB Crear colección Insertar MongoDB MongoDB Buscar Consulta MongoDB MongoDB Ordenar Eliminar MongoDB Colección de eliminación de MongoDB Actualización de MongoDB Límite de MongoDB

Referencia de Python

Descripción general de Python Funciones integradas de Python Métodos de cadenas de Python Métodos de lista de Python Métodos de diccionario de Python Métodos de tupla de Python Métodos de conjuntos de Python Métodos de archivos de Python Palabras clave de Python Excepciones de Python Glosario de Python

Referencia del módulo

Módulo aleatorio Módulo de Solicitudes Módulo de estadísticas Módulo Matemático cMódulo Matemático

Python Cómo

Eliminar duplicados de lista Invertir una cadena Añadir dos números

Ejemplos de Python

Ejemplos de Python Compilador de Python Ejercicios de pitón Cuestionario de Python Certificado de Python

Aprendizaje automático - Escala


Funciones de escala

Cuando sus datos tienen diferentes valores e incluso diferentes unidades de medida, puede ser difícil compararlos. ¿Qué son los kilogramos en comparación con los metros? ¿O la altitud en comparación con el tiempo?

La respuesta a este problema es escalar. Podemos escalar los datos en nuevos valores que son más fáciles de comparar.

Mire la tabla a continuación, es el mismo conjunto de datos que usamos en el capítulo de regresión múltiple , pero esta vez la columna de volumen contiene valores en litros en lugar de cm 3 (1.0 en lugar de 1000).

El archivo está destinado solo para fines de prueba, puede descargarlo aquí: cars2.csv

Carro Modelo Volumen Peso CO2
Toyota aygo 1.0 790 99
mitsubishi estrella espacial 1.2 1160 95
Skoda Cítigo 1.0 929 95
Fíat 500 0.9 865 90
Mini cobre 1.5 1140 105
vw ¡Arriba! 1.0 929 105
Skoda Fabia 1.4 1109 90
mercedes Una clase 1.5 1365 92
Vado Fiesta 1.5 1112 98
Audi A1 1.6 1150 99
hyundai I20 1.1 980 99
Suzuki Rápido 1.3 990 101
Vado Fiesta 1.0 1112 99
honda Cívico 1.6 1252 94
hyundai I30 1.6 1326 97
Opel Astra 1.6 1330 97
BMW 1 1.6 1365 99
mazda 3 2.2 1280 104
Skoda Rápido 1.6 1119 104
Vado Enfocar 2.0 1328 105
Vado Mondeo 1.6 1584 94
Opel Insignias 2.0 1428 99
mercedes Clase C 2.1 1365 99
Skoda octavia 1.6 1415 99
volvo S60 2.0 1415 99
mercedes ALC 1.5 1465 102
Audi A4 2.0 1490 104
Audi A6 2.0 1725 114
volvo V70 1.6 1523 109
BMW 5 2.0 1705 114
mercedes Clase E 2.1 1605 115
volvo XC70 2.0 1746 117
Vado B-máx 1.6 1235 104
BMW 2 1.6 1390 108
Opel Zafira 1.6 1405 109
mercedes SLK 2.5 1395 120

Puede ser difícil comparar el volumen 1.0 con el peso 790, pero si escalamos ambos en valores comparables, podemos ver fácilmente cuánto se compara un valor con el otro.

Existen diferentes métodos para escalar datos, en este tutorial usaremos un método llamado estandarización.

El método de estandarización utiliza esta fórmula:

z = (x - u) / s

Donde zes el nuevo valor, xes el valor original, ues la media y ses la desviación estándar.

Si toma la columna de peso del conjunto de datos anterior, el primer valor es 790 y el valor escalado será:

(790 - ) / = -2.1

Si toma la columna de volumen del conjunto de datos anterior, el primer valor es 1,0 y el valor escalado será:

(1.0 - ) / = -1.59

Ahora puede comparar -2.1 con -1.59 en lugar de comparar 790 con 1.0.

No tiene que hacer esto manualmente, el módulo sklearn de Python tiene un método llamado StandardScaler() que devuelve un objeto Scaler con métodos para transformar conjuntos de datos.

Ejemplo

Escale todos los valores en las columnas Peso y Volumen:

import pandas
from sklearn import linear_model
from sklearn.preprocessing import StandardScaler
scale = StandardScaler()

df = pandas.read_csv("cars2.csv")

X = df[['Weight', 'Volume']]

scaledX = scale.fit_transform(X)

print(scaledX)

Resultado:

Tenga en cuenta que los dos primeros valores son -2.1 y -1.59, lo que corresponde a nuestros cálculos:

[[-2.10389253 -1.59336644]
 [-0.55407235 -1.07190106]
 [-1.52166278 -1.59336644]
 [-1.78973979 -1.85409913]
 [-0.63784641 -0.28970299]
 [-1.52166278 -1.59336644]
 [-0.76769621 -0.55043568]
 [ 0.3046118  -0.28970299]
 [-0.7551301  -0.28970299]
 [-0.59595938 -0.0289703 ]
 [-1.30803892 -1.33263375]
 [-1.26615189 -0.81116837]
 [-0.7551301  -1.59336644]
 [-0.16871166 -0.0289703 ]
 [ 0.14125238 -0.0289703 ]
 [ 0.15800719 -0.0289703 ]
 [ 0.3046118  -0.0289703 ]
 [-0.05142797  1.53542584]
 [-0.72580918 -0.0289703 ]
 [ 0.14962979  1.01396046]
 [ 1.2219378  -0.0289703 ]
 [ 0.5685001   1.01396046]
 [ 0.3046118   1.27469315]
 [ 0.51404696 -0.0289703 ]
 [ 0.51404696  1.01396046]
 [ 0.72348212 -0.28970299]
 [ 0.8281997   1.01396046]
 [ 1.81254495  1.01396046]
 [ 0.96642691 -0.0289703 ]
 [ 1.72877089  1.01396046]
 [ 1.30990057  1.27469315]
 [ 1.90050772  1.01396046]
 [-0.23991961 -0.0289703 ]
 [ 0.40932938 -0.0289703 ]
 [ 0.47215993 -0.0289703 ]
 [ 0.4302729   2.31762392]]


Predecir valores de CO2

La tarea en el capítulo de Regresión Múltiple era predecir la emisión de CO2 de un automóvil cuando solo sabías su peso y volumen.

Cuando se escala el conjunto de datos, tendrá que usar la escala cuando prediga valores:

Ejemplo

Prediga la emisión de CO2 de un automóvil de 1.3 litros que pesa 2300 kilogramos:

import pandas
from sklearn import linear_model
from sklearn.preprocessing import StandardScaler
scale = StandardScaler()

df = pandas.read_csv("cars2.csv")

X = df[['Weight', 'Volume']]
y = df['CO2']

scaledX = scale.fit_transform(X)

regr = linear_model.LinearRegression()
regr.fit(scaledX, y)

scaled = scale.transform([[2300, 1.3]])

predictedCO2 = regr.predict([scaled[0]])
print(predictedCO2)

Resultado:

[107.2087328]