标签: non-linear-regression

如何使用scikit-learn仅删除多项式回归中的交互项?

我正在使用scikit-learn 运行多项式回归。我有大量变量(准确地说是23个),我试图使用2级多项式回归进行回归。

interact_only = True,仅保留交互项,例如X 1 * Y 1,X 2 * Y 2等等。

我只需要其他术语,即X 1,X 1 2,Y 1,Y 1 2,依此类推。

有功能可以得到这个吗?

machine-learning python-2.7 scikit-learn non-linear-regression

3
推荐指数
1
解决办法
1309
查看次数

R中的非线性回归预测

当我尝试使用 drc 包和 drm 函数将数据与非线性回归模型拟合时,我对这条警告消息感到困惑。

我有

 N_obs <- c(1, 80, 80, 80, 81, 82, 83, 84, 84, 95, 102, 102, 102, 103, 104, 105, 105, 109, 111, 117, 120, 123, 123, 124, 126, 127, 128, 128, 129, 130)

 times <- c(3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
Run Code Online (Sandbox Code Playgroud)

该模型是

  model.drm <- drm(N_obs ~ times, data = data.frame(N_obs = …
Run Code Online (Sandbox Code Playgroud)

r prediction non-linear-regression drc

3
推荐指数
1
解决办法
2539
查看次数

R中的非线性回归分析

我是R新手,但我正在寻找一种方法来确定R中以下函数相关的三个参数A,B和C:

y = A * (x1^B) * (x2^C)

有人可以给我一些关于R方法的提示,这有助于我实现这样的拟合吗?

regression r non-linear-regression

2
推荐指数
2
解决办法
2万
查看次数

使用 sklearn 进行多项式回归的最简单方法?

我有一些不适合线性回归的数据:

在此处输入图片说明

实际上应该“完全”拟合二次函数:

P = R*I**2 
Run Code Online (Sandbox Code Playgroud)

我在做这个:

model = sklearn.linear_model.LinearRegression()

X = alambres[alambre]['mediciones'][x].reshape(-1, 1)
Y = alambres[alambre]['mediciones'][y].reshape(-1, 1)
model.fit(X,Y)
Run Code Online (Sandbox Code Playgroud)

是否有机会通过执行以下操作来解决它:

model.fit([X,X**2],Y)
Run Code Online (Sandbox Code Playgroud)

python pandas scikit-learn polynomials non-linear-regression

2
推荐指数
1
解决办法
2447
查看次数

如何在python中使用mord模块进行序数回归?

我试图根据一些功能预测标签,我有一些训练数据.

在python中搜索序数回归,我找到了http://pythonhosted.org/mord/,但我无法弄清楚如何使用它.

如果有人有一个示例代码来演示如何使用这个模块,那就太好了.以下是mord模块中的类:

>>>import mord    
>>>dir(mord)
    ['LAD',
 'LogisticAT',
 'LogisticIT',
 'LogisticSE',
 'OrdinalRidge',
 '__builtins__',
 '__doc__',
 '__file__',
 '__name__',
 '__package__',
 '__path__',
 '__version__',
 'base',
 'check_X_y',
 'grad_margin',
 'linear_model',
 'log_loss',
 'metrics',
 'np',
 'obj_margin',
 'optimize',
 'propodds_loss',
 'regression_based',
 'sigmoid',
 'svm',
 'threshold_based',
 'threshold_fit',
 'threshold_predict',
 'utils']
Run Code Online (Sandbox Code Playgroud)

python regression machine-learning logistic-regression non-linear-regression

2
推荐指数
1
解决办法
3907
查看次数

在 R 中,如何从“nls”模型对象中提取帽子/投影/影响矩阵或值?

对于lmglm类型对象,甚至lmer类型对象,您可以使用 R 函数从模型中提取帽子值hatvalues()。然而,显然这不适用于nls对象。我用谷歌搜索了各种方法,但找不到获取这些值的方法。是否nls根本不创建帽子矩阵,或者非线性最小二乘模型产生的帽子值是否不可靠?

可重现的例子:

xs = rep(1:10, times = 10)
ys = 3 + 2*exp(-0.5*xs)
for (i in 1:100) {
xs[i] = rnorm(1, xs[i], 2)
}
df1 = data.frame(xs, ys)
nls1 = nls(ys ~ a + b*exp(d*xs), data=df1, start=c(a=3, b=2, d=-0.5))
Run Code Online (Sandbox Code Playgroud)

r nls non-linear-regression

2
推荐指数
1
解决办法
3087
查看次数

`nls`拟合错误:无论起始值如何,总是达到最大迭代次数

将此参数化用于增长曲线逻辑模型

在此输入图像描述

我创建了一些点:K = 0.7; y0 = 0.01; r = 0.3

df = data.frame(x= seq(1, 50, by = 5))
df$y = 0.7/(1+((0.7-0.01)/0.01)*exp(-0.3*df$x))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

有人能告诉我如果用模型启动器创建数据我怎么能有一个拟合错误?

fo = df$y ~ K/(1+((K-y0)/y0)*exp(-r*df$x))

model<-nls(fo,
           start = list(K=0.7, y0=0.01, r=0.3),
           df, 
           nls.control(maxiter = 1000))
Error in nls(fo, start = list(K = 0.7, y0 = 0.01, r = 0.3), df, nls.control(maxiter = 1000)) : 
  number of iterations exceeded maximum of 1000
Run Code Online (Sandbox Code Playgroud)

regression r nls non-linear-regression

2
推荐指数
1
解决办法
1224
查看次数

当 RMSLE 为评估指标时,早期停止 lightgbm 不起作用

我正在尝试使用rmsle作为评估指标在 Python 中训练 lightgbm ML 模型,但当我尝试包含提前停止时遇到问题。

这是我的代码:

import numpy as np
import pandas as pd
import lightgbm as lgb
from sklearn.model_selection import train_test_split

df_train = pd.read_csv('train_data.csv')
X_train = df_train.drop('target', axis=1)
y_train = np.log(df_train['target'])

sample_params = {
    'boosting_type': 'gbdt',
    'objective': 'regression',
    'random_state': 42,
    'metric': 'rmsle',
    'lambda_l1': 5,
    'lambda_l2': 5,
    'num_leaves': 5,
    'bagging_freq': 5,
    'max_depth': 5,
    'max_bin': 5,
    'min_child_samples': 5,
    'feature_fraction': 0.5,
    'bagging_fraction': 0.5,
    'learning_rate': 0.1,
}

X_train_tr, X_train_val, y_train_tr, y_train_val = train_test_split(X_train, y_train, test_size=0.2, random_state=42)

def train_lightgbm(X_train_tr, y_train_tr, X_train_val, y_train_val, …
Run Code Online (Sandbox Code Playgroud)

python machine-learning non-linear-regression lightgbm early-stopping

2
推荐指数
1
解决办法
3558
查看次数

神经网络回归:缩放输出还是使用线性层?

我目前正在尝试使用神经网络进行回归预测。

但是,我不知道处理此问题的最佳方法是什么,因为我读到有两种不同的方法可以对NN进行回归预测。

1)一些网站/文章建议添加一个线性的最后一层。 http://deeplearning4j.org/linear-regression.html

我认为我的最后一层看起来像:

layer1 = tanh(layer0*weight1 + bias1)

layer2 = identity(layer1*weight2+bias2)
Run Code Online (Sandbox Code Playgroud)

我还注意到,使用此解决方案时,通常会得到一个预测,该预测是批处理预测的平均值。当我将tanh或Sigmoid用作倒数第二层时就是这种情况。

2)其他一些网站/文章建议将输出缩放到[-1,1][0,1]范围,并使用tanh或S型作为最后一层。

这两种解决方案可以接受吗?应该选择哪一个?

谢谢保罗

regression neural-network non-linear-regression

1
推荐指数
1
解决办法
2871
查看次数

ML 模型无法正确预测

我正在尝试使用 SMR、Logistic 回归等各种技术创建 ML 模型(回归)。使用所有技术,我无法获得超过 35% 的效率。这就是我正在做的:

X_data = [X_data_distance]
X_data = np.vstack(X_data).astype(np.float64)
X_data = X_data.T
y_data = X_data_orders
#print(X_data.shape)
#print(y_data.shape)
#(10000, 1)
#(10000,)
X_train, X_test, y_train, y_test = train_test_split(X_data, y_data, test_size=0.33, random_state=42)
svr_rbf = SVC(kernel= 'rbf', C= 1.0)
svr_rbf.fit(X_train, y_train)
plt.plot(X_data_distance, svr_rbf.predict(X_data), color= 'red', label= 'RBF model')
Run Code Online (Sandbox Code Playgroud)

对于情节,我得到以下信息: 在此输入图像描述

我尝试了各种参数调整,改变参数C,gamma甚至尝试了不同的内核,但没有改变精度。甚至尝试了SVR、逻辑回归而不是SVC,但没有任何帮助。我尝试了不同的缩放比例来训练输入数据,例如StandardScalar()scale()

我用这个作为参考

我应该怎么办?

machine-learning python-3.x scikit-learn non-linear-regression

1
推荐指数
1
解决办法
702
查看次数