机器学习-分类聚类预测系统

这是机器学习课程的一个课设,具体的课设要求如下:

1.熟悉机器学习的完整流程,包括:问题建模,获取数据,特征工程,模型训练,模型调优,线上运行;或者分为三大块:数据准备与预处理,模型选择与训练,模型验证与参数调优。
2.绘制机器学习算法分类归纳思维导图,按照有监督学习、无监督学习、半监督学习和强化学习进行绘制,对学过的算法进行归纳总结。
3.自行选择学习任务,按照机器学习流程,分别设计分类、预测、聚类系统,每个系统务必选择不同的算法进行训练,采用多种方法进行模型验证与参数调优,选择适合的多个指标对模型进行评估,采用可视化方法对结果进行分析。
(1)分类算法:
k-近邻算法、贝叶斯分类器、决策树分类、BP神经网络、AdaBoost、GBDT、随机森林、逻辑回归等
(2)预测:贝叶斯网络、马尔科夫模型、线性回归、XGBoost、岭回归、多项式回归、决策树回归、深度神经网络预测
(3)聚类:K-means、层次聚类BIRCH、密度聚类DBSCAN算法、高斯混合聚类GMM、密度聚类的OPTICS算法、基于网格的聚类(STING、CLIQUE)、Mean Shift聚类算法
其中:蓝色标注的算法要求必须在问题中使用,红色标注的为选用(至少选一种,多选加分),黑色的可不用,如用则有加分
4.要求
(1)所选用算法可直接调用Python中的相关库函数实现,但要对其源码进行分析,厘清算法结构及各部分功能。也可自行编写相关算法,并与库函数进行对比实验
(2)数据集的选择要分为小数据集、中等规模数据集、大规模数据集,数据集类型应有结构化、半结构化以及非结构化数据集。
(3)同一类算法中要实现各个算法在不同数据集、不同指标的比较
(4)算法设计中要有较详细的注释说明,对每个模块给出详细解释、功能注释等

首先需要下载相关的python库:sklearn库 (这是最主要的库,里面包含了机器学习所涉及的很多算法)matplotlib库(主要是用来画图,实现可视化)、numpy库、pandas库等等

1.测试集、训练集的划分:

from sklearn.model_selection import train_test_split
import pandas as pd
import numpy as np

def readData(FileName,usecols1,usecols2):
    #读取数据
    data=pd.read_excel(FileName,usecols=usecols1)#特征数据
    kinds=pd.read_excel(FileName,usecols=usecols2) #类别数据
    #数据类型处理
    data=np.array(data)
    kinds=np.array(kinds)
    k=[ ]
    for i in kinds:
        k.extend(i)
    kinds=np.array(k)
    return data,kinds

data,kinds=readData("iris.xlsx",[1,2,3,4],[6])#这里的鸢尾花数据是以excel表存储的,也可以直接调用sklearn库里的数据集
train_x,test_x,train_y, test_y = train_test_split(data,kinds, test_size=0.3)#划分训练集和测试集

2.分类算法:

首先构建分类算法模型,之后用训练集去训练模型,然后用测试集去测试训练好的模型的性能,以k-近邻算法为例:

from sklearn import  neighbors

#构建KNN模型
n_neighborts=15
weights="distance"
knn_clf =neighbors.KNeighborsClassifier(n_neighborts , weights=weights)

#训练模型
knn_clf.fit(train_x,train_y)

#测试模型
knn_pred=knn_clf.predict(test_x)
#print(knn_pre)

# 评估模型
print("模型精度:{:.2f}".format(np.mean(knn_pred==test_y)))
print("模型精度:{:.2f}".format(knn_clf.score(test_x,test_y)))

当然还可以使用其他的分类算法:

  • 5
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值