📚 Machine Learning Algorithms

There are 6 ML homeworks.

第一次作业: 基础分类算法

Due: 2025-02-26 closed
Upload Link: 英雄请明年再来

Exercise Requirements

  1. 使用KNN对红酒数据进行分类(wine)。
  2. 使用决策树对鸾尾花数据进行分类(iris)。
  3. 使用朴素贝叶斯分类器来过滤垃圾邮件。
    • 数据获取链接:https://archive.ics.uci.edu/dataset/94/spambase
  4. 使用朴素贝叶斯分类器将电影评论分类为正面或负面。
    • 数据获取链接:https://www.kaggle.com/c/sentiment-analysis-on-movie-reviews

第二次作业:SVM分类算法

Due: 2025-04-08 closed
Upload Link: 英雄请明年再来

Exercise Requirements

  1. 使用SVM对鸾尾花数据(iris)进行分类。
  2. 使用SVM对心脏病数据(heart.csv)进行分类。

第三次作业:综合实战

Due: 2025-04-25 closed
Upload Link: 英雄请明年再来

Exercise Requirements

  1. 综合实战一:科学吃鸡
    • 查看并处理缺失值
    • 数据集内存压缩
    • 异常数据处理
    • 计算是否具有吃鸡特性
    • 寻找吃鸡概率最高的队友
    • 射击距离与抢的选择
    • 移动距离与吃鸡的分布
  2. 综合实战二:理性消费
    • 查看并处理缺失值
    • 数据集内存压缩
    • 异常数据处理
    • 分析每个人的消费情况
    • 性别与婚姻状况的分布与购买
    • 年龄和产品购买信息挖掘
    • 产品销售情况分析
    • 城市与购买力之间的分析
    • 相同产品在不同城市的购买力分析

第四次作业:回归分析

Due: 2025-05-08 closed
Upload Link: 英雄请明年再来

Exercise Requirements

  1. 基于逻辑回归预测患疝气病马匹的生死

第五次作业:集成学习

Due: 2025-05-25 active

Exercise Requirements

  1. 用集成学习方法检测信用卡欺诈

第六次作业:深度学习

Due: 2025-05-30 active

Exercise Requirements

  1. 用深度神经网络对MNIST手写数字识别
    • 数据获取链接:MNIST

📚 Spatial Data Mining

There are 6 DM homeworks.

第一次作业: NumPy基础操作

Due: 2025-03-10 closed
Upload Link: 英雄请明年再来

Exercise Requirements

  1. 创建数组[0 1 2 3 4 5 6 7 8 9],并将该数组中的奇数全部都替换成-1。
  2. 创建一个4行4列的随机数组,并取出该数组的对角线上所有的元素形成一个一维数组。
  3. 取出数组[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15]中大于等于5并小于等于10的元素作为一维数组返回。
  4. 将数组 a = np.random.rand(3,5)b = np.random.rand(6,4) 叠加在一起,其中ab的上面,并且在b的第2列(下标从0开始)新增一列,用0来填充。
  5. 创建一个4行6列的随机数组,并取出该数组第1,2,4列上的所有元素。
  6. 创建一个8行9列的随机数组,并取出该数组第1-5行(包括第5行)的第8列内大于的所有大于3的元素。
  7. 创建一个8行9列的随机数组,按如下要求分别取出该数组中的元素:
    • 取出第1行和第3行的数据
    • 取出第1行到第3行的数据
    • 取出前4列的数据
    • 取出该数组的(0, 0)、(1, 2)、(3, 5)位置上的元素值

第二次作业:NumPy切片 & Pandas操作

Due: 2025-04-25 closed
Upload Link: 英雄请明年再来

Exercise Requirements

  1. 创建一个所有值都是False的布尔型数组(shape自定义)。
  2. 对数组data1 = np.arange (10)进行形状转换(转换后的shape自定义)。
  3. 将数组data2 = np.random.randint(0, 10 , size=(4, 5))中所有偶数都替换成0(改变原来数组和不改变原来数组两种方式实现)。
  4. 将二维数组data3 = np.arange(24).reshape(4, 6)的行和列分别进行逆向(即,反转行,反转列)。
  5. 求数组data4 = np.arange(16)中大于等于5并且小于等于10的元素。
  6. 获取数组data5 = np.random.randint(0, 20, size=(4, 5))中每个元素值出现的次数的排行。
  7. 找到数组data6 = np.random.randint(0, 20, size=(4, 5))中每行的最大值。
  8. 求数组data7 = np.random.randint(0, 20, size=(4, 5))中每行最小值与最大值相除的结果。
  9. 判断下面两个数组是否完全相等。
    • 数组1: data8 = np.random.randint(0, 20, size=(4, 5))
    • 数组2: data9 = np.random.randint(0, 20, size=(4, 5))
  10. 创建一个包含10个元素的1维数组,元素值是0到1之间的随机数(不包含0和1)。
  11. 完成下列关于Series的练习
    1. 用下表中数据创建Series对象(对象名为“score”,索引名为class)
    2. 查看1-5班的数据
    3. 查看哪个班级的平均成绩还没有录入
    4. 获取全年级的平均成绩(空值做0分处理)
    5. 由于参考答案有误,现在要给每位同学的成绩加上2分
    6. 找出平均成绩在90分以上的班级
  1 2 3 4 5 6 7 8 9 10 11 12
class 90 95 85 78 NAN 96 97 NAN 80 87 86 83
  1. 完成下列关于DataFrame的练习
    1. 根据下表创建DataFrame对象(列表和字典各用一种实现)
    2. 对创建的DataFrame进行转置
    3. 由于体育老师生病,导致大家的体育成绩没有录入,请删除改列数据
    4. 学校发现遗漏了“科学”课的成绩,请为学生添加“科学”成绩。学生的成绩为(97,87,78,76,84,88,91)
  姓名 语文 数学 英语 体育
1 张三 89 59 84 0
2 李四 78 83 97 0
3 王五 79 85 88 0
4 小明 89 92 83 0
5 小红 90 67 67 0
6 小刚 87 81 73 0
7 小亮 83 77 71 0
  1. 用pandas读取lianjia.csv,完成下列操作
    1. 观察结构,调整列索引顺序(Region, Garden, Layout, Floor, ID, Year, Size, Elevator, Direction, Renovation, Price)
    2. 增加一列关于目前状况(状况:state,可以使用1代表售出,0代表未售出)
    3. 删除ID这一列无用的数据
    4. 查找楼层(floor)小于7的所有房屋
    5. 修改楼层小于7的房源的电梯状态,统一改成无电梯,反之就设为有电梯

第三次作业:数据可视化

Due: 2025-04-30 closed
Upload Link: 英雄请明年再来

Exercise Requirements

  1. 折线图练习
    1. 读取长沙市某年5月份的气温数据(changsha.csv),按照时间顺序绘制成折线图
    2. “highest”为当天最高气温,”lowest”为当天最低气温
    3. 使用圆点表示数据点
    4. x轴是是时间,y轴是温度,要求图中有具体刻度
    5. x轴的标题是”时间(天)”,y轴的标题是”气温(摄氏度)“
    6. 图标题是”长沙5月份气温走势“图
  2. 柱状图练习
    1. 读取三类学校(普通本科、中等职业教育、普通高中)2014-2018年间的招生数据(enrollment.csv),绘制柱状图。
    2. x轴是年份,y轴是当年的招生人数(万人)。
    3. 按年份进行分组绘制,同一年份的放在一个组。
    4. 要求绘制图例,图例横向排列(提示:使用legend的ncol参数,具体用法自行查Matplotlib官网)
    5. 图标题是”2014-2018普通本科、中等职业教育、普通高中招生人数“
  3. 直方图练习
    1. 读取scores.csv,绘制直方图。
    2. 读取csv文件之后生成DataFrame对象。
    3. 绘制其中历史成绩(“history”)的直方图。
    4. 标记x轴的坐标。
    5. 每个柱面上方显示处于该区间内成绩数量。
    6. 图标题是”x班历史成绩直方图“。
  4. 散点图练习
    1. 分别读取4个城市的二手车数据(bj.csvsh.csvgz.csvsz.csv),将其归档到同一个DataFrame中。
    2. 计算车辆的使用年份和保值率,并在DataFrame新增对应的字段存储数据。
    3. 使用年份=当前时间-购买时间
    4. 保值率=二手车价格 / 新车价格
    5. 绘制使用年份与保值率的散点图,观察并简单分析其分布特征。
    6. 绘制行驶距离与保值率的散点图,观察并简单分析其分布特征。
  5. 饼图练习
    1. 将下边的数据绘制成饼图。
    2. 设置阴影效果
    3. 将Chrome对应分块从饼图中分离出来,距离设为0.05。
    4. 设置显示分块占比信息,保留两位小数。
    5. 占比信息以白色文字显示,分块名以黑色文字显示。
    6. 将Edge和Safari的占比的字体大小设置为10,其余为12.
Chrome Internet Explorer FireFox Edge Safari 其他浏览器
0.6098 0.1218 0.1147 0.0415 0.0372 0.075
  1. 箱线图练习
    1. 读取“scores.csv”中的数据绘制成箱线图。
    2. 同一张图上每个科成绩对应一个箱线。
    3. 观察所绘制的箱线图,简单分析一下。

第四次作业:关联规则挖掘

Due: 2025-05-08 closed
Upload Link: 英雄请明年再来

Exercise Requirements

  1. 假设我们有一份订单数据(menu_orders.xls),请选择合适的方法对该份数据进行关联规则挖掘。
  2. 假设我们有一份个人收入数据(Income.csv),请选择合适的方法对该份数据进行关联规则挖掘,并对规则进行解读。

第五次作业:距离测算

Due: 2025-05-15 closed
Upload Link: 英雄请明年再来

Exercise Requirements

  1. 假设我们有一份红酒13特征维度的数据(wine.zip),请选择合适距离或相似度计算方法考察数据的相似性。
  2. 假设我们有四篇文章的关键词词频统计数据(documents.csv),请这四篇文章之间的相似程度与距离。
  3. 假设我们有一组健康成年人的检查数据(health.csv),记录24位成年人的体重wt(kg)与双肾脏总体积volume(ml)。请探讨健康成年人的体重与双肾体积是否有关。
  4. 假设我们有一份婚姻状况的调查数据(Marriage.csv),记录一组app的ID(User_ID),性别(Gender)、年龄(Age)与婚姻状况(Marital_Status)。请通过该份数据探讨性别与婚姻是否存在相关性。

第六次作业:综合实战

Due: 2025-05-30 active

Exercise Requirements

  1. 综合实战一:airbnb挖掘
    • 数据类型转换
    • 分别针对“定价数据”、“评论数据”、“空间数据”、“入住数据”进行相关统计
    • 异常数据处理
    • 特征抽取、预处理、选择
    • 对“评论数”、“价格”、“评论数”预测
    • 相关结果可视化