文章目录
sklearn调包 分类\回归\聚类算法
分类器 就是 这里所说的算法.
分类
可以通过调节方法中的参数, 提高准确度, 重点在参数怎么选择?
01 KNN K最近邻分类
from sklearn.neighbors import NearestNeighbors,KNeighborsClassifier
clf = KNeighborsClassifier(n_neighbors=3)
clf.fit(X_train, Y_train) #训练fit 得到模型
# 训练得到模型后, clf.predict(验证集\测试集的X_) 得到对应的预测值
Y_pred = clf.predict(X_train) #得到预测值
print("ACC",accuracy_score(Y_train, Y_pred)) #准确率
print("REC",recall_score(Y_train, Y_pred)) #召回率
print("F-Score",f1_score(Y_train, Y_pred)) #F值
02 Naive Bayes 朴素贝叶斯
from sklearn.naive_bayes import GaussianNB, BernoulliNB
clf = GaussianNB()
clf.fit(X_train, Y_train) #训练fit 得到模型
# 训练得到模型后, clf.predict(验证集\测试集的X_) 得到对应的预测值
Y_pred = clf.predict(X_train) #得到预测值
print("ACC",accuracy_score(Y_train, Y_pred)) #准确率
print("REC",recall_score(Y_train, Y_pred)) #召回率
print("F-Score",f1_score(Y_train, Y_pred)) #F值
03 Decision Tree 决策树 (防止过拟合, 剪枝)
from sklearn.tree import DecisionTreeClassifier
clf = DecisionTreeClassifier()
clf.fit(X_train, Y_train) #训练fit 得到模型
# 训练得到模型后, clf.predict(验证集\测试集的X_) 得到对应的预测值
Y_pred = clf.predict(X_train) #得到预测值
print("ACC",accuracy_score(Y_train, Y_pred)) #准确率
print("REC",recall_score(Y_train, Y_pred)) #召回率
print("F-Score",f1_score(Y_train, Y_pred)) #F值
04 Support Vector Machine SVM 支持向量机
1 先映射 在计算(产生维度灾难) --> 先计算(低维空间), 再扩维(使用核函数)
from sklearn.svm import SVC
clf = SVC(C=10000) # 不添加C 准确率比较低
clf.fit(X_train, Y_train) #训练fit 得到模型
# 训练得到模型后, clf.predict(验证集\测试集的X_) 得到对应的预测值
Y_pred = clf.predict(X_train) #得到预测值
print("ACC",accuracy_score(Y_train, Y_pred)) #准确率
print("REC",recall_score(Y_train, Y_pred)) #召回率
print("F-Score",f1_score(Y_train, Y_pred)) #F值
05 Random Forest 随机森林
森林里有多个树
效果好于决策树
from sklearn.ensemble import RandomForestClassifier
clf = RandomForestClassifier()
clf.fit(X_train, Y_train) #训练fit 得到模型
# 训练得到模型后, clf.predict(验证集\测试集的X_) 得到对应的预测值
Y_pred = clf.predict(X_train) #得到预测值
print("ACC",accuracy_score(Y_train, Y_pred)) #准确率
print("REC",recall_score(Y_train, Y_pred)) #召回率
print("F-Score",f1_score(Y_train, Y_pred)) #F值
06 adaboost
from sklearn.ensemble import AdaBoostClassifier
clf = AdaBoostClassifier()
clf.fit(X_train, Y_train) #训练fit 得到模型
# 训练得到模型后, clf.predict(验证集\测试集的X_) 得到对应的预测值
Y_pred = clf.predict(X_train) #得到预测值
print("ACC",accuracy_score(Y_train, Y_pred)) #准确率
print("REC",recall_score(Y_train, Y_pred)) #召回率
print("F-Score",f1_score(Y_train, Y_pred)) #F值
预测
聚类
Logistic Regression LR 逻辑回归
K-means聚类算法
GBDT 梯度下降树
XGBoost