机器学习实战——多模型实现预测功能

本文介绍机器学习模型的应用,包括K近邻(KNN)、决策树、随机森林和多层感知器。通过数据准备、模型构建和评估,展示了如何处理数据、构建模型以及防止过拟合。在数据集上,发现最佳的K值为9,决策树的最佳深度为4,而随机森林在训练集上表现良好但测试集上过拟合。经过数据缩放,多层感知器的性能有所提升。
摘要由CSDN通过智能技术生成


前言

大家好✨,这里是bio🦖。

机器学习方法已经应用到日常生活的方方面面。从自动推荐看什么电影、点什么食物、买什么商品,到个性化的在线电台和从照片中识别好友,许多现代化网站和设备的核心都是机器学习算法。

所以这次给大家带来的是机械学习模型的应用,也可以说是实战。如果你是新手这篇文展的代码将有助于你理解机械学习的应用。观看完本文(主要是代码),你将学习到:

1. 如何构建简单机械学习模型 KNN, Random Forest, Decision Tree and Multilayer Perceptron
2. 如何提高模型的表现
3. 如何对数据进行处理以及可视化展现


一、数据准备

1.1 数据下载

数据来自csdn神州数码集团2022年校园技术大赛,提取码:jc58。数据集包括train数据test数据以及参考的预测结果格式。train数据包含User ID Gender Age AnnualSalary Purchased,简单来说就是一个二分类的问题,根据用户的性别、年龄、年收入判断用户是否购买车辆🚗。
在这里插入图片描述

图一,数据集展示图

1.2 数据格式转换

使用pandas读入训练数据,其展示如图二。其中Gender列包括女性和男性,可以将其从字符转换为数字0和1。

import pandas as pd

train_test_data = pd.read_csv('train.csv')
display(train_test_data)

在这里插入图片描述

图二,训练数据展示图

使用如下代码将male和female转换为0和1。

trans_form = train_test_data['Gender']
trans_form = [1 if i == "Male" else 0 for i in trans_form]
train_test_data["Gender"] = trans_form
display(train_test_data)

在这里插入图片描述

图三,训练数据格式转换展示图

1.3 数据拆分

将训练数据拆按照3:1分成训练集和测试集,

from sklearn.model_selection import train_test_split
import numpy as np

# train and test data
X_train, X_test, y_train, y_test = np.array(train_test_split(train_test_data[["Gender","Age","AnnualSalary"]], train_test_data["Purchased"], random_state=0))

图四,拆分后数据集图

二、模型构建

2.1 K近邻

k近邻(K-Nearest Neighbors)算法,也称为KNN或k-NN,是一种非参数的监督学习分类算法,它使用邻近性对单个数据点的分组进行分类或预测。从图五可以看出邻居数小于等于三的情况下,出现了过拟合,随着邻居数目增多&

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bio大恐龙

您的打赏是我前进的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值