一.快速查看数据结构
1.housing.head(): 查看DataFrame的前5行
2.housing.info(): 查看DataFrame的总行数,每个属性的类型及非空值的数量
3.housing['xx'].value_counts(): 查看有多少xx有多少取值,每种取值分别有多少数量
4.housing.describe(): 显示DataFrame中的数值摘要
二.创建测试集(只把函数列出)
1.train_test_split:纯随机的抽样方法
from sklearn.model_selection import train_test_split
2.StratifiedShuffleSplit:分层抽样
from sklearn.model_selection import StratifiedShuffleSplit
三:DataFrame可视化
housing.plot(kind="scatter",x=" ",y=" ",alpha=)
plt.show()
其中kind指图像类型,scatter指定图像为散点图
x,y为xy轴的对象,需要指定想要的DataFrame的列
alpha为图像的透明度,可以突出点的密集区域
四:寻找相关性
1.corr():计算出每对属性之间的标准相关系数,也称为皮尔逊相关系数
corr_matrix = housing.corr()
相关系数从[-1,1],越接近-1,代表有越强的负相关;越接近1,代表有越强的正相关
2.scatter_matrix:散点矩阵图,会绘制出每个数值属性相对于其他数值属性的相关性
from pandas.plotting.scatter_matrix
五:处理残缺值
Imputer():提供了各种策略来替换属性的残缺值
from sklearn.preprocessing import Imputer
六:处理文本和分类属性
1.LabelEncoder():将文本标签转化为数字
from sklearn.preprocessing import LabelEncoder()
2.OneHotEncoder():将整数分类转化为独热向量,即Bit-map
from sklearn.preprocessing import OneHotEncoder()
3.LabelBinarizer():一口气将文本标签转化为独热向量
from sklearn.preprocessing import LabelBinarizer()
tip:reshape()函数允许一个维度等于-1,也就是未指定,表明该值由数组的长度和其他的维度来推断
(1)
a = DataFrame(np.arange(25).reshape((5,-1)))
print(a)
0 1 2 3 4
0 0 1 2 3 4
1 5 6 7 8 9
2 10 11 12 13 14
3 15 16 17 18 19
4 20 21 22 23 24
(2)
a = DataFrame(np.arange(25).reshape((-1,5)))
print(a)
0 1 2 3 4
0 0 1 2 3 4
1 5 6 7 8 9
2 10 11 12 13 14
3 15 16 17 18 19
4 20 21 22 23 24
七:特征缩放
1.MinMaxScaler:归一化,将数据缩放到[0,1]之间
2.StandadScaler:标准化
八:转换流水线
1.Pipeline:将数据转换的步骤按照指定的顺序执行
import from sklearn.pipeline import Pipeline
2.FeatureUnion:并行运行每个转换器
import from sklearn.pipeline import FeatureUnion
九:评估训练集
1.mean_squared_error:根据均方根误差来判断模型好坏
from sklearn.metrics import mean_squared_error
2.cross_val_score:利用训练集交叉验证
from sklearn.model_selection import cross_val_score
十:保存模型
joblib
from sklearn.externals import joblib
十一:微调模型
1.GridSearchCV:网格搜索
from sklearn.model_selection import GridSearchCV
2.RandomizedSearchCV:随机搜索
from sklearn.model_selection import RandomizedSearchCV