python 机器学习浅尝尝

在这里先不说python怎样进行机器学习,而是先谈怎样根据训练完成后的数据,对模型进行评估或是进行参数修改。

1. 训练结果的可视化(热力图)

以下代码代表着大致的流程,不可直接复制粘贴使用,如需使用要进行适当的修改,输入数据为csv格式。

##  基础函数库
import numpy as np
import pandas as pd
## 导入画图库
import matplotlib.pyplot as plt
import seaborn as sns

## 导入逻辑回归模型函数
from sklearn  import svm

## 导入热力图函数库
from sklearn.metrics import confusion_matrix

# 加载数据
data = pd.read_csv(r'E:\expdata\xxx\xxx.csv', )
# 加载完数据后,还需对数据进行清洗等操作

## 调用SVC模型 (支持向量机分类)
svc = svm.SVC(kernel='linear')

svc = svc.fit(data[['feature1', 'feature2', 'feature3']], data['label'])

# 用完成的svm模型进行训练
pred = svc.predict(data[['feature1', 'feature2', 'feature3']])
# 显示训练结果
print(np.array(pred))
# 显示真实结果
print(np.array(data['label']))


C2 = confusion_matrix(data['label'], pred)
# print(C2)

# 将混淆矩阵以热力图的防线显示
sns.set()
f, ax = plt.subplots()
# 画热力图
sns.heatmap(C2, cmap="YlGnBu_r", annot=True, ax=ax)
# 标题
ax.set_title('confusion matrix')
# x轴为预测类别
ax.set_xlabel('predict')
# y轴实际类别
ax.set_ylabel('true')
plt.show()

以下就是热力图的最终显示结果,预测为1,实际为1的个数是28;预测为0,实际为0的个数是2;预测为1实际为0的个数是3。
python 机器学习浅尝尝_第1张图片

2. 模型的可视化

2.1 线性SVM可视化

你可能感兴趣的:(Python里的碰撞,python,机器学习,开发语言)