Aprendizaje extendido de la biblioteca de análisis de datos

01 Prefacio

Además de los "tres artefactos" del análisis de datos de python mencionados anteriormente, también necesita modelar, predecir, evaluar y visualizar más datos. Si desea hacerlo de una vez por todas, debe seguir aprendiendo algunos más útiles. La biblioteca de análisis de datos se presentará una por una a continuación.

02 Uso de bibliotecas derivadas

nacido en el mar

Seaborn es una biblioteca de visualización de Python basada en matplotlib, que proporciona una interfaz avanzada para realizar varios gráficos estadísticos. Seaborn se puede utilizar para visualizar la distribución de conjuntos de datos estadísticos, datos matriciales, modelos de regresión, etc.

Funciones comunes:

sns.distplot(): Dibuje un diagrama de distribución univariada

import seaborn as sns
import numpy as np

# 生成一组随机数据
x = np.random.normal(loc=0, scale=1, size=1000)

# 绘制单变量分布图
sns.distplot(x, kde=True, rug=True, bins=20)

Explicación: En este ejemplo, usamos numpy para generar un conjunto de datos distribuidos normalmente con una media de 0 y una desviación estándar de 1, y usamos la distplot()función para dibujar su gráfico de distribución univariado.

Entre ellos, el parámetro kde especifica si dibujar un mapa de estimación de la densidad del núcleo, el parámetro rug especifica si dibujar una línea a pequeña escala y el parámetro bins especifica el número de histogramas.

sns.jointplot(): trazar la distribución bivariada

import seaborn as sns
import numpy as np

# 生成两组相关随机数据
x = np.random.normal(loc=0, scale=1, size=1000)
y = 0.5 * x + np.random.normal(loc=0, scale=0.5, size=1000)

# 绘制双变量分布图
sns.jointplot(x=x, y=y, kind='scatter')

Explicación: En este ejemplo, usamos numpy para generar dos conjuntos de datos aleatorios correlacionados y usamos la función jointplot() para trazar su distribución bivariada.

Entre ellos, el parámetro kind especifica el tipo de gráfico a dibujar, y aquí se selecciona el diagrama de dispersión.

sns.pairplot(): graficar una distribución multivariante

import seaborn as sns
import pandas as pd

# 加载鸢尾花数据集
iris = sns.load_dataset('iris')

# 绘制多变量分布图
sns.pairplot(data=iris, hue='species')

Explicación: En este ejemplo, usamos el conjunto de datos de iris incorporado de seaborn y usamos la función pairplot() para dibujar sus gráficos de distribución multivariados.

Entre ellos, el parámetro hue especifica la variable utilizada para distinguir diferentes categorías.

sns.boxplot(): dibujar un diagrama de caja

import seaborn as sns
import pandas as pd

# 加载鸢尾花数据集
iris = sns.load_dataset('iris')

# 绘制箱线图
sns.boxplot(data=iris, x='species', y='petal_length')

sns.heatmap(): Dibuja un mapa de calor

Un mapa de calor es un gráfico bidimensional que a menudo se usa para representar la magnitud relativa de cada valor en una matriz. En el análisis y la visualización de datos, los mapas de calor se utilizan a menudo para explorarCorrelaciones entre variables o para visualizar datos matriciales

Aquí hay un ejemplo de cómo dibujar un mapa de calor usando la biblioteca Seaborn:

import seaborn as sns
import numpy as np

# 创建一个3x3的矩阵
data = np.random.randn(3, 3)

# 绘制热力图
sns.heatmap(data, annot=True, cmap='coolwarm')

Explicación: En este ejemplo, usamos la biblioteca Numpy para generar una matriz de 3x3 y usamos la función heatmap() en la biblioteca Seaborn para dibujar un mapa de calor de la matriz.

Entre ellos, el parámetro annot=True indica mostrar el valor de cada celda en el mapa de calor, y el parámetro cmap='coolwarm' especifica el mapeo de colores.

Además de generar mapas de calor usando datos aleatorios, también podemos dibujar mapas de calor usando conjuntos de datos reales. Por ejemplo, use el conjunto de datos de vuelos que viene con la biblioteca Seaborn para dibujar un mapa de calor de la cantidad de pasajeros entre meses y años:


import seaborn as sns

# 加载数据集
flights = sns.load_dataset('flights')

# 将数据集重塑为矩阵形式
data = flights.pivot('month', 'year', 'passengers')

# 绘制热力图
sns.heatmap(data, cmap='YlGnBu')

Explicación: En este ejemplo, usamos el conjunto de datos de vuelos que viene con la biblioteca Seaborn y usamos la función pivot() para remodelarlo en forma de matriz, donde la fila representa el mes, la columna representa el año y el valor del La celda representa el mes y el año del número de pasajeros. Luego, dibujamos un mapa de calor de esta matriz usando la función heatmap() y especificamos el mapa de colores usando el parámetro cmap='YlGnBu'.

Scikit-aprender

Scikit-learn es una biblioteca de Python para el aprendizaje automático que incluye varios algoritmos de clasificación, regresión y agrupación. Proporciona una interfaz simple y consistente que hace que entrenar y evaluar modelos sea muy fácil.

Funciones comunes:

sklearn.model_selection.train_test_split(): dividir el conjunto de datos en conjunto de entrenamiento y conjunto de prueba

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split

# 加载数据集
iris = load_iris()
X, y = iris.data, iris.target

# 将数据集拆分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

Explicación: En este ejemplo, usamos el conjunto de datos de iris incorporado de sklearn y usamos la función train_test_split() para dividirlo en un conjunto de entrenamiento y un conjunto de prueba.

Entre ellos, el parámetro test_size especifica la proporción del conjunto de prueba y el parámetro random_state especifica la semilla del generador de números aleatorios.

sklearn.linear_model.LinearRegression(): Modelo de regresión lineal

from sklearn.datasets import load_boston
from sklearn.linear_model import LinearRegression

# 加载数据集
boston = load_boston()
X, y = boston.data, boston.target

# 训练线性回归模型
model = LinearRegression()
model.fit(X, y)

# 输出模型参数
print('Intercept:', model.intercept_)
print('Coefficients:', model.coef_)

Explicación: En este ejemplo, usamos el conjunto de datos de precios de la vivienda de Boston incorporado de sklearn y usamos la función LinearRegression() para entrenar un modelo de regresión lineal. Luego, generamos la intersección y los coeficientes del modelo.
sklearn.tree.DecisionTreeClassifier(): Modelo de clasificación del árbol de decisión

from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier

# 加载数据集
iris = load_iris()
X, y = iris.data, iris.target

# 训练决策树分类器
model = DecisionTreeClassifier()
model.fit(X, y)

# 输出模型在训练集上的准确率
print('Accuracy:', model.score(X, y))

Explicación: En este ejemplo, usamos el conjunto de datos de iris incorporado de sklearn y usamos DecisionTreeClassifier()la función para entrenar un clasificador de árbol de decisión. Luego, mostramos la precisión del modelo en el conjunto de entrenamiento.

sklearn.cluster.KMeans(): Modelo de agrupamiento de K-Means

from sklearn.datasets import make_blobs
from sklearn.cluster import KMeans

# 生成一组随机数据
X, y = make_blobs(n_samples=1000, centers=4, random_state=42)

# 使用K均值聚类算法进行聚类
model = KMeans(n_clusters=4)
model.fit(X)

# 输出聚类结果
print('Cluster labels:', model.labels_)

Explicación: En este ejemplo, usamos la función integrada make_blobs() de sklearn para generar un conjunto de datos aleatorios y usamos la función KMeans() para realizar el agrupamiento de K-means. Luego, mostramos los resultados de la agrupación.

sklearn.metrics.accuracy_score(): Calcular la precisión de clasificación

from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score

# 加载数据集
iris = load_iris()
X, y = iris.data, iris.target

# 训练决策树分类器
model = DecisionTreeClassifier()
model.fit(X, y)

# 预测
y_pred = model.predict(X)

# 输出准确率
print('Accuracy:', accuracy_score(y, y_pred))

Explicación: En este ejemplo, usamos el conjunto de datos de iris incorporado de sklearn y usamos DecisionTreeClassifier()la función para entrenar un clasificador de árbol de decisión. Después de hacer predicciones, mostramos la precisión del modelo en el conjunto de entrenamiento.

Modelos de estado

Statsmodels es una biblioteca de Python para el modelado estadístico que proporciona una variedad de modelos estadísticos y herramientas de exploración de datos. Los modelos estadísticos se pueden utilizar para análisis de regresión, análisis de series temporales, estimación no paramétrica, etc.

Funciones comunes:

sm.OLS(): regresión lineal de mínimos cuadrados
sm.Logit(): modelo de regresión logística
sm.GLM(): modelo lineal generalizado
sm.tsa.ARIMA(): modelo de promedio móvil integrado autorregresivo
sm.stats.anova_lm() : Análisis de varianza
sm.graphics.plot_regress_exog(): Dibujar gráfico de ajuste de regresión lineal
sm.qqplot(): Dibujar gráfico QQ
sm.tsa.seasonal_decompose(): Descomposición estacional
sm.stats.ttest_ind(): Prueba t de muestra independiente
sm .stats. ttest_rel(): prueba t de muestra emparejada
sm.stats.proportions_ztest(): prueba de proporción de distribución binomial
sm.nonparametric.Kendalltau(): coeficiente de correlación de Kendall Tau
sm.nonparametric.Kruskal(): prueba de suma de rangos de Kruskal-Wallis
sm.regresión. mixed_linear_model.MixedLM(): Modelo lineal mixto
sm.stats.DescrStatsW(): Análisis estadístico descriptivo

Debido a que el análisis de regresión lineal no se usa comúnmente aquí, no daré demasiados ejemplos aquí.

Supongo que te gusta

Origin blog.csdn.net/qq_54015136/article/details/129527670
Recomendado
Clasificación