Python基础入门 (六Sklearn常规用法)

1.Sklearn简介

2.常规使用模式

3.数据标准化

4.交叉验证

5.过拟合问题

6.保存模型

 

1.Sklearn简介

Scikit-learn(sklearn)是机器学习中常用的第三方模块,对常用的机器学习方法进行了封装,包括回归(Regression)、降维(Dimensionality Reduction)、分类(Classfication)、聚类(Clustering)方法。

常用的回归:线性、决策树、SVM、KNN ;集成回归:随机森林、Adaboost、GradientBoosting、Bagging、ExtraTrees
常用的分类:线性、决策树、SVM、KNN,朴素贝叶斯;集成分类:随机森林、Adaboost、GradientBoosting、Bagging、ExtraTrees
常用聚类:k均值(K-means)、层次聚类(Hierarchical clustering)、DBSCAN
常用降维:LinearDiscriminantAnalysis、PCA

特点:

简单高效的数据挖掘和数据分析工具;
让每个人能够在复杂环境中重复使用;
建立Numpy、Scipy、Matplotlib之上;

安装:

安装scikit-learn可以使用pip install scikit-learn .
同时你还需要安装Numpy,Pandas(同样的安装方法)。

 

2.常规使用模式

2.1 流程

Sklearn是已经把算法都写好了,我们只需学会使用这些模块,当然,你在实际的学习中是需要搞清楚算法的原理,今天我们只讲如何使用sklearn。sklearn包含众多机器学习算法,这些算法模型的通用模式是怎么样的呢,下边我们就进行学习。

导包 ->  加载数据 ->  数据预处理 ->  选择算法训练数据 ->  测试数据 ->  预测结果写入.csv中

#sklearn自带数据集,我们通过对自带数据集选择相应的机器学习算法进行训练。
from sklearn import datasets  #导入数据集
from sklearn.model_selection import train_test_split #将数据分为测试集和训练集
from sklearn.neighbors import KNeighborsClassifier  #利用近邻点方式训练数据

iris=datasets.load_iris() #加载鸢尾花数据
iris_X=iris.data  #特征
iris_y=iris.target #目标变量

#将数据集分成训练集和测试集两部分,测试集占比30%
X_train,X_test,y_train,y_test=train_test_split(iris_X,iris_y,test_size=0.3)
print(y_train)  #看看y_train都有啥
[2 0 2 1 0 2 1 2 1 0 1 0 1 2 2 2 0 1 2 1 1 1 0 1 2 1 0 0 0 0 0 1 0 1 1 2 2
 1 2 2 1 0 2 1 0 1 0 0 2 2 2 1 2 2 0 0 0 2 0 0 0 2 2 2 0 0 2 1 0 2 1 2 1 1
 2 2 2 0 2 1 0 0 1 2 2 0 1 0 1 1 0 2 0 1 1 2 0 1 0 1 2 1 2 0 1]
#训练数据
knn=KNeighborsClassifier() #引入训练方法
knn.fit(X_train,y_train)  #队训练数据进行拟合
KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',
           metric_params=None, n_jobs=1, n_neighbors=5, p=2,
           weights='uniform')
#测试数据
y_pred=knn.predict(X_test)  
# y_predprob=knn.predict_proba(X_test)[:,1]
print(y_pred)  #查看一下测试数据的预测类别
[1 1 1 1 1 0 0 0 0 0 1 2 0 1 2 2 1 0 0 0 2 1 2 2 2 0 2 0 0 2 1 2 2 0 1 2 0
 2 1 2 1 1 1 2 0]

一般,我们参加比赛会把最后的模型结果写入.csv文件,提交。

# print(type(y_pred))
# print(y_pred.size)
#生成一个样本对应ID,假设是1-45的序号
ind=[]
for i in range(45):
    ind.append(i+1)
#回顾Pandas中的数据框
import pandas as pd
dic={'id':ind,'pred':y_pred}
test_pred=pd.DataFrame(dic)
test_pred.head()

#将数据框写入.csv文件中
test_pred.to_csv('knn_iris.csv',index=False)

其他的不同的数据集:
load_boston()
load_iris()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值