【问题标题】:sns.pairplot returns bad results for Kmeans cluster visualizationssns.pairplot 为 Kmeans 集群可视化返回错误的结果
【发布时间】:2021-02-20 06:14:17
【问题描述】:
#import libraries
import pandas as pd
import numpy as np
import random as rd
import matplotlib.pyplot as plt
import seaborn as sns

data = pd.read_csv('C:/Users/yehya/Desktop/cmps276/forestfires.csv')
data = pd.get_dummies(data)

#Visualise data points

sns.pairplot(data)
sns.plt.show()
#plt.show()

我正在尝试使用 sns.pairplot 运行一个简单的散点图,我的最终目标是在我的数据上应用 Kmeans 集群。但我想可视化我的数据。在应用任何我想使用散点图的东西之前。使用上面的代码,我得到的结果是这些。数据由 13 列和大约 450 行组成。我是这些数据操作算法和可视化的新手,我不确定我是否以正确的方式处理这个问题。什么是可视化我的数据的更好方法?目标列是区域。我会留下一个数据集的链接,可以在 Kaggle https://www.kaggle.com/elikplim/forest-fires-data-set, forestfire 上找到。帮助将不胜感激,谢谢

【问题讨论】:

    标签: python seaborn cluster-analysis k-means


    【解决方案1】:

    您的某些列是分类的,尽管您对它们进行了一次性编码,但使用散点图绘制它们并没有多大意义:

    import pandas as pd
    import numpy as np
    import seaborn as sns
    
    data = pd.read_csv('./forestfires.csv')
    data.dtypes
    
    X          int64
    Y          int64
    month     object
    day       object
    FFMC     float64
    DMC      float64
    DC       float64
    ISI      float64
    temp     float64
    RH         int64
    wind     float64
    rain     float64
    area     float64
    dtype: object
    

    如果你先绘制数值列,就可以了:

    num_cols = data.select_dtypes('number').columns.to_list()
    
    num_cols
    ['X', 'Y', 'FFMC', 'DMC', 'DC', 'ISI', 'temp', 'RH', 'wind', 'rain', 'area']
    
    sns.pairplot(data[num_cols])
    

    您可以使用the seaborn documentation 中显示的图来可视化分类值。

    【讨论】:

      猜你喜欢
      • 2019-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-18
      • 2023-01-17
      • 1970-01-01
      • 2014-04-18
      • 1970-01-01
      相关资源
      最近更新 更多