【机器学习】Kaggle项目中遇到的问题与解决方案

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhuanzhe117/article/details/79260178

  原来写的都是.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

猜你喜欢

转载自blog.csdn.net/zhuanzhe117/article/details/79260178