一、常见算法分类
- 分类方法
- KNN
- 逻辑斯蒂回归(logiscic)
- 决策树
- 朴素贝叶斯
- 支持向量机SVC
from sklearn.neighbors import KNeighborsClassifier
from sklearn.linear_model import LogisticRegression
from sklearn.tree import DecisionTreeClassifier
from sklearn.naive_bayes import GaussianNB
from sklearn.svm import SVC
- 回归方法
- KNN
- 普通线性回归(linear)
- 岭回归(ridge)
- lasso回归
- 决策树
- 支持向量机SVR
from sklearn.neighbors import KNeighborsRegressor
from sklearn.linear_model import LinearRegression
from sklearn.linear_model import Ridge
from sklearn.linear_model import Lasso
from sklearn.tree import DecisionTreeRegressor
from sklearn.svm import SVR
- 聚类方法
- K均值算法(K-means) (无监督学习)
from sklearn.cluster import KMeans
二、算法说明
1.KNN算法
kNN算法又称为k近邻分类(k-nearest neighbor classification)算法。是从训练集中找到和新数据最接近的k条记录,然后根据他们的主要分类来决定新数据的类别。
该算法涉及3个主要因素:训练集、距离或相似的衡量、k的大小。
- 优点
简单,易于理解,易于实现,无需估计参数,无需训练
适合对稀有事件进行分类(例如当流失率很低时,比如低于0.5%,构造流失预测模型)
特别适合于多分类问题(multi-modal,对象具有多个类别标签),例如根据基因特征来判断其功能分类,kNN比SVM的表现要好
- 缺点
懒惰算法,对测试样本分类时的计算量大,内存开销大,评分慢
可解释性较差,无法给出决策树那样的规则。
- 使用
#1.导入:
分类问题:
from sklearn.neighbors import KNeighborsClassifier
回归问题:
from sklearn.neighbors import KNeighborsRegressor