python - 加载模型和应用预测的正确方法
问题描述
model4 是一个朴素贝叶斯模型,使用 test_size=0.22 进行拆分,代码应加载模型,应用基于训练模型的预测,然后将其与其余数据一起保存为列。
joblib.dump(model4, 'training1.joblib')
# ------------------------loading model-------------------------------
data = pd.read_csv('Documents_data.csv')
model = joblib.load('training1.joblib')
X_all = pandas.get_dummies(data.drop(['score', 'size', 'created', 'user'], axis=1))
y_all = data['score']
pred = model.predict(X_all)
data['prediction'] = pred
data.to_csv('predictions.csv', index=False)
通常我使用 (X_test) 进行预测,例如:
pred = model4.predict(X_test)
我再次尝试拆分数据:
# ------------------------loading model-------------------------------
data = pd.read_csv('Documents_data.csv')
model = joblib.load('training1.joblib')
X_all = pandas.get_dummies(data.drop(['score', 'size', 'created', 'user'], axis=1))
y_all = data['score']
X_train, X_test, y_train, y_test = train_test_split(X_all, y_all, test_size=0.22, random_state=0)
pred = model.predict(X_test)
data['prediction'] = pred
data.to_csv('predictions.csv', index=False)
错误:
Traceback (most recent call last):
File "C:\Users\coldtea\PycharmProjects\pythonProject\machine_learning.py", line 169, in <module>
data['prediction'] = pred
File "C:\Users\coldtea\PycharmProjects\pythonProject\venv\lib\site-packages\pandas\core\frame.py", line 3163, in __setitem__
self._set_item(key, value)
File "C:\Users\coldtea\PycharmProjects\pythonProject\venv\lib\site-packages\pandas\core\frame.py", line 3242, in _set_item
value = self._sanitize_column(key, value)
File "C:\Users\coldtea\PycharmProjects\pythonProject\venv\lib\site-packages\pandas\core\frame.py", line 3899, in _sanitize_column
value = sanitize_index(value, self.index)
File "C:\Users\coldtea\PycharmProjects\pythonProject\venv\lib\site-packages\pandas\core\internals\construction.py", line 751, in sanitize_index
raise ValueError(
ValueError: Length of values (42) does not match length of index (190)
至少有人可以提供一个类似要求的例子吗?
解决方案
推荐阅读
- javascript - 在 JavaScript 上将 Get 转换为 Post
- python - Python 在 MacOS Mojave 中与 OpenCV 一起崩溃
- angular - TypeScript 已安装,但未执行我的代码
- node.js - 是否可以在 keystone js 中使用 updater 方法添加自定义验证,例如用户存在
- java - 无法发布多部分表单数据 json 请求
- sed - 如何组合两个 sed 命令?
- api - 更新用户时出现角度 6 woocommerce REST 身份验证错误(PUT 方法不起作用)
- php - 如何使用 php 从用户被定向到我的网站的位置获取完整的 facebook 网址?
- php - 在 PHP 中启用 mbstring 扩展:未定义符号:第 0 行 Unknown 中的 compiler_globals
- python - 从Python中的文本文件中的特定数字中获取一个句子