সাইকেট-লার্ন পাইথন এবং আর-তে গ্ল্যামনেটের মধ্যে ইলাস্টিক নেট এর মধ্যে পার্থক্য


11

ElasticNetপাইথনে এবং glmnetআর একই ডাটা সেটে সাইকিট-লার্নের সাথে একটি ইলাস্টিক নেট মডেল লাগানো কিনা তা যাচাই করে দেখার চেষ্টা করেছেন ? আমি প্যারামিটারগুলির অনেকগুলি সংমিশ্রণ নিয়ে পরীক্ষা-নিরীক্ষা করে যাচ্ছি (যেহেতু দুটি ফাংশন ডিফল্ট মানগুলির সাথে তারা তর্কিত স্থানে পৃথক হয়) এবং ডেটা স্কেলিং করে, তবে কিছুই দুটি ভাষার মধ্যে একই মডেল তৈরি করে বলে মনে হয় না। কেউ কি একই সমস্যার মুখোমুখি হয়েছেন?


উত্তর:


6

অবশেষে আমি নিম্নলিখিত কোড সহ একই মান পেয়েছি:

পাইথন

# normalize function that gives the same with R
def mystandardize(D):
   S = np.std(D, axis=0, ddof=1)
   M = np.mean(D, axis = 0)
   D_norm = (D-M)/S
return [D_norm, M, S]

Y_norm_train = pd.DataFrame(mystandardize(Y_train)[0])
glmnet_regr = linear_model.ElasticNet(alpha=1, l1_ratio = 0.01,
                                  fit_intercept = True, normalize =    False, tol=0.0000001, max_iter = 100000)
glmnet_regr.fit(X_train, Y_norm_train)

আর

y_norm_train <- scale(y[train_idx])
glmnet_obj_norm <- glmnet(x_train, y_norm_train, alpha=0.01, lambda = 1,  
                   thresh = 1e-07, standardize = FALSE, intercept=TRUE, standardize.response = FALSE)
print_coef(glmnet_obj_norm)

3
আর প্যাকেজে ব্যবহৃত ফোর্টরান কোডের জন্য তুলনামূলকভাবে নতুন পাইথন র‍্যাপার রয়েছে glmnet। এটিও আর এর মতো একই ফলাফল পেতে পারে । github.com/civisanalytics/python-glmnet
জর্ডি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.