我正在寻找有关如何组织Python机器学习项目的信息.对于Python通常的项目,有Cookiecutter和R ProjectTemplate.
这是我目前的文件夹结构,但我将Jupyter笔记本与实际的Python代码混合在一起,看起来不太清楚.
.
??? cache
??? data
??? my_module
??? logs
??? notebooks
??? scripts
??? snippets
??? tools
Run Code Online (Sandbox Code Playgroud)
我在scripts文件夹中工作,并且当前在my_module下的文件中添加了所有函数,但这会导致加载数据(相对/绝对路径)和其他问题时出错.
除了这个讨价还价的竞争解决方案和一些具有所有功能的笔记本之外,我找不到适合这个主题的最佳实践或好例子.
我试图直接从我的 R 代码本身的 Kaggle 空间下载 zip 文件。不幸的是,它并不正确。这是发生了什么:
对于位于https://www.kaggle.com/c/sf-crime/data 的旧金山犯罪数据集
取第一个数据集:test.csv.zip:https ://www.kaggle.com/c/sf-crime/download/test.csv.zip
我正在使用 R 代码:
download.file(url='https://www.kaggle.com/c/sf-crime/download/test.csv.zip', destfile = 'test.zip',method = 'curl')
Run Code Online (Sandbox Code Playgroud)
R 只下载一个 183 字节的文件,而不是原来的 18.75MB 文件。
会话输出:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0100 183 100 183 0 0 665 0 --:--:-- --:--:-- --:--:-- 667
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
提前致谢,拉胡尔
对于某个 Kaggle 数据集(规则禁止我在这里共享数据,但在这里很容易访问),
import pandas
df_train = pandas.read_csv(
"01 - Data/act_train.csv.zip"
)
df_train.describe()
Run Code Online (Sandbox Code Playgroud)
我得到:
>>> df_train.describe()
outcome
count 2.197291e+06
mean 4.439544e-01
std 4.968491e-01
min 0.000000e+00
25% 0.000000e+00
50% 0.000000e+00
75% 1.000000e+00
max 1.000000e+00
Run Code Online (Sandbox Code Playgroud)
而对于相同的数据集df_train.columns给了我:
>>> df_train.columns
Index(['people_id', 'activity_id', 'date', 'activity_category', 'char_1',
'char_2', 'char_3', 'char_4', 'char_5', 'char_6', 'char_7', 'char_8',
'char_9', 'char_10', 'outcome'],
dtype='object')
Run Code Online (Sandbox Code Playgroud)
并df_train.dtypes给我:
>>> df_train.dtypes
people_id object
activity_id object
date object
activity_category object
char_1 object
char_2 object
char_3 object
char_4 object
char_5 object
char_6 …Run Code Online (Sandbox Code Playgroud) 我有以下代码:
def OS_Usage_Zone_Wise(data,zone):
data_os = data['os'].value_counts().plot("bar",figsize=(12,4),fontsize=10)
data_os.set_title("OS usage in "+zone+" region",color='g',fontsize=20)
data_os.set_xlabel("OS name",color='b',fontsize=20)
data_os.set_ylabel("use count",color='b',fontsize=20)
zone = ["east","west","south","central"]
i = 0
data_os = [data_east,data_west,data_south,data_central]
for data in data_os:
OS_Usage_Zone_Wise(data,zone[i])
print("now "+zone[i])
i = i+1
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用 for 循环为每个区域绘图,但它显示的是 oly 图形
对于“中央”区域,我知道它显示最后一个条形而不显示
以前的,有没有办法使用循环为所有区域绘制图形(不要
想要通过一次又一次地使用相同的代码来生成图形)
这是来自 kaggle Titanic 竞赛内核的代码:
grid = sns.FacetGrid(train_df, row='Embarked', size=2.2, aspect=1.6)
grid.map(sns.pointplot, 'Pclass', 'Survived', 'Sex', palette='deep')
grid.add_legend()
Run Code Online (Sandbox Code Playgroud)
它会产生错误的情节,即颜色相反的情节。我想知道如何修复这个确切的代码片段。我尝试将关键字参数添加到 grid.map() 调用 - order=["male", "female"], hue_order=["male", "female"],但随后图变空。
我正在尝试在 Kaggle 内核上使用 resnet50 预训练模型。
但是,当我运行以下代码时,发生错误并且无法下载预训练模型。我怎样才能让它工作?
from keras.applications.resnet50 import ResNet50
from keras.preprocessing import image
from keras.applications.resnet50 import preprocess_input, decode_predictions
import numpy as np
model = ResNet50(weights='imagenet', include_top=False)
Run Code Online (Sandbox Code Playgroud)
错误:
-> 1318 encode_chunked=req.has_header('Transfer-encoding')) 1319
除了 OSError 作为 err: # timeout error ...例外:https : //github.com/fchollet/deep-learning-models/releases/download/v0.2/resnet50_weights_tf_dim_ordering_tf_kernels_notop.h5上的 URL 获取失败 :无 -- [Errno -2] 名称或服务未知
所有日志:
使用 TensorFlow 后端。/opt/conda/lib/python3.6/importlib/_bootstrap.py:219: RuntimeWarning: 模块 'tensorflow.python.framework.fast_tensor_util' 的编译时版本 3.5 与运行时版本 3.6 不匹配 return f(*args, **kwds )
从https://github.com/fchollet/deep-learning-models/releases/download/v0.2/resnet50_weights_tf_dim_ordering_tf_kernels_notop.h5下载数据
-------------------------------------------------- ------------------------- gaierror Traceback (最近一次调用最后一次) /opt/conda/lib/python3.6/urllib/request.py in do_open(self, http_class, …
我试图kaggle dataset使用python 下载。但是,通过使用该request方法,我遇到了问题,下载的输出.csv文件是损坏的html文件。
import requests
# The direct link to the Kaggle data set
data_url = 'https://www.kaggle.com/crawford/gene-expression/downloads/actual.csv'
# The local path where the data set is saved.
local_filename = "actsual.csv"
# Kaggle Username and Password
kaggle_info = {'UserName': "myUsername", 'Password': "myPassword"}
# Attempts to download the CSV file. Gets rejected because we are not logged in.
r = requests.get(data_url)
# Login to Kaggle and retrieve the data.
r = requests.post(r.url, data = kaggle_info)
# Writes the …Run Code Online (Sandbox Code Playgroud) 我正在研究 Kaggle 的 Titanic 数据集,并试图根据其他列的信息替换一列中的 NaN 值。
在我的具体示例中,我试图用男性一等舱乘客的平均年龄替换一等舱男性乘客的未知年龄。
我该怎么做呢?
我已经能够对数据进行分段并替换该新数据帧的空值,但它不会延续到原始数据帧,而且我不太清楚如何做到这一点。
这是我的代码:
missingage_1stclass_male = pd.DataFrame(
titanic[
(titanic['Age'].isnull()) &
(titanic['Pclass'] == 1) &
(titanic['Sex'] == 'male')
]
)
missingage_1stclass_male.Age.fillna(40.5, inplace=True)
Run Code Online (Sandbox Code Playgroud)
我的包含所有值的原始数据框被命名为 Titanic。
我\xe2\x80\x99m 在 iPad 上运行 Jupyter 笔记本,并使用名为 Carnets 的应用程序(相对于创建远程服务器)。我一直在尝试将数据集导入笔记本以创建 panda\xe2\x80\x99s 数据框。
\n\n因此绑定使用的数据集 I\xe2\x80\x99m 来自 kaggle。我首先尝试将其上传到 GitHub LFS。我能够成功使用 pd.read_cvs(\xe2\x80\x98url\xe2\x80\x99),但我只得到了元数据与实际数据集的表。我\xe2\x80\x99m 不确定我是否正确设置了我的LFS,但也没有\xe2\x80\x99t 能够更改它。
\n\n接下来我尝试使用 Kaggle\xe2\x80\x99s API,但由于 I\xe2\x80\x99m 在 iPad 上,我无法将证书放在所需的位置。
\n\n我还尝试在 iPad 上使用本地文件路径,但我 \xe2\x80\x99m 不熟悉 iOS 文件路径约定,所以要么我完全错误,并且/或者应用程序的打包方式我可以 \xe2\x80\ x99t 访问文件路径作为用户输入?
\n\n我认识到问题的根源是在 iPad Pro(第一个型号)上执行此操作,但我的电脑非常旧且固定。我没有\xe2\x80\x99没有资金来更新,而且我很顽固地尝试这个。我\xe2\x80\x99在最近使用了Juno,但遇到了应用程序崩溃的问题,所以我想尝试其他方法。我也不想依赖 Kaggle\xe2\x80\x99s 网站来完成未来不基于 Kaggle 数据的项目。
\n\n# GitHub attempt\nimport pandas as pd\nurl_dipole_moments = 'https://raw.githubusercontent.com/ncotanche/PredictingMolecularProperties/master/RawData/dipole_moments.csv'\ndf_dipole_moments = pd.read_csv(url_diple_moments)\ndf_dipole_moments.head()\n\n# Local file attempt\nimport pandas as pd\ndf_dipole_moments = pd.read_csv(\xe2\x80\x98../RadData/dipole_moments.csv\xe2\x80\x99)\ndf_dipole_moments.head() \nRun Code Online (Sandbox Code Playgroud)\n\n通过 GitHub 的尝试,我收到了包含版本、iod 和大小的数据,我将其识别为文件的元数据(?)。
\n\n通过本地文件尝试,我收到 FileNotFound 错误。
\n我尝试从 Kaggle 上的 github 下载脚本 -
\n\n!rm -rf utils.py\n!wget raw.githubusercontent.com/sevenfx/fastai_audio/master/notebooks/utils.py\nRun Code Online (Sandbox Code Playgroud)\n\n我收到这个错误 -
\n\n\n\n\n正在解析 raw.githubusercontent.com (raw.githubusercontent.com)...\n 失败:名称解析暂时失败。wget: 无法解析\n 主机地址 \xe2\x80\x98raw.githubusercontent.com\xe2\x80\x99
\n
Kaggle 中是否有任何必须完成的设置,或者一般来说这有什么问题?
\nkaggle ×10
python ×7
pandas ×4
python-3.x ×2
seaborn ×2
data-science ×1
dataset ×1
download ×1
github ×1
keras ×1
kernel ×1
matplotlib ×1
organization ×1
r ×1
request ×1
resnet ×1
wget ×1
zip ×1