Ridge / Lasso Regressionのh(simpleError(msg、call))のエラー

ロンティアック

glmnetandonehotパッケージを使用してridge / lassoを実行しようとすると、エラーが発生します。

library(glmnet)
library(onehot)
set.seed(123)

Sample <- HouseData[1:1460, ]  
smp_size <- floor(0.5 * nrow(Sample))
train_ind <- sample(seq_len(nrow(Sample)), size = smp_size)
train <- Sample[train_ind, ]
test <- Sample[-train_ind, ]

############Ridge & Lasso Regressions ################

# Define the response for the training + test set
y_train <- train$SalePrice
y_test <- test$SalePrice

# Define the x training and test
x_train <- train[,!names(train)=="SalePrice"]
x_test <- test[,!names(train)=="SalePrice"]
str(y_train)

## encoding information for training set 
x_train_encoded_data_info <- onehot(x_train,stringsAsFactors = TRUE, max_levels = 50)
x_train_matrix <- (predict(x_train_encoded_data_info,x_train)) 
x_train_matrix <- as.matrix(x_train_matrix)

# create encoding information for x test
x_test_encoded_data_info <- onehot(x_test,stringsAsFactors = TRUE, max_levels = 50)
x_test_matrix <- (predict(x_test_encoded_data_info,x_test)) 
str(x_train_matrix)

###Calculate best lambda 
cv.out <- cv.glmnet(x_train_matrix, y_train,
                    alpha = 0, nlambda = 100,
                    lambda.min.ratio = 0.0001)

best.lambda <- cv.out$lambda.min
best.lambda
model <- glmnet(x_train_matrix, y_train, alpha = 0, lambda = best.lambda)
results_ridge <- predict(model,newx=x_test_matrix)

データがクリーンで、行列が同じサイズであることはわかっていますが、予測を実行しようとすると、このエラーが発生し続けます。

h(simpleError(msg、call))のエラー:関数 'as.matrix'のメソッドを選択する際の引数 'x'の評価エラー:Cholmodエラー 'Xおよび/またはYの次元が間違っています'ファイル../MatrixOps /cholmod_sdmult.c、90行目

教授から、データを分割する前にワンホットエンコードするように言われましたが、それは私には意味がありません。

コリンH

onehotコード内関数がどこから来ているのかが完全に明確ではないため、その特定のエラーをデバッグするのは困難です。ベースRまたはglmnetパッケージには存在しません

とは言うものの、への引数を作成するには、古い組み込みのスタンバイ関数model.matrix(または、sparse.model.matrixより大きなデータセットがある場合はそのスパースないとこ)を使用することをお勧めします自動的にワンホットエンコード係数またはカテゴリ変数を使用します。入力としてモデル式が必要です。これは、以下に示すようにデータセットから作成できます。xglmnetmodel.matrix

# create the model formula
y_variable <- "SalePrice"
model_formula <- as.formula(paste(y_variable, "~",
                                  paste(names(train)[names(train) != y_variable], collapse = "+"))) 
# test & train matrices
x_train_matrix <- model.matrix(model_formula, data = train)[, -1]
x_test_matrix <- model.matrix(model_formula, data = test)[, -1]

###Calculate best lambda 
cv.out <- cv.glmnet(x_train_matrix, y_train,
                    alpha = 0, nlambda = 100,
                    lambda.min.ratio = 0.0001)

2番目の新しいオプションは、組み込みglmnet関数を使用することですmakeX()。この関数は、テスト/トレーニングデータフレームから行列を作成します。これはちょうどに供給することができるcv.glmnetようx、以下のように引数。

## option 2: use glmnet built in function to create x matrices
x_matrices <- glmnet::makeX(train = train[, !names(train) == "SalePrice"],
                            test = test[, !names(test) == "SalePrice"])

###Calculate best lambda 
cv.out <- cv.glmnet(x_matrices$x, y_train,
                    alpha = 0, nlambda = 100,
                    lambda.min.ratio = 0.0001)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Ridge / Lasso Regressionのh(simpleError(msg、call))のエラー

分類Dev

Logistic Regression Model using Regularization (L1 / L2) Lasso and Ridge

分類Dev

Confidence intervals for Ridge regression

分類Dev

ILNumerics:ILMath.ridge_regression

分類Dev

Compute a kernel ridge regression in R for model selection

分類Dev

Questions about ridge regression on python : Scaling, and interpretation

分類Dev

scikit-learn Ridge Regression UnboundLocalError

分類Dev

Why calculating MSE in lasso regression gives different outputs?

分類Dev

Scikit-learn Ridge分類器:クラス確率の抽出

分類Dev

sklearn.linear_model.ridgeの統計要約表?

分類Dev

lm.ridgeサマリーを実行する方法は?

分類Dev

Rで同時に複数のLASSO回帰

分類Dev

R feature selection with LASSO

分類Dev

RでのLASSOモデルの交互作用効果のプロット

分類Dev

LassoとRobustScalarの後に回帰予測を逆変換する方法は?

分類Dev

sklearn.linear_model.Lassoのパラメーター「selection」の役割は何ですか

分類Dev

Creating a DF inside of the lasso model

分類Dev

複数のターゲットがある場合、sklearnのLASSOの目的関数は何ですか?

分類Dev

MASS:lm.ridge係数が手動で計算された係数と異なるのはなぜですか?

分類Dev

変数のリストをridge.fit()に渡す-ハッシュできない型?

分類Dev

Robust Scalerを使用した後、LASSO回帰の切片と係数を逆変換できますか?

分類Dev

Q:複数のLASSO回帰を適用するにはどうすればよいですか?

分類Dev

入れ子になったマップと配列に存在するためのLasso9条件付き

分類Dev

HP ENVY x360(AMD Raven Ridge)のタッチスクリーンを機能させるにはどうすればよいですか?

分類Dev

OneNote2013のLasso、Handtool、およびselect編集ツールのキーボードショートカットとは何ですか?

分類Dev

ディープニューラルネットワークを使用して入力に対してLASSO正則化を実行しますか?

分類Dev

LASSO /ロジスティック回帰を再現すると、Irisデータセットを使用してPythonでRが生成されます

分類Dev

Lasso tool in html5 canvas - replacing the clipTo function with clipPath

分類Dev

What is the role of the parameter 'selection' in sklearn.linear_model.Lasso

Related 関連記事

  1. 1

    Ridge / Lasso Regressionのh(simpleError(msg、call))のエラー

  2. 2

    Logistic Regression Model using Regularization (L1 / L2) Lasso and Ridge

  3. 3

    Confidence intervals for Ridge regression

  4. 4

    ILNumerics:ILMath.ridge_regression

  5. 5

    Compute a kernel ridge regression in R for model selection

  6. 6

    Questions about ridge regression on python : Scaling, and interpretation

  7. 7

    scikit-learn Ridge Regression UnboundLocalError

  8. 8

    Why calculating MSE in lasso regression gives different outputs?

  9. 9

    Scikit-learn Ridge分類器:クラス確率の抽出

  10. 10

    sklearn.linear_model.ridgeの統計要約表?

  11. 11

    lm.ridgeサマリーを実行する方法は?

  12. 12

    Rで同時に複数のLASSO回帰

  13. 13

    R feature selection with LASSO

  14. 14

    RでのLASSOモデルの交互作用効果のプロット

  15. 15

    LassoとRobustScalarの後に回帰予測を逆変換する方法は?

  16. 16

    sklearn.linear_model.Lassoのパラメーター「selection」の役割は何ですか

  17. 17

    Creating a DF inside of the lasso model

  18. 18

    複数のターゲットがある場合、sklearnのLASSOの目的関数は何ですか?

  19. 19

    MASS:lm.ridge係数が手動で計算された係数と異なるのはなぜですか?

  20. 20

    変数のリストをridge.fit()に渡す-ハッシュできない型?

  21. 21

    Robust Scalerを使用した後、LASSO回帰の切片と係数を逆変換できますか?

  22. 22

    Q:複数のLASSO回帰を適用するにはどうすればよいですか?

  23. 23

    入れ子になったマップと配列に存在するためのLasso9条件付き

  24. 24

    HP ENVY x360(AMD Raven Ridge)のタッチスクリーンを機能させるにはどうすればよいですか?

  25. 25

    OneNote2013のLasso、Handtool、およびselect編集ツールのキーボードショートカットとは何ですか?

  26. 26

    ディープニューラルネットワークを使用して入力に対してLASSO正則化を実行しますか?

  27. 27

    LASSO /ロジスティック回帰を再現すると、Irisデータセットを使用してPythonでRが生成されます

  28. 28

    Lasso tool in html5 canvas - replacing the clipTo function with clipPath

  29. 29

    What is the role of the parameter 'selection' in sklearn.linear_model.Lasso

ホットタグ

アーカイブ