1 导入数据与划分数据集
1.1。导入数据:
使用 pandas.read_csv('https://.....', header='infer', index_col=None)
1.2。随机抽样:
DataFrame.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None)[source]
n=3:提取3行数据列表
frac=0.8: 抽取其中80%
random_state=None:取得数据不重复
random_state=1:可以取得重复数据
axis:选择抽取数据的行还是列
axis=0: 在行中随机抽取n行
axis=1: 在列中随机抽取n列
1.3。划分数据集:
第一列 id 列给去掉,然后最后一列 default.payment.next.month 列 作为目标值,其他列作为特征值
data=pd.read_csv("../data/huanbei.csv");
print(data.head())
#iloc只能用数字索引,不能用索引名
#print(data.iloc[:,0:4])
##loc只能通过index和columns来取,不能用数字
#print(data.loc[0:1,["序号","颜色","形状","重量"]])
#print(data['类别'])
x_data=data.iloc[:,0:4];
x_target=data['类别'];
2 特征工程、数据预处理 - 数据规范化与数据降维
2.1。数据规范化:
2.1.1 归一化: sklearn.preprocessing.MinMaxScaler通过对原始数据进行变换把数据映射到(默认为[0,1])之间.
什么时候进行归一化?归一化的作用?:当三个特征同等重要的时候,进行归一化, 归一化使得某一个特征对最终结果不会造成更大的影响。
最大值与最小值非常容易受异常点影响,所以这种方法鲁棒性较差,只适合传统精确小数据场景。
2.1.2 标准化: 通过对原始数据进行变换把数据变换到均值为0,方差为1范围内.
在已有样本足够多的情况下比较稳定,适合现代嘈杂大数据场景。
2.2。数据降维 - 主成分分析PCA:把高维数据转化为低维数据 -> 压缩数据,降低复杂度,损失少量信息
2.1 PCA降维做的事情:找到一个合适的直线,通过一个矩阵运算得出主成分分析的结果
2.2 API: sklearn.decomposition.PCA(n_components=None)
2.2.1 n_components: 小数代表保留多少百分比的信息;整数代表减少到多少特征属性
2.2.2 PCA.fit_