# 机器学习5大步骤
# 一、数据获取(1、获取数据集,2、数据集切分为特征值,目标值,再分别切分为训练集合测试集)
# 二、数据基本处理(1、缺失值处理,2、缩小数据范围,3、异常数据处理,如filllna,dropna,replace)
#三、特征工程 (转换为机器容易识别的数据)
# 1、特征预处理 (归一化-sklearn.preprocessing.MinMaxScaler、标准化(常用)-sklearn.preprocessing.StandardScaler)
# 2、特征抽取 (字典特征抽取-sklearn.feature_extraction.DictVectorizer,存在类别信息做one-hot编码处理,文本特征抽取-sklearn.feature_extraction.text.CountVectorizer,中文则先使用jieba.cut切割,图像特征抽取)
# 文本特征抽取 tf_idf的使用 ,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度-sklearn.feature_extraction.text.TfidfVectorizer
# 3、特征降维
# 3.1特征选择 (删除低方差的一些特征--sklearn.feature_selectionVarianceThreshold
# 皮尔逊相关系数 scipy.stats.pearsonr
# 斯皮尔曼相关系数)
# 3.2主成分分析 高维数据转低维数据,舍弃原有数据,创建新数据
# sklearn.decomposition.PCA
#四,# # # # # #
常见导入机器学习的通用包
import pandas as pd
import numpy as np
# 训练集(模型构建,70%-80%)测试集(模型评估,30%-20%)分割工具
from sklearn.model_selection import train_test_split
# 返回值顺序 ----- 训练集特征值 测试集特征值 训练集目标值 测试集目标值
x_train x_test y_train y_test =train_test_split(x,y,test_size=0.2,random_state=1)
# 训练模型网格搜索交叉验证(网格搜索-预设超参数,n折交叉验证-训练集再次分割为n-1训练集和1验证集)
from sklearn.model_selection import GridSearchCV
01.K-近邻算法 (小数据 几千到几万)
knn 欧式距离 曼哈顿 sklearn.neighbors.KNeighborsClassifier
02.线性回归
损失-最小二乘法
优化算法 正规方程 小样本
sklearn.linear_model.LinearRegressor
梯度下降法
sklearn.linear_model.SGD Regressor
评估-均方误差 sklearn.metrics.mean_squared_error
03.逻辑回归
04.决策树算法
# 训练集测试集分割工具
from sklearn.model_selection import train_test_split
# 字典特征提取
from sklearn.feature_extraction import DictVectorizer
# 决策树(默认gini基尼)
from sklearn.tree import DecisionTreeClassifier
# 随机森林(bagging+随机数,bagging可以解决过拟合)
from sklearn.ensemble import RandomForestClassfier