np.meshgrid 从坐标向量返回坐标矩阵 #将两个一维数组变为二维矩阵
numpy之meshgrid和where 将 x 变成了矩阵 z 的行向量,y 变成了矩阵 s 的列向量
np.stack
np.linspace
np.count_nonzero(y_hat==y)
np.array(((2,1),(1,2))) array([[2, 1], [1, 2]])
x,y=np.split(data,(2,),axis=1)
pd.Categorical(data[4]).codes
Python下的机器学习工具scikit-learn(学习笔记3--数据预处理)
1)argsort函数返回的是数组值从小到大的索引值;
2)scikit-learn模块学习笔记(数据预处理模块preprocessing)
fit(X[,y]):根据数据 X 的值,设置标准化缩放的比例
transform(X[,y, copy]):用之前设置的比例标准化 X
fit_transform(X[, y]):根据 X设置标准化缩放比例并标准化
3)非常棒!!!OneHotEncoder无法直接对字符串型的类别变量编码
方法一 先用 LabelEncoder() 转换成连续的数值型变量,再用 OneHotEncoder() 二值化
方法二 直接用 LabelBinarizer() 进行二值化
4)dataframe选取,注意返回的类型
data.iloc[:,:-1] 万分注意!!
用pandas中的DataFrame时选取行或列
选取列:
type(data[[4]]) pandas.core.frame.DataFrame
type(data[4]) pandas.core.series.Series
选取行:data[0:4]
5)sklearn主要实现功能(大的模块分类)http://scikit-learn.org/stable/index.html 首页列表中显示
A. classification (分类)
B. regression(回归)
C. Clustering(聚类)
D. dimensionality reduction(降低维度)
E. model selection(模型选择)
F. Preprocessing(预处理)
0.数据集
sklearn.datasets
1.特征预处理
sklearn.feature_extraction(特征抽取:支持文本、图像的特征提取)
sklearn.feature_selection(特征选择)
sklearn.preprocessing(特征预处理:归一化,onehot离散化,normalize等,复杂的离散化方法不支持)
sklearn.random_projection (数据集合)
2/3.模型训练
sklearn.cluster
sklearn.cluster.bicluste
sklearn.semi_supervised
sklearn.svm
sklearn.tree
sklearn.linear_model
sklearn.naive_bayes
sklearn.neural_network
4.模型评估
sklearn.metrics
sklearn.cross_validation
5. 任务批量执行(串行)sklearn.pipeline