Este es el artículo 44 sobre el futuro de las máquinas.
Dirección original: https://blog.csdn.net/RobotFutures/article/details/126615267
Directorio de artículos
- 1. Información general
- 2. Cargue el conjunto de datos
- 3. Ver las características de los datos
-
- 3.1 Ver las primeras 5 filas de datos
- 3.2 Ver el valor máximo de cada característica del conjunto de datos
- 3.3 Ver el valor mínimo de cada característica
- 3.4 Ver función media
- 3.5 Ver percentiles característicos
- 3.6 Ver la fluctuación de la distribución de datos característicos
- 3.8 Ver el número de muestras de características
- 3.9 Ver distribución de datos de etiquetas
- 4. Otras funciones científicas de uso común
- 5. Resumen
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.
- Serie de inicio rápido Python Zero Basic
- Serie de ciencia de datos de Python
- serie de construcción de entorno de desarrollo de inteligencia artificial
- Serie de aprendizaje automático
- Serie de inicio rápido de detección de objetos
- Serie de detección automática de objetos de conducción
- …