机器学习算法代码片段

By 陆勤 at 11 天前 • 0人收藏 • 18人看过

利用Python的scikit-learn库实现常用的机器学习算法。


一  逻辑回归算法


# 导入所需库
from sklearn import datasets
from sklearn import metrics
from sklearn.linear_model import LogisticRegression
import warnings
warnings.filterwarnings('ignore')

# 加载iris数据集
dataset = datasets.load_iris()
# 拟合逻辑回归模型
lr_model = LogisticRegression()
lr_model.fit(dataset.data, dataset.target)
# 模型预测
expected = dataset.target
predicted = lr_model.predict(dataset.data)
# 模型评价
print(metrics.classification_report(expected, predicted))
print(metrics.confusion_matrix(expected, predicted))

结果:


image.png


二 朴素贝叶斯算法

from sklearn import datasets
from sklearn import metrics
from sklearn.naive_bayes import GaussianNB
import warnings
warnings.filterwarnings('ignore')
# 加载iris数据集
dataset = datasets.load_iris()
# 拟合朴素贝叶斯模型
nb_model = GaussianNB()
nb_model.fit(dataset.data, dataset.target)
# 模型预测
expected = dataset.target
predicted = nb_model.predict(dataset.data)
# 模型评估
print(metrics.classification_report(expected, predicted))
print(metrics.confusion_matrix(expected, predicted))

结果

image.png


三 K近邻算法

from sklearn import datasets
from sklearn import metrics
from sklearn.neighbors import KNeighborsClassifier
import warnings
warnings.filterwarnings('ignore')
# 加载iris数据集
dataset = datasets.load_iris()
# 拟合K近邻模型
knn_model = KNeighborsClassifier()
knn_model.fit(dataset.data, dataset.target)
# 模型预测
expected = dataset.target
predicted = knn_model.predict(dataset.data)
# 模型评估
print(metrics.classification_report(expected, predicted))
print(metrics.confusion_matrix(expected, predicted))

结果

image.png


四 CART算法


from sklearn import datasets
from sklearn import metrics
from sklearn.tree import DecisionTreeClassifier
import warnings
warnings.filterwarnings('ignore')
# 加载iris数据集
dataset = datasets.load_iris()
# 拟合CART模型
cart_model = DecisionTreeClassifier()
cart_model.fit(dataset.data, dataset.target)
# 模型预测
expected = dataset.target
predicted = cart_model.predict(dataset.data)
# 模型评价
print(metrics.classification_report(expected, predicted))
print(metrics.confusion_matrix(expected, predicted))

结果

image.png


五 SVM算法

from sklearn import datasets
from sklearn import metrics
from sklearn.svm import SVC
import warnings
warnings.filterwarnings('ignore')
# 加载iris数据集
dataset = datasets.load_iris()
# 拟合SVM模型
svm_model = SVC()
svm_model.fit(dataset.data, dataset.target)
# 模型预测
expected = dataset.target
predicted = svm_model.predict(dataset.data)
# 模型评估
print(metrics.classification_report(expected, predicted))
print(metrics.confusion_matrix(expected, predicted))


结果


image.png


六 随机森林算法


from sklearn import datasets
from sklearn import metrics
from sklearn.ensemble import RandomForestClassifier
import warnings
warnings.filterwarnings('ignore')
# 加载iris数据集
dataset = datasets.load_iris()
# 拟合RF模型
rf_model = RandomForestClassifier()
rf_model.fit(dataset.data, dataset.target)
# 模型预测
expected = dataset.target
predicted = rf_model.predict(dataset.data)
# 模型评估
print(metrics.classification_report(expected, predicted))
print(metrics.confusion_matrix(expected, predicted))


结果


image.png


七 Adaboost算法

from sklearn import datasets
from sklearn import metrics
from sklearn.ensemble import AdaBoostClassifier
import warnings
warnings.filterwarnings('ignore')
# 加载iris数据集
dataset = datasets.load_iris()
# 拟合RF模型
adaboost_model = AdaBoostClassifier()
adaboost_model.fit(dataset.data, dataset.target)
# 模型预测
expected = dataset.target
predicted = adaboost_model.predict(dataset.data)
# 模型评估
print(metrics.classification_report(expected, predicted))
print(metrics.confusion_matrix(expected, predicted))


结果


image.png


八 gbdt算法

from sklearn import datasets
from sklearn import metrics
from sklearn.ensemble import GradientBoostingClassifier
import warnings
warnings.filterwarnings('ignore')
# 加载iris数据集
dataset = datasets.load_iris()
# 拟合RF模型
gbdt_model = GradientBoostingClassifier()
gbdt_model.fit(dataset.data, dataset.target)
# 模型预测
expected = dataset.target
predicted = gbdt_model.predict(dataset.data)
# 模型评估
print(metrics.classification_report(expected, predicted))
print(metrics.confusion_matrix(expected, predicted))

结论

image.png

登录后方可回帖

信息栏
数据人网是数据人学习、交流和分享的平台,专注于从数据中学习,努力发觉数据之洞见,积极利用数据之价值
Loading...