目录
模拟退火算法的基本原理在这里就不一一赘述了, 关于原理,可以参考百度百科、博客1、博客2
在本节按照基本实现步骤实现模拟退火算法, 对于模拟退火算法的高级封装(类封装), 可以参考模拟退火算法之特征选择的python实现(二)
1. 模拟退火算法实现步骤
2. python实现
import numpy as np
from sklearn.preprocessing import StandardScaler
from sklearn.neural_network import MLPRegressor
from sklearn.metrics import mean_squared_error
import scipy.io as sio
from sklearn.model_selection import train_test_split
def get_data_subset(x_data, columns):
return x_data[:, columns]
def get_initial_solution(feature_size, selected_feature):
sol = np.arange(feature_size-1)
np.random.shuffle(sol)
return sol[:selected_feature]
def get_nei