高斯核函数的python代码
时间: 2023-12-15 17:30:45 浏览: 107
高斯核函数是一种常用的核函数,它可以将数据映射到高维空间中,从而更好地进行分类或回归。以下是高斯核函数的Python代码:
```python
import numpy as np
from scipy.spatial.distance import pdist, squareform
def gaussian_kernel(X, sigma=1):
"""
高斯核函数
:param X: 输入数据,形状为(n_samples, n_features)
:param sigma: 高斯核函数的参数
:return: 高斯核矩阵,形状为(n_samples, n_samples)
"""
pairwise_dists = squareform(pdist(X, 'euclidean'))
K = np.exp(-pairwise_dists ** 2 / (2 * sigma ** 2))
return K
```
其中,`X`是输入数据,`sigma`是高斯核函数的参数。`pairwise_dists`是输入数据两两之间的欧几里得距离,`K`是高斯核矩阵,它的每个元素都是两个样本之间的相似度。
相关问题
高斯核函数python代码
高斯核函数也叫径向基函数(Radial Basis Function,RBF)核函数,可以用于支持向量机(SVM)和其他机器学习算法中的特征映射。其Python代码实现如下:
```python
import numpy as np
def gaussian_kernel(x1, x2, sigma=1):
"""
高斯核函数
:param x1: 特征向量1
:param x2: 特征向量2
:param sigma: 高斯核函数的参数
:return: 高斯核函数值
"""
return np.exp(-np.linalg.norm(x1-x2)**2 / (2 * (sigma**2)))
```
其中,`x1`和`x2`为两个特征向量,`sigma`为高斯核函数的参数,一般默认为1。
svm高斯核函数python代码
以下是使用 Scikit-learn 库实现 SVM 高斯核函数的 Python 代码:
```python
from sklearn import svm
import numpy as np
# 生成一些随机数据
X = np.random.randn(100, 2)
y = np.logical_xor(X[:, 0] > 0, X[:, 1] > 0)
# 创建 SVM 模型,使用高斯核函数
clf = svm.SVC(kernel='rbf')
# 训练模型
clf.fit(X, y)
# 预测新数据的标签
new_data = np.array([[1, 1], [-1, -1]])
print(clf.predict(new_data))
```
在这个例子中,我们生成了一些随机数据,并创建了一个 SVM 模型,使用高斯核函数。然后,我们训练模型并预测新数据的标签。
阅读全文