python数据分析之分类模型与回归模型-第七次笔记
1.分类模型
– *1.1KNN 算法
– *1.2朴素贝叶斯 算法
– *1.3支持向量机SVM 算法
– *1.4集成方法—随机森林算法
– *1.5集成方法—Adaboost 算法
– *1.6决策树
2.回归模型
– *2.1线性回归
– *2.2岭回归
– *2.3Lasso回归
– *2.4逻辑回归
– *2.5人工神经网络
– *2.6GBDT,回归树和提升树
提取数据
#提取训练集,验证集,测试集 比例为6:2:2
from sklearn.model_selection import train_test_split
f_v = features.values
f_names = features.columns.values
l_v = label.values
X_tt, X_validation, Y_tt, Y_validation = train_test_split(f_v, l_v, test_size=0.2)
X_train, X_test, Y_train, Y_test = train_test_split(X_tt, Y_tt, test_size=0.25)
1.分类模型
1.1KNN 算法
#导入模块
from sklearn.neighbors import NearestNeighbors, KNeighborsClassifier
models.append(("KNN",KNeighborsClassifier(n_neighbors=3)))
[/code]
#### 1.2朴素贝叶斯 算法
```code
from sklearn.naive_bayes import GaussianNB,BernoulliNB
#朴素贝叶斯
models.append(("GaussianNB",GaussianNB()))
models.append(("BernoulliNB",BernoulliNB()))
[/code]
#### 1.3支持向量机SVM 算法
```code
from sklearn.svm import SVC
# SVM 支持向量机 C参数控制精度
models.append(("SVM Classifier",SVC(C=1000)))
[/code]
#### 1.4集成方法—随机森林算法
```code
from sklearn.ensemble import RandomForestClassifier
#原始森林
models.append(("OriginalRandomForest",RandomForestClassifier()))
#随机森林
models.append(("RandomForest",RandomForestClassifier(n_estimators=11,max_features=None)))
[/code]
#### 1.5集成方法—Adaboost 算法
```code
from sklearn.ensemble import AdaBoostClassifier
#分类集成,Adaboost 方法:base_estimator=SVC(),n_estimators=100,algorithm="SAMME")))
models.append(("Adaboost",AdaBoostClassifier(n_estimators=100)))
[/code]
#### 1.6决策树
```code
from sklearn.tree import DecisionTreeClassifier,export_graphviz
#min_impurity_split=0.1 最小不纯度的区分,减枝方法
#决策树(Gini)不纯度
models.append(("DecisionTreeGini",DecisionTreeClassifier()))
#决策树
models.append(("DecisionTreeEntropy",DecisionTreeClassifier(criterion="entropy")))
[/code]
### 2.回归模型
#### 2.1线性回归
```code
#线性回归
from sklearn.linear_model import LinearRegression,Ridge,Lasso
#线性回归
#regr=LinearRegression()
[/code]
#### 2.2岭回归
```code
#岭回归
regr=Ridge(alpha=1)
[/code]
#### 2.3Lasso回归
```code
#Lasso
regr=Lasso(alpha=0.001)
2.4逻辑回归
#逻辑回归也是一种线性回归
models.append(("LogisticRegression",LogisticRegression(C=1000,tol=1e-10,solver="sag",max_iter=10000)))