Ensayo sobre la creación de simios | [Serie de inicio rápido sobre ciencia de datos de Python | 05] Funciones informáticas científicas comunes

Este es el artículo 44 sobre el futuro de las máquinas.

Dirección original: https://blog.csdn.net/RobotFutures/article/details/126615267

1. Información general

Este artículo toma el preprocesamiento de datos de iris como ejemplo para describir un ejemplo del uso de la computación científica en el aprendizaje automático.

2. Cargue el conjunto de datos

Tome el conjunto de datos del iris como ejemplo.
El conjunto de datos del iris tiene 4 características y 1 etiqueta. Las características son sepal_length, sepal_width, petal_length y petal_width, que son la longitud del sépalo, el ancho del sépalo, la longitud del pétalo y el ancho del pétalo, respectivamente. La etiqueta es la clasificación del iris, 0, 1 , y 2 respectivamente Representa Setosa, Versicolor, Virginical

import numpy as np

data = []
with open(file='iris.txt',mode='r') as f:
    f.readline()
    while True:
        line = f.readline()
        if line:
            data.append(line.strip().split(','))
        else:
            break

data = np.array(data,dtype=float)

# 使用切片提取前4列数据作为特征数据
X_data = data[:, :4]  # 或者 X_data = data[:, :-1]

# 使用切片提取最后1列数据作为标签数据
y_data = data[:, -1]

data.shape, X_data.shape, y_data.shape
((150, 5), (150, 4), (150,))

3. Ver las características de los datos

3.1 Ver las primeras 5 filas de datos

X_data[0:5], y_data[0:5]
(array([[5.1, 3.5, 1.4, 0.2],
        [4.9, 3. , 1.4, 0.2],
        [4.7, 3.2, 1.3, 0.2],
        [4.6, 3.1, 1.5, 0.2],
        [5. , 3.6, 1.4, 0.2]]),
 array([0., 0., 0., 0., 0.]))

3.2 Ver el valor máximo de cada característica del conjunto de datos

# axis = 0指定X轴,取每列的最大值
np.max(X_data, axis=0)
array([7.9, 4.4, 6.9, 2.5])

El valor anterior es el valor máximo de cada característica. El valor máximo de la longitud del cáliz del conjunto de datos es 7.9, el valor máximo del ancho del cáliz es 4.4, el valor máximo de la longitud del pétalo es 6.9 y el valor máximo de la ancho de pétalo es 2.5

Si se elimina el parámetro del eje, se tomará el valor máximo de todos los datos del conjunto de datos y se integrará el valor máximo de todas las columnas.

np.max(X_data)
7.9

3.3 Ver el valor mínimo de cada característica

np.min(X_data, axis=0)
array([4.3, 2. , 1. , 0.1])

El valor anterior es el valor mínimo de cada característica. El valor mínimo de la longitud del cáliz del conjunto de datos es 4.3, el valor mínimo del ancho del cáliz es 2, el valor mínimo de la longitud del pétalo es 1 y el valor mínimo de la ancho de pétalo es 0.1

3.4 Ver función media

np.mean(X_data, axis=0)
array([5.84333333, 3.05733333, 3.758     , 1.19933333])

3.5 Ver percentiles característicos

El percentil es una medida utilizada en estadística que representa el porcentaje de la población que tiene un tamaño de muestra de observaciones que son más pequeñas que este valor.

# 25%
np.percentile(X_data, 0.25, axis=0)
array([4.33725, 2.0745 , 1.03725, 0.1    ])
# 50%
np.percentile(X_data, 0.50, axis=0)
array([4.3745, 2.149 , 1.0745, 0.1   ])
# 75%
np.percentile(X_data, 0.75, axis=0)
array([4.4    , 2.2    , 1.11175, 0.1    ])

3.6 Ver la fluctuación de la distribución de datos característicos

np.std(X_data, axis=0)
array([0.82530129, 0.43441097, 1.75940407, 0.75969263])

A partir de la desviación estándar, se puede ver que la desviación estándar del ancho característico del sépalo es 0,43441097, la fluctuación de datos es la más pequeña, y la desviación estándar de la longitud del pétalo es 1,75940407, la fluctuación de datos es la más grande.

3.8 Ver el número de muestras de características

X_data.shape
(150, 4)

Se puede ver que el número de muestras es 150, y cada muestra tiene 4 características

3.9 Ver distribución de datos de etiquetas

La identificación única y el número correspondiente de muestras se obtienen a través de np.unique y luego se convierten en un diccionario a través de zip y dict.

unique, count = np.unique(y_data, return_counts=True)
label_count = dict(zip(unique, count))
label_count
{0.0: 50, 1.0: 50, 2.0: 50}

Se puede ver que las etiquetas están balanceadas y el número de muestras para cada categoría es 50.

4. Otras funciones científicas de uso común

función ilustrar Ejemplo
suma np buscar acumulación np.sum((y_pred - y_data)**2)
np.exp Función exponencial a la base de la constante natural e np.exp**2
np.var Encuentre la varianza np.var(X_datos, eje=0)
np.redondo redondeo np.round(np.var(X_data, eje=0), decimales=2)
np.cuadrado cuadrado np.cuadrado(X_datos)
np.abs encontrar el valor absoluto np.abs([1, -1, -7.9, 6])
np.argmax Encuentre el índice de posición del valor máximo np.argmax(X_datos, eje=0)
por ejemplo, argmin Encuentre el índice de posición del valor mínimo np.argmin(X_datos, eje=0)

5. Resumen

Lo anterior es una breve introducción a las funciones científicas numpy, y se describirán más API en el futuro.

Escribe al final:

  • Introducción al blog: ¡Concéntrese en el campo AIoT, siga el pulso de la era futura y registre el crecimiento tecnológico en el camino!
  • Introducción a la columna: domine las bibliotecas comunes de ciencia de datos Numpy, Matploblib y Pandas de 0 a 1.
  • Audiencia objetivo: estudiantes primarios de IA
  • Plan de columnas: a continuación, publicaremos gradualmente una serie de publicaciones de blog que se adentran en la inteligencia artificial, así que estad atentos.

Supongo que te gusta

Origin blog.csdn.net/RobotFutures/article/details/126615267
Recomendado
Clasificación