Geringe Genauigkeit aus Geospatial zufälliger Wald -ML -Modellierungsproblem - Training Exportiert aus QGIS, SCPPython

Python-Programme
Anonymous
 Geringe Genauigkeit aus Geospatial zufälliger Wald -ML -Modellierungsproblem - Training Exportiert aus QGIS, SCP

Post by Anonymous »

Ich mache eine mit der ML -Modellierung integrierte Geospatial -Bewertung. Das Problem ist der Prozentsatz der sehr geringen Genauigkeit, da mehr Trainingsfunktionen zunehmen, und es wird niedriger. Was könnte die Lösung für ein solches Problem sein? < /P>
Code: < /p>

ndti_path = r'\try2.tif'
train_path = r'trainGPKG.gpkg'

# Read training data - through geopandas
train_gdf = gpd.read_file(train_path)

X = [] # Features (NDTI values)
y = [] # Labels (class IDs)

for idx, row in train_gdf.iterrows(): #iterates over each polygon
geom = row.geometry
class_id = row['macroclass_id']

# Convert polygon to pixel mask
mask = rasterio.features.geometry_mask(
[geom],
out_shape=ndti.shape,
transform=transform,
invert=True
)

# gget NDTI values inside the polygon
values = ndti[mask]
values = values[~np.isnan(values)] # Remove NaN valuees

if len(values) > 0:
### statistics for each polygon
X.append([
np.mean(values),
np.std(values),
np.median(values),
np.min(values),
np.max(values)
])
y.append(class_id)
rf = RandomForestClassifier(
n_estimators=100,
random_state=42,
class_weight='balanced'
)
rf.fit(X, y)

classified = np.zeros(ndti.shape, dtype=np.uint8)
rows, cols = ndti.shape

for i in range(1, rows-1):
for j in range(1, cols-1):
window = ndti[i-1:i+2, j-1:j+2]
values = window.flatten() #Clean Data, convorts into 1D array and remove NaN values
values = values[~np.isnan(values)]

if len(values) > 0:
features = [ ##Compute features if valid pixels exist
np.mean(values),
np.std(values),
np.percentile(values, 25),
np.percentile(values, 75),
len(values)
]
classified[i,j] = rf.predict([features])[0]
< /code>
Genauigkeitstest:
Bildbeschreibung hier eingeben>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post