昨天看了一篇关于PyCaret库介绍的的推送,感觉这个库不错,功能很强大。我也就把这个库下载下来,并想跑一下示例,结果直接卡在了第一步下载内置数据集上。使用get_data()一直出现这个错误:
为了解决这个问题,昨天整到凌晨小一点,找到了一种解决方法,但是今天早晨才发现导致报错的根本问题。所以接下来介绍两种方法,一种是治标不治本的方法;一种是治本的方法。
治标不治本的方法
第一步:我们去GitHub网上把内置数据集下载到本地,网址:
https://github.com/pycaret/pycaret
第二步:打开cmd,输入命令pip show pycaret,找到第三方库所在位置
第三步:找到pycaret库里面的datasets.py,将第52行代码
address = 'https://raw.githubusercontent.com/pycaret/pycaret/master/datasets/'
更改为数据集所在本地地址,例如:
address = 'D:/Users/Tracy Wu/AppData/Local/datasets/'
这样就可以正常加载数据集了。
治本的方法
其实问题的根本在于链接不到raw.githubusercontent.com,如何解决这个问题,听我慢慢道来:
第一步:打开ip138.com,输入https://raw.githubusercontent.com,点击查询
会跳出这个界面,这样就可以知道可用的服务器IP接口。
第二步:打开管理员模式的记事本,打开‘C:\Windows\System32\drivers\etc\host’。
在文件最后添加一行,然后保存。
151.101.64.133 raw.githubusercontent.com
这样,我们就可以安心下载PyCaret库的内置数据集了,无需更改datasets.py了。
另外,我们之前打开过datasets.py,函数get_data()是这么定义的
def get_data(dataset, save_copy=False, profile = False): …… …… …… if save_copy: save_name = str(dataset) + str(extension) data.to_csv(save_name) …… …… ……
save_copy=False,就意味着我们加载的数据集,并不会下载到本地,如果我们想要把数据保存到本机,就需要这么输入命令:
from pycaret.datasets import get_datadata = get_data('nba', save_copy=True)
关于数据集保存本地位置,如果使用Jupyter Notebook加载内置数据集,那数据集会保存到和*.ipynb文件同目录;如果是在cmd里面运行的Python或IPython加载内置数据集,数据集会保存在进入Python或IPython环境的目录里。