使用经过训练的Python模型确定输入变量是否产生正结果或负结果
我目前正在使用scikit学习随机梯度助推器(SGB)模型。该代码在返回均方根误差(RMSE)结果的同时,在传输和测试数据方面运行良好 作为下一步,我正在寻找一种使用经过训练的模型来确定输入变量的结果概率的方法。这是我输入自变量X的结果,希望得到数据有正或负结果(即正或负)的指示 如何通过代码实现这一点,例如,为独立于培训和测试数据的输入变量提供单独的输入文件?这似乎是一个非常基本的问题,但实际上与大量的机器学习算法有关,这些算法都只产生一个准确率,但没有关于积极/消极结果的进一步信息 scikit学习SGB的相应代码如下所示:使用经过训练的Python模型确定输入变量是否产生正结果或负结果,python,machine-learning,scikit-learn,Python,Machine Learning,Scikit Learn,我目前正在使用scikit学习随机梯度助推器(SGB)模型。该代码在返回均方根误差(RMSE)结果的同时,在传输和测试数据方面运行良好 作为下一步,我正在寻找一种使用经过训练的模型来确定输入变量的结果概率的方法。这是我输入自变量X的结果,希望得到数据有正或负结果(即正或负)的指示 如何通过代码实现这一点,例如,为独立于培训和测试数据的输入变量提供单独的输入文件?这似乎是一个非常基本的问题,但实际上与大量的机器学习算法有关,这些算法都只产生一个准确率,但没有关于积极/消极结果的进一步信息 scik
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
# Load CSV data
Germany = pd.read_csv('./Germany_filtered.csv', index_col=0)
# Drop column with dependent variable (outcome variable)
X = Germany.drop('Status', axis='columns')
y = Germany['Status']
# Train/split assignment
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=2)
# Instantiate SGBR
from sklearn.ensemble import GradientBoostingRegressor
sgbr = GradientBoostingRegressor(max_depth=4, n_estimators=200, subsample=0.9,
max_features=0.75, random_state=2)
# Fit sgbr to the training set
sgbr.fit(X_train, y_train)
# Predict test set labels
y_pred = sgbr.predict(X_test)
from sklearn.metrics import mean_squared_error as MSE
# Compute test set MSE
mse_test = MSE(y_test, y_pred)
# Compute test set RMSE
rmse_test = mse_test ** 0.5
# Print rmse_test
print('Test set RMSE of sgbr: {:.3f}'.format(rmse_test))