1. 程式人生 > >python使用pandas抽樣訓練資料中某個類別

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