Como desenhar um mapa de calor com aprendizado de máquina

Um mapa de calor é uma ferramenta de visualização usada para mostrar a frequência relativa, ou popularidade, de itens em um conjunto de dados. Ajuda os usuários a compreender melhor as principais tendências e padrões no conjunto de dados. Os mapas de calor geralmente representam diferentes itens de dados com diferentes cores ou intensidades e podem ser comparados em diferentes dimensões.

Em um mapa de calor, cada ponto de dados ou item de dados tem uma frequência ou valor de calor correspondente. Diferentes cores ou intensidades podem ser usadas para distinguir diferentes itens de dados, e um mapa de calor pode ser usado para mostrar a frequência relativa ou popularidade de cada item no conjunto de dados. Os mapas de calor são frequentemente usados ​​na visualização e análise exploratória de dados para ajudar as pessoas a compreender melhor os dados e descobrir padrões e tendências.

Tomando o conjunto de dados da íris como exemplo

Primeiro pré-processe o conjunto de dados, depois treine o modelo de regressão logística e, finalmente, imprima os valores previstos.

import pandas as pd
from sklearn.datasets import load_iris
dataset=load_iris()
features = pd.DataFrame(dataset.data,columns=['sepal length (cm)','sepal width (cm)','petal length (cm)','petal width (cm)'])
targets = pd.DataFrame(dataset.target,columns=['target'])
#导入数据拆分方法
from sklearn.model_selection import train_test_split
feature_train,feature_test,target_train,target_test = \
    train_test_split(features,targets,test_size=0.2,random_state=999)#拆分数据集,选20%数据作为测试用,随机系数999
#先打乱,在拆分,覆盖更多情况
from sklearn.linear_model import LogisticRegression
#导入逻辑回归模型
model = LogisticRegression()
#fit(x,y)  x:特征  y:标签
model.fit(feature_train,target_train['target'])
target_predicted = model.predict(feature_test)
print(target_predicted)  #预测结果
print(target_test['target']) #实际结果

Desenhar mapa de calor

from sklearn.metrics import accuracy_score
from sklearn.metrics import confusion_matrix
import matplotlib.pyplot as plt
import seaborn as sns

#计算准确率
accuracy = accuracy_score(target_test, target_predicted)
print("精确度:", accuracy)
#计算混淆矩阵
conMat = confusion_matrix(target_test, target_predicted)
print("混淆矩阵:", conMat)

# 利用热力图对于结果进行可视化
plt.figure(figsize=(8, 6))
sns.heatmap(conMat, annot=True, cmap='Blues')
plt.xlabel('Predicted labels')
plt.ylabel('True labels')
plt.show()

O resultado após a execução é o seguinte:

 

おすすめ

転載: blog.csdn.net/qq_52550035/article/details/130443681