如何解决使用python ML算法进行滑坡敏感性评估中的数据集问题
希望你们一切都好:)
为了解决我的问题,我是一名非程序员,正在尝试编写一些 Python 代码来评估滑坡易感性。我正在尝试通过将朴素贝叶斯机器学习算法应用于庞大的数据集来实现。
考虑到这一点,这是对我的数据集外观的第一个解释。
在下图中,左图是 ALOS PALSAR 数字高程模型 - DEM(一个像素等于 12.5x12.5m 的卫星图像); 红点是地图上的滑坡,粉红色的点是位于确认为安全区域的随机点,没有发生滑坡。我从 DEM 中提取了高度、坡度、曲率、地形湿度指数 (TWI) 和岩盐学(尚未在表格中)。 DEM and extracted information
从这次提取中我得到了下表,大约有 650 个点(每个都有特定的 X、Y 位置)。这是我的第一个数据集,我打算用它来“教授”算法,因为它有大约 330 个点的滑坡 = 1 和大约 330 个点的滑坡 = 0。 Dataset/table1
好吧,我的问题来了。我需要使用上面的数据集训练我的算法,并将其应用于从先前引用的 DEM 中提取的全新数据集。新提取的结果表没有“滑坡”值,尽管它具有与第一个数据集相同的信息,如下图所示。Dataset that needs to be predicted
在此表中,我们包含来自 DEM (±6.200.000) 的每个像素及其单项特征和位置。 “滑坡”列必须通过python算法赋值为0/1,然后再导入ArcMap软件中,生成滑坡敏感性图。
我一直在观看一些 YouTube 视频(例如 Codebasics 或其他一些付费数字学校),并且我学会了考虑第一个数据集进行预测。这是我正在使用的代码。
import pandas as pd
dataset1 = pd.read_csv("dataset_name.csv")
dv = base2.iloc[:,3:7] #dependent_variables
iv = base2.iloc[:,7] #independent_variable
from sklearn.model_selection import train_test_split
dv_train,dv_test,iv_train,iv_test = train_test_split(dv,iv,test_size=0.30,random_state=0)
from sklearn.naive_bayes import GaussianN
classifier = GaussianNB()
classifier.fit(dv_train,iv_train)
predictions = classifier.predict(dv_train)
我已将这段代码中的变量从我的母语语言翻译成英语,因此由于过程中的一些错误,它可能无法正常工作。问题是,我设法从我的数据集 1 中做出了一列预测,其中包含我的火车分割线的确切数量。我这样做是考虑到我有已知的滑坡柱的 0/1 值,但我不知道如何在巨大的 6.2kk 线一中应用或使用此训练。
这是我的问题:如何将此代码应用于我的第二个数据集?我如何详细说明这段代码?
谢谢大家。我也可以回答更多问题并提供有关此项目的更详细信息。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。