将scikit learn应用于空间数据集的实用程序

pyimpute的Python项目详细描述


啊![travis](https://travis ci.org/perrygeo/pyimpute.svg)


\python模块,用于使用scikit learn和rasterio进行地理空间预测

`pyimpute`提供高级python功能,用于弥合空间数据格式和机器学习软件之间的差距,以促进对地理空间数据的监督分类和回归。这允许您基于稀疏观测创建景观尺度预测。

这些观测称为**训练数据**,包含:

*响应变量:我们试图预测的解释变量:解释响应空间模式的变量由光栅数据集表示的解释变量组成。没有可用于目标数据的响应变量;目标是*预测*响应的光栅表面。响应可以是离散(分类)或连续(回归)。

![示例](https://raw.githubusercontent.com/perrygeo/pyimpute/master/example.png)


*`分层采样光栅:基于离散类的光栅单元随机采样
*`evaluate\u clf`:执行交叉验证并打印度量,以帮助调整scikit learn分类器。
*`load\u targets`:将目标光栅数据加载到scikit learn所需的数据结构中
*`impute`:获取目标数据,scikit learn分类器并进行预测,输出geotiff

这些函数并没有真正提供任何开创性的新功能,它们只是保存了大量繁琐的数据争用,否则会使您的分析陷入低级细节。换句话说,“pyimpute”为空间预测提供了一个高级的python工作流,使其更容易:

*更容易探索新的变量
*经常用新的信息更新预测(例如,新的landsat图像可用时)
*将该技术引入其他学科和地理领域示例

下面是“pyimpute”工作流的外观。在这个例子中,我们有两个解释变量,如raster(温度和降水量)和geojson,它带有对植物物种栖息地适宜性的点观测。我们的目标是仅根据解释性变量预测整个区域的栖息地适宜性。

````
从sklearn.ensemble导入randomForestClassifier对clf进行求值
```


加载一些训练数据
```
解释性数据=['temperature.tif','discription.tif']
响应数据='点观测值.geojson'

train xs,train y=加载训练向量(响应数据,
解释性因素,
响应性因素:
````

train-y)
```

使用多个验证指标评估分类器,手动检查输出
````
评估CLF(CLF,train-xs,train-y)
``````

加载目标光栅数据
````
目标,光栅信息=加载目标(解释光栅)
````

输出geotiffs
```
输入(target_xs,clf,raster_info,outdir='/tmp',
linechunk=400,class_prob=true,BR/> BR/>断言OS .PATH存在(“/tMP/Realth.TIF”).Bur/Orth.Orth.PATH存在(“/tMP/Realth.TIF”).Base/Orth.OS.PATION(“/tMP/概率aby.0. TIF”)
断言OS .PATION存在(“/tMP/概率aby1.I.TIF”)
'BR/> BR/>安装> BR/> BR/>假设您有“LBGDAL”和确定性=真)安装了scipy系统依赖项后,可以使用pip

```
pip install pyimpute
```

从源代码安装
```
git clone https://github.com/perrygeo/pyimpute.git
cd pyimpute
pip install-e.
````


有关ubuntu系统的工作示例,请参阅`.travis.yml`文件。

a href=“http://vimeo.com/106235287”>;使用pyimpute、scikit learn和gdal进行气候变化影响的时空预测-matthew perry<;/a>;

还可以查看[示例](https://github.com/perrygeo/python-impute/blob/master/examples/)和[维基](https://github.com/perrygeo/pyimpute/wiki)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java关闭应用程序按钮Listener   Java中的多线程同步在Java示例中的思考   java如何查看Tomcat正在使用/访问的JAR?   java My代码在调用垃圾收集器后不会终止   多线程Java连接线程池和connectionfactory?   java在运行时修改JAR文件   java Android:使用光标时引发IllegaleException   在Netbeans中测试不可执行库的java?   泛型在参数上强制子类Java类型   spring Java:继承与依赖注入“自动连线”   javascript如何解析这个xml元素   java打印特定序列中的数组   带有ProcessingTimeSessionWindow的java Apache Flink自定义触发器   java如何配置消息驱动的Bean应用程序和Glassfish来使用来自远程MessageBroker的消息?