加载model.pkl文件时出现XGBoostError:Unicode-1 is not supported求助
解决XGBoost加载pkl模型时的"Unicode-1 is not supported"错误
以下是几种可行的解决方法,按优先级尝试:
统一XGBoost版本
模型保存与加载时的XGBoost版本不兼容是触发该错误的常见原因。先卸载当前版本,安装和保存模型时一致的版本:pip uninstall xgboost -y pip install xgboost==<保存模型时的版本号>若不清楚原版本,可尝试安装兼容性较好的稳定版,比如
pip install xgboost==1.7.6。改用XGBoost原生方法保存/加载模型
避免使用pickle直接保存,改用XGBoost自带的JSON格式保存,稳定性更强:# 重新保存模型(若能访问原训练代码) model.save_model("model.json") # 加载JSON格式模型 import xgboost as xgb model = xgb.Booster() model.load_model("model.json")指定编码加载pickle文件
若必须使用原pkl文件,尝试指定编码加载:import pickle # 优先尝试UTF-8编码 with open("model.pkl", "rb") as f: model = pickle.load(f, encoding="utf-8") # 若UTF-8失败,尝试latin1编码 # model = pickle.load(f, encoding="latin1")检查输入数据编码
确保加载模型时传入的特征数据编码为UTF-8,避免编码冲突:import pandas as pd data = pd.read_csv("your_input_data.csv", encoding="utf-8")
内容的提问来源于stack exchange,提问作者kajal mahawar
相关产品推荐
相关产品推荐

