我正在使用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
当我尝试使用 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新手,但我正在寻找一种方法来确定R中以下函数相关的三个参数A,B和C:
y = A * (x1^B) * (x2^C)
有人可以给我一些关于R方法的提示,这有助于我实现这样的拟合吗?
我有一些不适合线性回归的数据:
实际上应该“完全”拟合二次函数:
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
我试图根据一些功能预测标签,我有一些训练数据.
在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
对于lm或glm类型对象,甚至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) 将此参数化用于增长曲线逻辑模型
我创建了一些点: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) 我正在尝试使用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
我目前正在尝试使用神经网络进行回归预测。
但是,我不知道处理此问题的最佳方法是什么,因为我读到有两种不同的方法可以对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型作为最后一层。
这两种解决方案可以接受吗?应该选择哪一个?
谢谢保罗
我正在尝试使用 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
r ×4
regression ×4
python ×3
scikit-learn ×3
nls ×2
drc ×1
lightgbm ×1
pandas ×1
polynomials ×1
prediction ×1
python-2.7 ×1
python-3.x ×1