import numpy as np
from sklearn.tree import DecisionTreeClassifier
from sklearn.linear_model import LogisticRegression
from sklearn.svm import SVC
from sklearn import datasets
加载数据
我们加载的是啤酒的数据
wine = datasets.load_wine()
wine
![](https://i-blog.csdnimg.cn/direct/5fbd6e993e6e443b814b8fd7684ead2f.png)
LR逻辑斯蒂回归模型应用
import warnings
warnings.filterwarnings('ignore')#隐藏ignore报错
%%time
score = 0
for i in range(100):
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.2)
lr = LogisticRegression()
lr.fit(X_train,y_train)
s=lr.score(X_test,y_test)
score +=s/100
print('LR逻辑斯蒂回归算法多次运算平均是',score)
![](https://i-blog.csdnimg.cn/direct/c7d7f1658b7b439c89d4192c5316dc14.png)
SVC支持向量机模型应用
%%time
score = 0
for i in range(1000):
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.2)
model = SVC()
model.fit(X_train,y_train)
s=model.score(X_test,y_test)
score +=s/1000
print('SVC算法多次运算平均是',score)
![](https://i-blog.csdnimg.cn/direct/ca652d6128444033878a93980224f052.png)
决策树模型应用
%%time
score = 0
for i in range(1000):
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.2)
model = DecisionTreeClassifier()
model.fit(X_train,y_train)
s=model.score(X_test,y_test)
score +=s/1000
print('决策树算法多次运算平均是',score)
![](https://i-blog.csdnimg.cn/direct/b60b8cb2ae0043229335c1b9b9a92721.png)
不同算法总结对比
递归树对数据是否归一化不敏感
逻辑回归,如果不进行归一化,准确率降低,运行时间会增加
svc支持向量机,如果不进行归一化,准确率,大大降低
model = DecisionTreeClassifier()
model.fit(X_train,y_train)
model.feature_importances_
![](https://i-blog.csdnimg.cn/direct/5e315ded6ec64a6eb360de030a1571a9.png)
![](https://i-blog.csdnimg.cn/direct/2f2be06e694f44d588f549f7ac3c0764.png)
![](https://i-blog.csdnimg.cn/direct/e0660bc679e9484194154d129d267a1d.png)
回归模型中,就线性回归可以表示重要性的大小