我成功地将数据集按70:30的比例拆分为训练集和测试集,我使用了以下代码:
df_glass['split'] = np.random.randn(df_glass.shape[0], 1)msk = np.random.rand(len(df_glass)) <= 0.7train = df_glass[msk]test = df_glass[~msk]print(train)print(test)
现在,我如何将训练集和测试集进一步拆分为 X_train
、y_train
、X_test
和 y_test
,其中 X
表示数据库的特征,y
表示响应变量?
我需要进行监督学习,并在 X_Train
和 y_Train
上应用机器学习模块。
我的数据库看起来像这样:数据库片段
回答:
我猜你可能会发现这有帮助,以便理解..
import pandas as pdfrom sklearn.cross_validation import train_test_splitfrom sklearn.linear_model import LinearRegression#importing datasetdataset = pd.read_csv('Salary_Data.csv')x = dataset.iloc[:, :-1].valuesy = dataset.iloc[:, 1].values#spliting the dataset into training and test setx_train, x_test, y_train, y_test = train_test_split(x, y, test_size=1/3, random_state=0)