【机器学习】基于KAN的王者荣耀账号价格预测

摘要:本文通过分析王者荣耀账号交易数据,构建并优化了多个机器学习模型,特别是引入了先进的知识增强网络(KAN)模型,以提高账号价格预测的准确性。同时,开发了基于PyQt5的界面,使得预测过程更加直观和便捷。通过本文你可以学习到,如何搭建一个回归模型,预测、保存模型、结果分析。

file

1 数据清洗

1.1 数据读取与信息查看

导入所需要的模块

import pandas as pd
from sklearn import datasets
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn import metrics
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False		# 显示负号
import warnings
import joblib # 用来保存模型
warnings.filterwarnings("ignore") # 忽略警告

读取数据

data=pd.read_csv("data.csv")
data.describe()

file

信息介绍:

标题:用户所填写的标题内容

价格:账号价格,也是我们搭建回归模型要进行预测的内容。

系统版本:安卓版、苹果版

账号类型:QQ、微信

服务器服务区:全区全服、或者指定区

发布时间:用户所发布账号的时间

段位:无、青铜、铂金…、王者等等

二次实名:是否可以二次实名

贵族等级:V0-V10

皮肤数量:皮肤个数

防成迷限制:是否有防成迷限制

删除没有用的信息,其中标题、发布时间显然没有用,标题为其内容的整合,并无重要作用,发布时间也感觉大概率没有用。

data=data.drop("标题",axis=1)
data=data.drop("发布时间",axis=1)
data
1.2 数据映射

由于模型所接受的输入为数字,因此我们需要将文本映射为对应的数字。

将价格贵族等级、皮肤数量进行映射

data['价格'] = data['价格'].str.replace('¥', '').astype(float)
data['贵族等级'] = data['贵族等级'].str.replace('V', '')
data['贵族等级'] = pd.to_numeric(data['贵族等级'], errors='coerce')
data['贵族等级'].fillna(0, inplace=True)
data['皮肤数量'] = pd.to_numeric(data['皮肤数量'], errors='coerce')
data['皮肤数量'].fillna(0, inplace=True)

对文本进行映射,使用map函数和lambda表达式进行映射

data['系统版本'] = data['系统版本'].map({
   '安卓版': 1, '苹果版': 0})
data['账号类型'] = data['账号类型'].map({
   'QQ': 1, '微信': 0})
data['二次实名'] = data['二次实名'].map({
   '可二次': 1, '不可二次': 0})
data['防沉迷限制'] = data['防沉迷限制'].map({
   '无防沉迷': 1, '有防沉迷': 0})
data['服务区'] = data['服务区'].apply(lambda x: 1 if x == '全区' else 0)
data['服务器'] = data['服务器'].apply(lambda x: 1 if x == '全服' else 0)
data

采用同样的方式对段位进行映射,构建映射字典

rank_map={
   "未知":0,"暂无段位":0,"无":0,'看商品描述':0,
          "倔强青铜":1,
          "秩序白银":2,"白银":2,
          "荣耀黄金I":3,"荣耀黄金II":3,"荣耀黄金III":3,"荣耀黄金IV":3,"黄金":3,"荣耀黄金":3,
          "尊贵铂金I":4,"尊贵铂金II":4,"尊贵铂金III":4,"尊贵铂金IV":4,"铂金":4,"尊贵铂金":4,
          "永恒钻石":5,"永恒钻石I":5,"永恒钻石III":5,"永恒钻石II":5,"永恒钻石V":5,"永恒钻石IV":5,"钻石":5,
          "至尊星耀":6,"至尊星耀V":6,"至尊星耀IV":6,"至尊星耀I":6,"至尊星耀III":6,"至尊星耀II":6,"星耀":6,
          "最强王者":7,"至圣王者":8,"无双王者":9,"非凡王者":
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值