机器学习总结.

1.获取数据集-
   数据查看 
      基本信息:data.info()
     数据摘要:data.describe()    (均值、标准差)
     缺失值:data.isnull()  .sum()
     唯一值: data.nunique()   
    行列数: data.shape  #返回值第一个是行数 第二个是列数
数据类型:  data.dtypes
前五行数据:data.head()  #参数为前n行数据
2.数据预处理
  重复值   1 删除重复行  .drop_duplicates()       2 保留第一次出现的重复行  .duplicated().fist("l列名')


  缺失值  .fillna(0)   #用0填充缺失值      
 删除缺失值所在的行  .dropna(subset=("label"),inplace=True)  
 #参数 axis  默认为0,表示沿行删除      
subset 表示按哪些列判断是否有空   
 how 确定如何处理缺失值  默认为 any 表示 只要一行中有任何缺失就删除改行

  异常值  data=data[data['feature']<10]
   数据格式转换   .to_datatime(data['data'],format="%d/%m/%Y")
   数据转换        .replace({True:1,False:0})
数据合并    .concat([x,y],axis=1)
  数据平滑处理
3.划分数据集
4.特征工程:
      One-Hot编码   .get_dummies()
      文本特征提取  CountVectorizer()  TfidfVectorizer()
      特征提取:方差过滤  PCA降维
      标准化 (单位不统一时) StandardScaler()
      归一化  (两列数据差值较大 结果差不多只有一列取决时) MinMaxScaler()
5.预估器

   分类问题:逻辑回归(LogisticRegression)、决策树(DecisionTreeClassifier
)、朴素贝叶斯(GaussianNB、MultinomialNB)、随机森林(RandomForestClassifier)、支持向量机(svm)、神经网络

二分类: 逻辑回归 、支持向量机(SVM) 、决策树、随机森林、朴素贝叶斯
多回归:支持向量机、决策树、随机森林、神经网络

   回归问题:线性回归(LinearRegression)、岭回归(Ridge)、多项式回归(PolynomialFeatures)、随机森林(RandomForestRegression)、支持向量回归


     朴素贝叶斯: 1.高斯模型   2.多项式朴素贝叶斯  3.伯努利模型
     
     集成方法

           投票器 VotingClassifier、VotingRegression
              硬投票  结果决定 少数服从多数
              软投票  概率决定 加权平均值

vote=VotingClassifier(estimators=[("decision",decision),("random",bagging),("b",Gradient)],voting="hard")
vote.fit(new_x_train,y_train)
y_pred=vote.predict(new_x_test)
vote_score=accuracy_score(y_test,y_pred)
print("vote",vote_score)


           Bagging
bagging=BaggingClassifier(Gradient,n_estimators=10,random_state=42)
bagging.fit(new_x_train,y_train)
y_pred=bagging.predict(new_x_test)
baggin_score=accuracy_score(y_test,y_pred)
print("bagging",baggin_score)

           boost
        (Adaboost、 XGboost、Gradientboost)


Gradient=GradientBoostingClassifier()
Gradient.fit(new_x_train,y_train)
y_pred=Gradient.predict(new_x_test)
gradient_score=accuracy_score(y_test,y_pred)
print("grandient",gradient_score)

           stacking
stacking=StackingClassifier([("decision",decision),("random",bagging),("b",Gradient)],final_estimator=vote)
stacking.fit(new_x_train,y_train)
y_pred=stacking.predict(new_x_test)
stacking_score=accuracy_score(y_test,y_pred)
print("stack",stacking_score)

 )
      
6.模型调优:
            数据增强:对原始数据进行随机变换  如 翻转 旋转 缩放等

7.模型指标

  分类问题:正确率 、 精确率(accuracy_score(y_test, y_predict)) 、
  回归问题:决定系数(r2_score(y_test,y_pred)) 、均方误差

学习项目:


预测股票价格
文本分类
垃圾邮件识别 
手写数字识别
情感分析项目
物品推荐系统 
 

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值