高光谱随机森林rf分类代码
时间: 2024-09-13 10:05:22 浏览: 64
Pavia高光谱遥感分类数据集
高光谱随机森林(Hyperspectral Random Forest, HS-RF)是一种结合了机器学习和遥感技术的分类方法,它通常用于处理高光谱数据集中的图像分类任务。下面是使用Python中的`scikit-learn`库创建一个简单的HS-RF分类代码示例:
```python
# 导入必要的库
from sklearn.ensemble import RandomForestClassifier
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
import pandas as pd
# 假设df_data是包含高光谱数据的DataFrame,bands是我们感兴趣的波段列名
X = df_data[bands].values # 输入特征数据
y = df_data['target'] # 目标变量
# 数据预处理(标准化)
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.2, random_state=42)
# 创建随机森林分类器
hs_rf_classifier = RandomForestClassifier(n_estimators=100, n_jobs=-1, random_state=42) # 可以调整参数
# 训练模型
hs_rf_classifier.fit(X_train, y_train)
# 预测
predictions = hs_rf_classifier.predict(X_test)
# 评估性能(例如用accuracy_score等)
from sklearn.metrics import accuracy_score
accuracy = accuracy_score(y_test, predictions)
print(f"Accuracy: {accuracy}")
#
阅读全文