探索Seaborn数据分析与可视化能力

需积分: 10 1 下载量 94 浏览量 更新于2024-10-13 收藏 4.79MB ZIP 举报
资源摘要信息:"seaborn-data.zip是一个包含了seaborn库的基本数据集的压缩包。seaborn是Python中一个强大的数据可视化库,它是基于matplotlib构建的,旨在提供一个高级界面以绘制吸引人的统计图形。seaborn的数据集通常是用于教学和示例目的,帮助用户快速地理解如何使用seaborn进行数据可视化。 seaborn库的数据集通常包含了用于分析和可视化的典型数据结构,如数据框(pandas DataFrame)形式。这些数据集可以是真实的,也可以是用于演示各种统计关系的合成数据。例如,seaborn数据集包括了鸢尾花数据集(iris)、泰坦尼克号乘客数据集(titanic)、汽车数据集(mpg)、肺功能数据集(lung)、心电图数据集(tips)、行星数据集(planets)等。 在使用seaborn进行数据可视化时,基本步骤通常包括导入必要的库、加载数据集、选择合适的图形类型、定制图形的外观和感觉,最后通过绘图命令来生成图形。seaborn提供了一系列的内置数据集,使得用户无需从外部数据源导入数据,就可以直接开始实验绘图和分析。这些内置数据集也经常作为快速入门的资源,帮助新手理解seaborn的绘图功能。 例如,使用seaborn的内置数据集“iris”可以轻松绘制散点图矩阵(scatterplot matrix),展示不同种类鸢尾花的花瓣长度和宽度之间的关系。这种图表对于探索性数据分析非常有用,可以直观地观察到不同特征之间的关联性和分布情况。 seaborn数据集的加载过程很简单,通常只需要通过seaborn库提供的函数直接加载即可。例如,使用seaborn的load_dataset函数可以直接加载内置数据集,如加载“tips”数据集可以使用如下代码: import seaborn as sns tips = sns.load_dataset('tips') 加载完成后,用户可以利用pandas和seaborn提供的各种方法和函数来对数据进行操作和分析。 seaborn数据集的作用不仅限于教学和示例。在实际的数据分析项目中,它也可以作为一个辅助工具,帮助分析师快速验证数据可视化想法,或是为数据分析工作提供一些现成的数据集参考。然而,对于大型数据分析项目,数据往往需要从外部来源获取并进行清洗和转换,此时seaborn的数据集则更多地起到演示和练习的作用。 总而言之,seaborn-data.zip文件包含的seaborn基本数据集是学习和使用seaborn库不可或缺的资源,它们提供了一种方便的方法来实践数据可视化技巧,并且是理解seaborn功能和概念的极佳起点。"

ValueError Traceback (most recent call last) <ipython-input-64-56a70bbb0400> in <module> 7 plt.title('2020级外国语学院各班级总学时') 8 plt.subplot(222) ----> 9 sns.barplot(x=bj_sp_new_sort1.index,y=bj_sp_new_sort1.学时) 10 plt.xticks(rotation=90) 11 plt.title('2020级食品与工程学院各班级总学时') D:\Users\h\anaconda3\lib\site-packages\seaborn\_decorators.py in inner_f(*args, **kwargs) 44 ) 45 kwargs.update({k: arg for k, arg in zip(sig.parameters, args)}) ---> 46 return f(**kwargs) 47 return inner_f 48 D:\Users\h\anaconda3\lib\site-packages\seaborn\categorical.py in barplot(x, y, hue, data, order, hue_order, estimator, ci, n_boot, units, seed, orient, color, palette, saturation, errcolor, errwidth, capsize, dodge, ax, **kwargs) 3177 ): 3178 -> 3179 plotter = _BarPlotter(x, y, hue, data, order, hue_order, 3180 estimator, ci, n_boot, units, seed, 3181 orient, color, palette, saturation, D:\Users\h\anaconda3\lib\site-packages\seaborn\categorical.py in __init__(self, x, y, hue, data, order, hue_order, estimator, ci, n_boot, units, seed, orient, color, palette, saturation, errcolor, errwidth, capsize, dodge) 1584 self.establish_variables(x, y, hue, data, orient, 1585 order, hue_order, units) -> 1586 self.establish_colors(color, palette, saturation) 1587 self.estimate_statistic(estimator, ci, n_boot, seed) 1588 D:\Users\h\anaconda3\lib\site-packages\seaborn\categorical.py in establish_colors(self, color, palette, saturation) 317 # Determine the gray color to use for the lines framing the plot 318 light_vals = [colorsys.rgb_to_hls(*c)[1] for c in rgb_colors] --> 319 lum = min(light_vals) * .6 320 gray = mpl.colors.rgb2hex((lum, lum, lum)) 321 ValueError: min() arg is an empty sequence

2023-06-10 上传

import pandas as pd from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import accuracy_score, confusion_matrix,classification_report import seaborn as sns import matplotlib.pyplot as plt # 读取数据 data = pd.read_excel('E:/桌面/预测脆弱性/20230523/预测样本/预测样本.xlsx') # 分割训练集和验证集 train_data = data.sample(frac=0.8, random_state=1) test_data = data.drop(train_data.index) # 定义特征变量和目标变量 features = ['高程', '起伏度', '桥梁长', '道路长', '平均坡度', '平均地温', 'T小于0', '相态'] target = '交通风险' # 训练随机森林模型 rf = RandomForestClassifier(n_estimators=100, random_state=1) rf.fit(train_data[features], train_data[target]) # 在验证集上进行预测并计算精度、召回率和F1值等指标 pred = rf.predict(test_data[features]) accuracy = accuracy_score(test_data[target], pred) confusion_mat = confusion_matrix(test_data[target], pred) classification_rep = classification_report(test_data[target], pred) print('Accuracy:', accuracy) print('Confusion matrix:') print(confusion_mat) print('Classification report:') print(classification_rep) # 输出混淆矩阵图片 sns.heatmap(confusion_mat, annot=True, cmap="Blues") plt.show() # 读取新数据文件并预测结果 new_data = pd.read_excel('E:/桌面/预测脆弱性/20230523/预测样本/预测结果/交通风险预测096.xlsx') new_pred = rf.predict(new_data[features]) new_data['交通风险预测结果'] = new_pred new_data.to_excel('E:/桌面/预测脆弱性/20230523/预测样本/预测结果/交通风险预测096结果.xlsx', index=False)修改代码使得显示决策树模型以及多分类的roc曲线和auc值

2023-05-30 上传