使用XGBoost、SVM和随机森林方法训练模型,并保存各个模型的示例代码:
import pandas as pd
import xgboost as xgb
from sklearn.model_selection import train_test_split
from sklearn.metrics import r2_score, mean_squared_error
from sklearn.svm import SVR
from sklearn.ensemble import RandomForestRegressor
from sklearn.preprocessing import StandardScaler
import joblib
# 加载数据
file_path = 'D:\\pythontest\\pythontest.xlsx'
data = pd.read_excel(file_path, engine='openpyxl')
# 预处理数据
X = data.iloc[:, 2:] # 高光谱值作为特征
y = data.iloc[:, 1] # Li含量作为标签
# 分割数据集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 训练并保存XGBoost模型
xgb_model = xgb.XGBRegressor()
xgb_model.fit(X_train, y_train)
joblib.dump(xgb_model, 'xgb_model.pkl')
# 验证XGBoost模型
y_pred_xgb = xgb_model.predict(X_test)
r2_xgb = r2_score(y_test, y_pred_xgb)
rmse_xgb = mean_sq