使用 Sklearn 库简单的来说主要分为以下几步:
1、判断问题属于何种算法类型
2、从库中导入模型,进行训练
3、对训练后的模型进行评价
4、调整参数,优化
如此循环往复,我们所需要的模型也就越来越符合我们问题的需求。
一、模型使用
我们知道 Sklearn 库中主要包含以下算法:
回归,分类,聚类和降维
其中回归,分类属于监督学习
而聚类,降维属于无监督学习
每种算法的使用方法都大致一样,下面以回归算法为例:
如我们需要预测的为房价,我们使用线性回归模型。
下面展示的即使线性回归模型的导入和训练。
from Sklearn.linear_model import LinearRegression
lr = LinearRegression (normalize =True )
lr.fit (X_train, y_train)
y_pred = lr.predict(X_test)
那么对于线性回归模型的认识我们不应只停留于上述例子的简单层面,还需对其中的参数有深入的了解。
LinearRegression(fit_intercept = True,normalize = False, copy_X = True,n_jobs = 1)
上述参数除了 n_jobs 为整数,其余都是布尔值。
fit_intercept: 表示是否计算回归截距
normalize:表示是否对训练样本进行归一化处理
copy_X:表示是否复制一份训练数据
n_jobs: 表示任务并行时 cpu 的数量,当设置为-1 时,cpu 全部占用。
除了上述的参数,还有几个方法:
coef_ :权重向量,用于计算斜率
inteecept_ :用于计算截距
fit:进行拟合
predict:进行预测
以上就是线性回归的线管,对于其他模型的使用与学习研究方法也与此类似,需要我们自己花时间去研究,去实践。
二、模型评价
主要利用 sklearn.metrics 模块,其中包含了许多模型评价函数
评价的使用方法主要是以下:
from sklearn.metrics import 库名称
导入后根据库的方法进行使用,具体的需要根据具体问题进行分析。
(三)模型参数调整
这里主要是超参数。
超参数即指无法从训练中得到而需要提前提供
对于超参数的调整在使用 Sklearn 时我们主要使用三种调整方法:
网格搜索、随机搜索和贝叶斯搜索。
以上是一些学习交流内容,有不正确的欢迎大家批评指正,希望与大家共同交流共同进步!