数据预处理
from sklearn.preprocessing import MinMaxScaler
data = [[-1,2],[-0.5,6],[0,10],[1,18]]
import pandas as pd
pd.DataFrame(data)
scaler = MinMaxScaler() #实例化,默认在0~1之间,也可指定范围
scaler = scaler.fit(data)
result = scaler.transform(data)
result
#按极差缩放
scaler = MinMaxScaler(feature_range=[5,10]) #实例化,默认在0~1之间,也可指定范围
scaler = scaler.fit(data)
result = scaler.transform(data)
result
#按标准差缩放
from sklearn.preprocessing import StandardScaler
data = [[-1,2],[-0.5,6],[0,10],[1,18]]
scaler = StandardScaler()
scaler = scaler.fit(data)
print(scaler.mean_)
print(scaler.var_)
#缺失值处理
df1 = pd.DataFrame({'A':['A0','A1','A2','A4'],'C':['C0','C1','C2',None]})
df1
from sklearn.preprocessing import MinMaxScaler
import pandas as pd
data = [[-1,2],[3,4],[5,6],[1,10]]
pd.DataFrame(data)
##数据归一化
scalar = MinMaxScaler()
scalar_fit = scalar.fit(data)
scalar.transform(data)
##数据标准化
from sklearn.preprocessing import StandardScaler
scalar = StandardScaler()
scalar_fit = scalar.fit(data)
scalar.transform(data)
##空值填充
ti_train = pd.read_csv(r'titanic_train.csv')
ti_train['Age'] =ti_train['Age'].fillna(ti_train['Age'].mean())
ti_train01 = ti_train[['Age','PassengerId']]
ti_train01.info()
#sklearn 空值填充
from sklearn.impute import SimpleImputer
mode = SimpleImputer(strategy='mean')
mode_fit = mode.fit(ti_train['Age'].values.reshape(-1, 1))
ti_train['Age']=mode.transform(ti_train['Age'].values.reshape(-1, 1))
ti_train01 = ti_train[['Age','PassengerId']]
ti_train01.info()
# 1、空值、异常值处理 (数据、业务)
# 2、分析数据 函数关系
# 3、离散型(要不要oneHot)连续型变量(要不要离散化)
# 4、归一化、标准化
# 5、特征工程
# 以上步骤可以说是数据过滤,数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已
数据特征工程
特征选择:方差过滤、卡方检验、皮尔逊相关系数、F检验、互信息法