首页 > 其他分享 >数据挖掘习题9

数据挖掘习题9

时间:2024-07-11 20:56:58浏览次数:21  
标签:Category data print test 数据挖掘 import 习题 AQI

1.题干

       AQI and Lat Long of Countries.csv数据集的目标是为不同地区的空气质量提供有价值的见解,使研究人员和政策制定者能够就如何解决空气污染问题做出明智的决定。该数据集由两个独立的数据集合并而成,一个包含城市及其相应的经纬度坐标信息,另一个包含世界各国的空气污染水平数据。通过结合这两个数据集,我们现在可以分析和比较各国不同城市的空气质量指数。

       任务要求:读取数据,查看数据集的前10行和基本信息,输出基本统计量,删除只有唯一取值的分类变量,以维度和经度为横纵坐标绘制全世界各城市的空气质量散点图,对分类变量'Ozone AQI Category','PM2.5 AQI Category'进行编码转换,依据经纬度坐标信息通过K-近邻,决策树,随机森林,支持向量机分别进行分类,输出分类报告、准确率得分与混淆矩阵。

2.数据格式

3.代码

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.neighbors import KNeighborsClassifier
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.svm import SVC
from sklearn.metrics import classification_report, accuracy_score, confusion_matrix
from sklearn.preprocessing import LabelEncoder

def printf(n, strf):
    print()
    print('-' * n)
    print(f"\033[1m{strf}\033[0m")
    print()

data = pd.read_csv('dataset/AQI and Lat Long of Countries.csv')

printf(100, '查看数据基本信息')
print(data.info())
printf(100, '查看前10行数据')
print(data.head(10))
printf(100, '输出基本统计量')
print(data.describe())

for col in data.columns:
    if data[col].dtype == 'object':
        if data[col].nunique() == 1:
            data.drop(col, axis=1, inplace=True)

plt.scatter(data['lng'], data['lat'], c=data['AQI Value'], cmap='viridis',s=10)
plt.colorbar(label='AQI Value')
plt.xlabel('Longitude')
plt.ylabel('Latitude')
plt.title('Air Quality Index of Cities Worldwide')
plt.show()

label_encoder = LabelEncoder()
data['Ozone AQI Category'] = label_encoder.fit_transform(data['Ozone AQI Category'])
data['PM2.5 AQI Category'] = label_encoder.fit_transform(data['PM2.5 AQI Category'])

X = data[['lat','lng']]
for c in ['Ozone AQI Category','PM2.5 AQI Category']:
    printf(200, f'分类变量 {c} 的分类报告')
    y = data[c]
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
    # print(y.value_counts())
    scaler = StandardScaler()
    X_train_scaled = scaler.fit_transform(X_train)
    X_test_scaled = scaler.transform(X_test)

    classifiers = {
        'K-Nearest Neighbors': KNeighborsClassifier(),
        'Decision Tree': DecisionTreeClassifier(),
        'Random Forest': RandomForestClassifier(),
        'Support Vector Machine': SVC()
    }
    for clf_name, clf in classifiers.items():
        clf.fit(X_train_scaled, y_train)
        y_pred = clf.predict(X_test_scaled)
        print(f"\n{clf_name}:")
        print(classification_report(y_test, y_pred, zero_division=1))
        print(f"Accuracy Score: {accuracy_score(y_test, y_pred)}")
        cm = confusion_matrix(y_test, y_pred)
        print(f"Confusion Matrix:\n{cm}")

4.后续更新中   

标签:Category,data,print,test,数据挖掘,import,习题,AQI
From: https://blog.csdn.net/2201_75415299/article/details/140359853

相关文章

  • 云计算练习题
    第一题:每周日晚上11点59分需要将/data目录打包压缩到/mnt目录下并以时间命名#crontab-e5923**7/bin/tarczvf/mnt/`date+%F`-data.tar.gz/data5923**7/bin/tarczvf/mnt/`date+%T`.tar.gz/data第二题:查找出系统中/application目录下所有tar.gz的文件并......
  • 【C++修行之道】string类练习题
    目录387.字符串中的第一个唯一字符125.验证回文串 917.仅仅反转字母415.字符串相加(重点)541.反转字符串II387.字符串中的第一个唯一字符字符串中的第一个唯一字符-力扣(LeetCode)给定一个字符串 s ,找到它的第一个不重复的字符,并返回它的索引 。如果不存......
  • Python 数据挖掘
    数据挖掘基础数据挖掘:这种从数据中“淘金”,从大量数据(包括文本)中挖掘出隐含的、未知的、对决策有潜在价值的关系、模式和趋势,并用这些知识和规则建立用于决策支持的模型,提供预测性决策支持的方法、工具和过程,就是数据挖掘;它是利用各种分析工具在大量数据中寻......
  • 衡庐浅析·C语言程序设计·第二章·运算符及其优先级关系(练习题一)
        本文适用于大学的期中期末考试、专升本(专接本、专插本)考试、408等考研预科。如有相关题目疑问或建议欢迎在评论区进行互动。    转载请标明出处。不知道大家有没有消化完第二章的内容。在这里我们将列出一些关于运算符及其优先级关系的课后练习题,方便大家......
  • 浙大数据结构慕课课后习题(02-线性结构2 一元多项式的乘法与加法运算)
    题目要求设计函数分别求两个一元多项式的乘积与和。输入格式:输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:输出分2行,分别以指数递降方式输出乘积多项式以及和多项......
  • 研0 冲刺算法竞赛 day14 P1957 口算练习题
    思路:分别考虑以运算符或数字开头,为运算符,直接读入后面两个数字;为数字,在读入一个数字即可代码:#include<iostream>#include<cstring>#include<cstdio>usingnamespacestd;intmain(){ intN; cin>>N; charc[10],str[55],f; while(N--) { cin>>c; int......
  • [CSAWQual 2019]Web_Unagi XXE漏洞练习题
    题目地址:BUUCTF在线评测这道题就是简单的xxe漏洞的注入。进来之后我们进行一个信息收集,在upload下可以看到有个here的超链接。点进去之后得到了如下的一些信息。可以猜到是需要我们利用文件上传包含xxe漏洞利用来得到flag。<?xmlversion='1.0'?><!DOCTYPEusers[<!ENT......
  • Python——习题练习 part3 函数进阶
    本篇文章记录函数进阶部分的知识点及例题代码。目录六,函数进阶01 函数的多返回值02函数的传参方式 1,位置参数2,关键字参数3,缺省参数4,不定长参数a,位置传递b,关键字传递03lambda匿名函数六,函数进阶01 函数的多返回值#函数的多返回值deftest_return():......
  • 数据挖掘小参考资料推荐
    原文链接博客github目录[判别式模型和生成式模型的区别|知乎](https://zhuanlan.zhihu.com/p/74586507)[Gini系数生成决策树|博客](https://victorzhou.com/blog/gini-impurity/)[一个学数据挖掘的开发者的博客|博客](https://victorzhou.com/page/5/)[信息增......
  • Python——习题练习 part1
     本人于下学期该学习python,在听黑马程序员网课后,在此总结记录我的在课程学习后的习题练习。没有详细的解题过程,仅有代码和注释,如有错误希望大家多多指出。目录一,字符串格式化 二,条件判断01if语句 02ifelse语句 03ifelif组合 04判断语句综合案例 三,循环01......