机器学习(十五)零碎和总结
一些大体轮廓学完之后,有一些细小的知识点补充一下。顺便做一下阶段性的总结。
一.降维,分类,回归,聚类的使用情况
sklearn官方为我们画了一张图,很好的说明了这个问题。不难看出,什么时候使用什么样的算法,受到数据集大小的影响
二.模型的保存和导入
在实际工作当中,经常会遇到使用以前已经跑过的模型的情况,显然,这个时候,你并不需要把之前训练的模型再重新训练一遍。这个时候就需要两个方法:
-
当跑完一个模型,你想保存下来:
from sklearn.externals import joblib lr = LinearRegression() """ ……省略若干代码 """ # 保存训练好的模型 joblib.dump(lr, "./tmp/test.pkl")
-
当下次你想用这个模型的时候:
std_y = StandardScaler() """ ……省略若干代码 """ model = joblib.load("./tmp/test.pkl") y_predict = std_y.inverse_transform(model.predict(x_test))
三.线性回归与逻辑回归的对比
算法 | 策略(误差估计) | 优化方法 |
---|---|---|
线性回归 | 误差平方、最小二乘法 | 正规方程、梯度下降 |
逻辑回归 | 对数似然损失 | 梯度下降 |