我使用一个文档中的数据训练了岭回归模型并保存,想通过这个模型来预测另一个文档中的数据(两个文档中的数据只是数量不一样)
预测的文档中有2W+条数据,但是预测结果只有6000+条。
请问各位大神怎么才能使预测结果按每条数据的顺序全部得出来。
本人完全小白,论文想做个机器学习的东西...求各位大神指导
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
import pandas as pd
import joblib as jb
def mylinear():
"""
岭回归预测TOC
:return: None
"""
# 获取数据
data = pd.read_csv("./NH25-4.csv")
# 删除部分列
data = data.drop(["E_HORZ", "E_VERT", "PR_HORZ", "PR_VERT", "Brittle_Horz%", "Brittle_Vert%", "POR", "DEPTH"],
axis=1)
# 取出特征值和目标值
y = data["TOC"]
x = data.drop(["TOC"], axis=1)
# 分割数据集到训练集和测试集
x_train, x_test, y_train, y_test = train_test_split(x, y)
# 标准化
std_x = StandardScaler()
x_train = std_x.fit_transform(x_train)
x_test = std_x.transform(x_test)
# 目标值
std_y = StandardScaler()
y_train = std_y.fit_transform(y_train.values.reshape(-1, 1))
y_test = std_y.transform(y_test.values.reshape(-1, 1))
# 加载模型
model = jb.load("./test_Ridge.pkl")
y_predict = std_y.inverse_transform(model.predict(x_test))
print("保存的模型预测的结果:", y_predict)
if __name__ == "__main__":
mylinear()