python分层抽样_python使用pandas抽样训练数据中某个类别

# -*- coding: utf-8 -*-

import numpy

from sklearn import metrics

from sklearn.svm import LinearSVC

from sklearn.naive_bayes import MultinomialNB

from sklearn import linear_model

from sklearn.datasets import load_iris

from sklearn.cross_validation import train_test_split

from sklearn.preprocessing import OneHotEncoder, StandardScaler

from sklearn import cross_validation

from sklearn import preprocessing

import scipy as sp

from sklearn.linear_model import LogisticRegression

from sklearn.feature_selection import SelectKBest ,chi2

import pandas as pd

from sklearn.preprocessing import OneHotEncoder

#import iris_data

'''

creativeID,userID,positionID,clickTime,conversionTime,connectionType,

telecomsOperator,appPlatform,sitesetID,positionType,age,gender,

education,marriageStatus,haveBaby,hometown,residence,appID,appCategory,label

'''

def test():

df = pd.read_table("/var/lib/mysql-files/data1.csv", sep=",")

df1 = df[["connectionType","telecomsOperator","appPlatform","sitesetID",

"positionType","age","gender","education","marriageStatus",

"haveBaby","hometown","residence","appCategory","label"]]

print df1["label"].value_counts()

N_data = df1[df1["label"]==0]

P_data = df1[df1["label"]==1]

N_data = N_data.sample(n=P_data.shape[0], frac=None, replace=False, weights=None, random_state=2, axis=0)

#print df1.loc[:,"label"]==0

print P_data.shape

print N_data.shape

data = pd.concat([N_data,P_data])

print data.shape

data = data.sample(frac=1).reset_index(drop=True)

print data[["label"]]

return

你可能感兴趣的:(python分层抽样)