পান্ডাস ডেটাফ্রেমে টু ডিএম্যাট্রিক্স


14

আমি সাইকিট শিখতে এক্সজিবিস্ট চালানোর চেষ্টা করছি। এবং আমি কেবল ডেটা ফ্রেমে ডেটা লোড করতে পান্ডাস ব্যবহার করি। এক্সজিবিস্টের সাথে আমার কীভাবে পান্ডাস ডিএফ ব্যবহার করার কথা। এক্সজিবিস্ট আলগো চালানোর জন্য ডিএম্যাট্রিক্স রুটিন দ্বারা আমি বিভ্রান্ত হয়ে পড়েছি।

উত্তর:


21

.valuesএকবারে কলামগুলি আপনার প্রয়োজন হিসাবে চালিত করার পরে আপনি কাঁচা ডেটা অ্যাক্সেস করতে ডেটাফ্রেমের পদ্ধতিটি ব্যবহার করতে পারেন ।

যেমন

train = pd.read_csv("train.csv")
target = train['target']
train = train.drop(['ID','target'],axis=1)
test = pd.read_csv("test.csv")
test = test.drop(['ID'],axis=1)

xgtrain = xgb.DMatrix(train.values, target.values)
xgtest = xgb.DMatrix(test.values)

স্পষ্টতই আপনি প্রশিক্ষণের লক্ষ্য হিসাবে কোন কলামগুলি ফেলেছেন বা ব্যবহার করছেন তা পরিবর্তন করতে হবে। উপরেরটি একটি কাগল প্রতিযোগিতার জন্য ছিল, সুতরাং এর জন্য কোনও টার্গেট ডেটা ছিল না xgtest(এটি আয়োজকরা ধরে রেখেছেন )।


এইভাবে চেষ্টা করার সময় xgb.DMatrix(X_train.values, y_train.values)আমি দেখতে পাচ্ছিTypeError: can not initialize DMatrix from dict
জাভাদ্ব্বা

@ জাভাদ্ববা: এটি আমার ম্যাকাহিনে অবশ্যই ২০১ 2016 সালে কাজ করেছিল! এক্সজিবিস্ট ইনস্টল করতে না পারায় আমি এই মুহুর্তে এটি পরীক্ষা করতে পারছি না। এটি সম্ভবত কিছু লাইব্রেরির কোড পরিবর্তিত হয়েছে। আপনার পরিস্থিতি সম্পর্কে আরও কিছু আলাদা হওয়ার সম্ভাবনা রয়েছে। আমি স্ট্যাকওভারফ্লো / প্রশ্নগুলি / 35402461/ … পেয়েছি তবে এটি আপনাকে এই উত্তরটি (যেমন ব্যবহার করে .values) ঠিক তেমন করতে পরামর্শ দেয়
নীল স্লেটার


7

আপনি এখন এক্সজিবিস্টের সাথে পান্ডাস ডেটা ফ্রেমগুলি সরাসরি ব্যবহার করতে পারেন। অবশ্যই xgboost 0.81 এর সাথে কাজ করে।

উদাহরণস্বরূপ যেখানে এক্স_ট্রেইন, এক্স_ওয়াল, y_train এবং y_val ডেটা ফ্রেমগুলি রয়েছে:

import xgboost as xgb

mod = xgb.XGBRegressor(
    gamma=1,                 
    learning_rate=0.01,
    max_depth=3,
    n_estimators=10000,                                                                    
    subsample=0.8,
    random_state=34
) 

mod.fit(X_train, y_train)
predictions = mod.predict(X_val)
rmse = sqrt(mean_squared_error(y_val, predictions))
print("score: {0:,.0f}".format(rmse))
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.