原来写的都是.py的Python代码,到了kaggle中发现所有项目的code部分都是下图这样的,有点迷糊,后来发现notebook真是个好东西。
问题1.下载了源码,源码文件扩展名是.ipynb,该如何看?
解决方案:
因之前安装了Anaconda,所以在开始菜单搜索Anaconda Prompt,在弹出的命令窗口输入jupyternotebook,浏览器打开jupyter,页面中有当前默认路径下的全部文件夹。
如果默认路径里没有你的源码,可以修改为存放源码的路径,修改方式如下:在cmd中输入命令 jupyter notebook--generate-config,会看到一个配置文件路径,找到这个文件并修改,也就是去掉注释并将等号后面改为自己的路径即可。
重启jupyter(在开始菜单搜索Anaconda Prompt,在弹出的命令窗口输入jupyternotebook)。
打开.ipynb文件,看到的是一个集代码、注释、图表……为一体的算法思路与具体实现,叫作notebook。
问题2. 做一个word2vec的项目,使用NLTK tokenizer将段落切分成句子时报错。错误信息如下:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 1: ordinal not in range(128)
解决方案:
这是编码问题,我尝试着找了一些扩展ASCII码,试图把他们从文件中找出来,发现这种字符有太多。而且感觉思路不对。后面还是设置了一下读取文件时编码类型才解决。
train = pd.read_csv( "D:/materials/dataset/word2vec-nlp/labeledTrainData.tsv", header=0, delimiter="\t", quoting=3,encoding='utf-8' )
问题3.lightgbm库引入错误 OSError: [WinError 126]
import lightgbm as lgb
File "D:\Python\Python36-32\lib\site-packages\lightgbm\__init__.py", line 8, in <module>
from .basic import Booster, Dataset
File "D:\Python\Python36-32\lib\site-packages\lightgbm\basic.py", line 32, in <module>
_LIB = _load_lib()
File "D:\Python\Python36-32\lib\site-packages\lightgbm\basic.py", line 27, in _load_lib
lib = ctypes.cdll.LoadLibrary(lib_path[0])
File "D:\Python\Python36-32\lib\ctypes\__init__.py", line 426, in LoadLibrary
return self._dlltype(name)
File "D:\Python\Python36-32\lib\ctypes\__init__.py", line 348, in __init__
self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] 找不到指定的模块。
解决方案:
python程序在使用ctypes库调用C++程序创建的dll时,未找到DLL。
安装相关的C++环境:下载Visual C++ Redistributable运行库,64位版本下载地址 https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=48145