根据价值使用不同的估算器
Use a different estimator based on value
我想做的是基于特征中的值构建回归器。
也就是说,我有一些列,其中一个比较重要(假设它是gender
)(当然它与目标值Y不同)。
我想说:
- 如果 gender
是男性,则使用随机森林回归器
- 否则使用另一个回归器
您是否知道使用 sklearn
或 python 中的任何其他库是否可行?
我个人是 Python 的新手,但我会使用列表的数据类型。然后我会继续进行会员资格检查并参考您刚刚写的列表。然后继续说if member = true then run/use randomForest regressor。如果 false use/run 另一个回归变量。
您或许可以实现自己的回归器。让我们假设 gender
是第一个特征。然后你可以做类似
的事情
class MyRegressor():
'''uses different regressors internally'''
def __init__(self):
self.randomForest = initializeRandomForest()
self.kNN = initializekNN()
def fit(self, X, y):
'''calls the appropriate regressors'''
X1 = X[X[:,0] == 1]
y1 = y[X[:,0] == 1]
X2 = X[X[:,0] != 1]
y2 = y[X[:,0] != 1]
self.randomForest.fit(X1, y1)
self.kNN.fit(X2, y2)
def predict(self, X):
'''predicts values using regressors internally'''
results = np.zeros(X.shape[0])
results[X[:,0]==1] = self.randomForest.predict(X[X[:,0] == 1])
results[X[:,0]!=1] = self.kNN.predict(X[X[:,0] != 1])
return results
我想做的是基于特征中的值构建回归器。
也就是说,我有一些列,其中一个比较重要(假设它是gender
)(当然它与目标值Y不同)。
我想说:
- 如果 gender
是男性,则使用随机森林回归器
- 否则使用另一个回归器
您是否知道使用 sklearn
或 python 中的任何其他库是否可行?
我个人是 Python 的新手,但我会使用列表的数据类型。然后我会继续进行会员资格检查并参考您刚刚写的列表。然后继续说if member = true then run/use randomForest regressor。如果 false use/run 另一个回归变量。
您或许可以实现自己的回归器。让我们假设 gender
是第一个特征。然后你可以做类似
class MyRegressor():
'''uses different regressors internally'''
def __init__(self):
self.randomForest = initializeRandomForest()
self.kNN = initializekNN()
def fit(self, X, y):
'''calls the appropriate regressors'''
X1 = X[X[:,0] == 1]
y1 = y[X[:,0] == 1]
X2 = X[X[:,0] != 1]
y2 = y[X[:,0] != 1]
self.randomForest.fit(X1, y1)
self.kNN.fit(X2, y2)
def predict(self, X):
'''predicts values using regressors internally'''
results = np.zeros(X.shape[0])
results[X[:,0]==1] = self.randomForest.predict(X[X[:,0] == 1])
results[X[:,0]!=1] = self.kNN.predict(X[X[:,0] != 1])
return results