LR(logist regression)
对象形式:
sklearn.linear_model.LogisticRegression(penalty='l2', dual=False,
tol=0.0001, C=1.0, fit_intercept=True, intercept_scaling=1,
class_weight=None, random_state=None, solver='liblinear',
max_iter=100, multi_class='ovr', verbose=0, warm_start=False, n_jobs=1)
参考:
https://blog.csdn.net/junhongzhang/article/details/103686865
https://blog.csdn.net/qq_36535820/article/details/98768618
KNN的实现方法
对象形式:
KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',
metric_params=None, n_jobs=1, n_neighbors=3, p=2,
weights='uniform')
参考:
https://blog.csdn.net/weixin_39778570/article/details/81455344
随机森林
clf = RandomForestClassifier(n_estimators=200, criterion='entropy', max_depth=4)
rf_clf = clf.fit(x, y.ravel())
RandomForestClassifier函数的参数含义详解:
1.max_features:随机森林允许单个决策树使用特征的最大数量。 Python为最大特征数提供了多个可选项。 下面是其中的几个:
-Auto/None :简单地选取所有特征,每颗树都可以利用他们。这种情况下,每颗树都没有任何的限制。
-sqrt :此选项是每颗子树可以利用总特征数的平方根个。 例如,如果变量(特征)的总数是100,所以每颗子树只能取其中的10个。“log2”是另一种相似类型的选项。
-0.2:此选项允许每个随机森林的子树可以利用变量(特征)数的20%。如果想考察的特征x%的作用, 我们可以使用“0.X”的格式。
2.n_estimators:在利用最大投票数或平均值来预测之前,你想要建立子树的数量。 较多的子树可以让模型有更好的性能,但同时让你的代码变慢。 你应该选择尽可能高的值,只要你的处理器能够承受的住,因为这使你的预测更好更稳定。
- n_jobs=1:并行job个数。这个在ensemble算法中非常重要,尤其是bagging(而非boosting,因为boosting的每次迭代之间有影响,所以很难进行并行化),因为可以并行从而提高性能。1=不并行;n:n个并行;-1:CPU有多少core,就启动多少job
参考:
https://www.cnblogs.com/baby-lily/p/10657185.html
https://blog.csdn.net/qq_16633405/article/details/58596368
SVM
from sklearn import svm
clf=svm.SVC(kernel='linear', C=1000)
#kernel可以是:'linear','poly','rbf'
#C是乘法项,但penalty的系数是1/C
clf.fit(x,y)
参考:
https://www.jianshu.com/p/6ebdfe0cf1a4
https://www.cnblogs.com/xiaotan-code/p/6695049.html
学习曲线
from sklearn.learning_curve import learning_curve #旧版
from sklearn.model_selection import learning_curve#新版