【发布时间】:2021-10-12 14:25:24
【问题描述】:
我正在使用来自 sklearn 的 iris 数据集进行一些基本的预测建模。我将数据分成训练集和测试集,对于给定比例的列表,我想在不替换不同比例的训练数据的情况下进行抽样。我需要使用 np.random.choice 无法使用 df.sample
进行采样但我正在做的采样似乎不正确。我将非常感谢任何见解。
import numpy as np
import pandas as pd
from sklearn.datasets import load_iris
iris = load_iris()
props=[0.2,0.5,0.7,0.9]
df = pd.DataFrame(data= np.c_[iris['data'], iris['target']],
columns= iris['feature_names'] + ['target'])
y=df[list(df.loc[:,df.columns.values =='target'])]
X=df[list(df.loc[:,df.columns.values !='target'])]
X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.3
,train_size=0.7)
for i in proportions:
sampleX=np.random.choice(X_train, size=i, replace = False) #----> code to sample
【问题讨论】:
标签: python pandas numpy scikit-learn