从读取数据数据预处理到卡方检验

from odps.df.backends import pd
from sklearn.decomposition import PCA
from sklearn.feature_selection import SelectKBest, chi2
from sklearn.preprocessing import LabelEncoder

data = open(r'new.csv')#缓冲buffering(不缓冲0,缓冲指定大小 数值),打开模式mode(读r,写w,读写r+)
df = pd.read_csv(data)

#求时间差
df['creation_date'] = (pd.to_datetime('2020-1-1')-pd.to_datetime(df['creation_date'])).dt.days
#连续型特征分层
df['creation_date']=pd.qcut(df['creation_date'],5)
#有序分布编码
encoder = LabelEncoder()
df['creation_date'] = encoder.fit_transform(df['creation_date'])

独热编码与主成分分析常一起使用,独热编码会增加数据维度,使用主成分分析将维度降回初始状态

#独热编码
creation_date= pd.get_dummies(df['creation_date'])
#主成分分析
pca=PCA(n_components=1)
df['creation_date']=pca.fit_transform(creation_date)+1

卡方检验适用于大数据量,自变量与因变量、自变量与自变量之间的相关性分析,用于比较数据价值进而降维

#卡方检验
model1 = SelectKBest(chi2, k=5)#选择k个最佳特征
model1.fit_transform(df[['creation_date']], df['type'])
model1.scores_
model1.pvalues_

你可能感兴趣的:(Python)