python代码实现SVM应用及熵的应用
时间: 2023-08-07 19:35:03 浏览: 97
1. SVM的应用
SVM(支持向量机)是一种常用的分类算法,可以用于二分类和多分类问题。以下是一个简单的Python代码实现:
```python
from sklearn import svm
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# 加载数据集
iris = load_iris()
X = iris.data
y = iris.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建SVM分类器
clf = svm.SVC(kernel='linear')
# 训练模型
clf.fit(X_train, y_train)
# 预测测试集
y_pred = clf.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print('Accuracy:', accuracy)
```
2. 熵的应用
熵是信息论中的一个重要概念,用于衡量信息的不确定度。以下是一个简单的Python代码实现:
```python
import math
# 计算熵
def entropy(data):
n = len(data)
counts = {}
for value in data:
if value not in counts:
counts[value] = 0
counts[value] += 1
entropy = 0
for count in counts.values():
prob = count / n
entropy -= prob * math.log(prob, 2)
return entropy
# 示例数据
data = ['a', 'b', 'b', 'c', 'c', 'c']
# 计算熵
e = entropy(data)
print('Entropy:', e)
```
该代码使用了数据集['a', 'b', 'b', 'c', 'c', 'c']作为示例数据,计算其熵的值。输出结果为:
```
Entropy: 1.459147917027245
```
说明该数据集的不确定度较高。
阅读全文