sklearn.model_selection.train_test_split(*arrays, **options)
این تابع برای تقسیم دادهها به دو مجموع آموزش و آزمون استفاده میشود. پارامترهای اول تابع آرایههای مورد نظر برای تقسیم هستند. در این قسمت میتوانیم هر چند آرایه که لازم است را وارد کنیم. سایر پارامترهای تابع شامل test_size، train_size، random_state، shuffle و stratify هستند. پارامتر اول مربوط به بهم زدن دادهها است تا ترتیبهای احتمالی تصادفی در دادهها را از بین ببریم(مقدار پیشفرض True). پارامتر دوم مربوط به هستهای است که توسط تابع تولید عدد تصادفی استفاده میشود. با تنظیم این پارامتر به یک مقدار ثابت نتایج آزمایشها تکرار پذیر میشود. دو پارامتر بعدی که مقداری بین 0.0 و 1.0 هستند، به ترتیب اندازه دادههای آموزش و آزمون را مشخص میکنند. به صورت پیشفرض یک چهارم دادهها به عنوان دادههای آزمون انتخاب میشود. آخرین پارامتر مربوط به درصد هر یک از کلاسها در قسمتهای آموزش و آزمون است. اگر یک آرایه به این پارامتر ارسال شود بر اساس آن سهم هر کلاس در دادههای آموزش و آزمون مشخص خواهد شد(مثال دوم و سوم را ببینید).
import numpy as np
from sklearn.model_selection import train_test_split
x = np.random.rand(500)
y = np.random.rand(500)
train_data, test_data, train_label, test_label = train_test_split(x,y)
print(len(train_data), len(test_data), len(train_label), len(test_label))
نتیجه
375 125 375 125
:آزمون
x = ['a','b','c','d','a','b','c','d','a','b','c','d']
y = [1,2,1,1,2,1,1,1,1,1,2,2]
train_data, test_data, train_label, test_label = train_test_split(x,y)
print(train_data, test_data, train_label, test_label)
نتیجه:
['c', 'b', 'b', 'a', 'd', 'c', 'd', 'a', 'b'] ['c', 'a', 'd'] [1, 2, 1, 2, 2, 2, 1, 1, 1] [1, 1, 1]
:آزمون
x = ['a','b','c','d','a','b','c','d','a','b','c','d']
y = [1,2,1,1,2,1,1,1,1,1,2,2]
train_data, test_data, train_label, test_label = train_test_split(x,y, stratify=y)
print(train_data, test_data, train_label, test_label)
نتیجه:
['a', 'b', 'd', 'd', 'a', 'c', 'b', 'd', 'c'] ['b', 'c', 'a'] [1, 2, 2, 1, 1, 1, 1, 1, 2] [1, 1, 2]
دوره آموزشی متن کاوی با پایتون مقدماتی (مجازی)
کدام وب سایت ها از پایتون استفاده می کنند