1. 程式人生 > >RBF核函式將一維線性不可分資料對映到二維平面上變成線性可分的資料

RBF核函式將一維線性不可分資料對映到二維平面上變成線性可分的資料

#!/usr/bin/python
# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
from sklearn import datasets
import pandas as pd
import numpy as np
x = np.arange(-4,5,1)
print(x)
y = np.array((x>=-2) & (x<=2),dtype="int")
print(y)

plt.scatter(x[y == 0], [0]*len(x[y == 0]), color="red")
plt.scatter(x[y == 1], [0]*(x[y == 1]), color="blue")
plt.show()

 

 

 

def gaussian(x,l):
    gamma = 1.0
    return np.exp(-gamma * (x-l)**2)
l1,l2 = -1,1
x_new = np.empty((len(x),2))
for i,data in enumerate(x):
    x_new[i,0] = gaussian(data,l1)
    x_new[i, 1] = gaussian(data, l2)
plt.scatter(x_new[y==0,0],x_new[y==0,1])
plt.scatter(x_new[y==1,0],x_new[y==1,1])
plt.show()