问题描述
我正在尝试为我的多机器学习预测找到 NSGAII,对于线性回归它似乎与 pymoo 一起工作,因为线性回归可以在截距和系数的帮助下变成一个数学方程。所以这里我为线性回归所做的代码如下
import autograd.numpy as anp
from pymoo.model.problem import Problem
class MyProblem(Problem):
def __init__(self):
super().__init__(n_var=2,n_obj=2,xl=anp.array([-2,-2]),xu=anp.array([10,10]))
def _evaluate(self,x,out,*args,**kwargs):
f1 = x[:,0]*regressor.coef_[0] + x[:,1]*regressor.coef_[1] + regressor.intercept_
f2 = x[:,0]**2 + x[:,1]**2
#g1 = 0
#g2 = 0
out["F"] = anp.column_stack([f1,f2])
是的,所以当它是一个数学方程时优化是有效的......但是一旦我直接将它作为机器学习预测函数来使用
f1 = (regressor.predict([[x[:,0],x[:,1]]]))
错误是
ValueError: Found array with dim 3. Estimator expected <= 2
除了线性回归之外,我找不到任何可以优化机器学习预测的示例。顺便说一句,我想将这些方法扩展到随机森林回归和支持向量回归。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)