高光谱数据集划分为训练集和测试集两个csv文件导入,其中,csv文件中,第一行为高光谱波段,最后一列为分类标签。
import pandas as pd
import numpy as np
from sklearn.neural_network import MLPClassifier
from sklearn.metrics import accuracy_score, confusion_matrix
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import cross_val_score
import matplotlib.pyplot as plt
import seaborn as sns
# 设置随机种子以获得可复现的结果
np.random.seed(0)
# 读取训练和测试数据,替换为你自己的路径
train_df = pd.read_csv("train.csv")
test_df = pd.read_csv("test.csv")
# 分离特征和标签
X_train = train_df.iloc[:, :-1].values
y_train = train_df.iloc[:, -1].values
X_test = test_df.iloc[:, :-1].values
y_test = test_df.iloc[:, -1].values
# 数据标准化
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)
# 使用 Extreme Learning Machine 进行训练
elm = MLPClassifier(hidden_layer_sizes=(50,), activation='relu', solver='adam', random_state=0, max_iter=300, learning_rate_init=0.0001)
elm.fit(X_trai