modelo de regresión acumulación tf.keras.Sequential

En primer lugar, debemos entender la diferencia esencial entre el modelo de clasificación y regresión, puede ser útil cuando la construcción del modelo.

  • modelo de clasificación: predicciones son categorías, salida del modelo es una distribución de probabilidad en cada categoría. Por lo tanto, el número de modelo de valores de salida de clasificación es la última capa de la pluralidad.
  • La predicción del modelo: predecir el valor de salida del modelo es un valor real. Por lo tanto, el número de valores de salida en el modelo de regresión es una capa final.

Después de una clara distinción entre el modelo de clasificación y los modelos de predicción, tenemos un ejemplo para explicar el proceso de construir un modelo de regresión. Este ejemplo es un modelo de predicción de velocidad, el conjunto de datos es un conjunto de datos sklearn.datasets de fetch_california_housing. Todavía podemos construir un modelo de proceso se divide en siete pasos:

paquetes de importación: A

1  importación numpy como np
 2  importación pandas como pd
 3  importación matplotlib como mpl
 4  importación matplotlib.pyplot como plt
 5  importación sklearn
 6  
7  importación OS
 8  importación sys
 9  importación tiempo
 10  
11  importación tensorflow como tf
 12  importación tensorflow.keras como Keras
 13  
14  para el módulo de np, pd, MPL, sklearn, tf, Keras:
 15      de impresión (módulo. __name__, Módulo. __version__ )

Dos: Loading

1  # 数据加载
2  de sklearn.datasets importar a partir de fetch_california_housing
 3 carcasa = fetch_california_housing (data_home = ' C: / Usuarios / rencm / scikit_learn_data ' , download_if_missing = True)

Tres: la formación de segmentación y validación conjuntos

1  # 切分训练集和验证集
2  de sklearn.model_selection importación train_test_split
 3 x_train_all, x_test, y_train_all, y_test = train_test_split (housing.data, housing.target, random_state = 7 )
 4 x_train, x_valid, y_train, y_valid = train_test_split ( x_train_all, y_train_all, random_state = 11 )
 5  de impresión (x_train.shape, x_valid.shape, x_test.shape)

Cuatro: Introduzca proceso de normalización de datos

1  # datos de entrada normalizaron 
2  de sklearn.preprocessing importación StandardScaler
 . 3 Scaler = StandardScaler ()
 . 4 x_train_scaled = scaler.fit_transform (x_train)
 . 5 x_valid_scaled = scaler.transform (X_valid)
 . 6 x_test_scaled = scaler.transform (x_test)

Cinco: Modelo

1  # 模型建立
2 Modelo = keras.models.Sequential ([
 3      keras.layers.Dense (30, activación = ' relu ' , input_shape = x_train.shape [1 :]),
 4      keras.layers.Dense (1 )
 5  ])
 6  model.compile (
 7      pérdida = ' mean_squared_error ' ,
 8      optimizador = ' sgd ' 
9  )
 10  de impresión (model.summary ())

Esto se refiere a una pequeña nota: el número de salida de la última capa que es nuestra capa de salida es 1, esta es la única diferencia entre un modelo de clasificación.

Seis: Trainer

# 训练模型 
historia = model.fit ( 
    x_train_scaled, y_train, 
    validation_data = (x_valid_scaled, y_valid), 
    épocas = 100 , 
    devoluciones de llamada = [ 
        keras.callbacks.EarlyStopping (min_delta = 1e-2, paciencia = 5 ) 
    ] 
)

Siete: Modelo de prueba

1  # de ensayo con modelo 
2 model.evaluate (x_test_scaled, android.permission.FACTOR.)

 resumen:

Como puede verse por el procedimiento anterior, la clasificación procedimiento general y el modelo de regresión son los mismos, sólo un poco diferente cuando el modelo establecido. Esa capa de salida modelo de clasificación que tiene una pluralidad de salida, utilice la función de activación softmax, y la capa de salida único modelo de regresión una salida, ninguna función de activación.

Supongo que te gusta

Origin www.cnblogs.com/renxiansheng/p/12526663.html
Recomendado
Clasificación