标签: kaggle

在实例化时自动调用 Python 类方法的最佳方法

我有一个机器学习算法,它涉及一系列步骤,例如清理数据、准备训练数据等。每个步骤都存储在 python 类的单独方法中。我想知道构建我的类的最佳实践方法是什么,以便在类实例化时自动执行这些步骤。

这是我所做的(代码是说明性的,但这种方法适用于真正的算法)。感觉有点笨重。有没有更优雅的方式?

 class Kaggle():
    """
    An algorithm
    """

    def __init__( self ):
        self.bar = 1

    def step_one( self, some_text_data ):
        self.bar = 1 ** 2
        # Do some data cleaning
        # return processed data

    def step_two( self ):
        foo = step_one(baz)
        # do some more processing

    def step_three( self ):
        bar = step_two()
        # output results

    def run( self ):
        self.step_one()
        self.step_two()
        self.step_three()

if __name__ == "__main__":
    kaggle = Kaggle()
    kaggle.run()
Run Code Online (Sandbox Code Playgroud)

python oop python-2.7 kaggle

4
推荐指数
1
解决办法
5906
查看次数

将注释插入Jupyter Notebook

我希望这不是一个多余的问题,但是我找不到合适的答案和教程。我目前正在学习数据科学,因此使用kaggle竞赛进行练习,使用jupyter笔记本来解决这些问题(因为在视觉上对我来说更具吸引力)。现在,我偶然发现了一个示例内核(请参阅:http : //nbviewer.jupyter.org/github/agconti/kaggle-titanic/blob/master/Titanic.ipynb#Data-Handling)在其代码之间使用注释,链接和插图提供更多背景信息。

有人知道如何在jupyter中写这样的评论和言论吗?如果是这样,您是否有在线资源可供我学习?

谢谢一群!

python jupyter-notebook kaggle

4
推荐指数
2
解决办法
2万
查看次数

Pandas 值计数与多次出现的约束

在此处使用来自 Kaggle 的 Wine Review 数据。我可以使用 value_counts() 按种类返回出现次数

在此处输入图片说明

但是,我正在尝试找到一种快速方法,将结果限制在出现多次的品种及其数量上。

尝试df.loc[df['variety'].value_counts()>1].value_counts() 并且df['variety'].loc[df['variety'].value_counts()>1].value_counts() 都返回错误。

结果可以变成一个 DataFrame 并在那里添加约束,但有些东西告诉我有一种更优雅的方式来实现这一点。

在此处输入图片说明

dataframe pandas jupyter-notebook kaggle

4
推荐指数
1
解决办法
2403
查看次数

未捕获的错误:“plotly”的脚本错误 http://requirejs.org/docs/errors.html#scripterror

我正在学习plotly某人的代码,但是每次当我尝试运行特定代码来查看目标列以查看数据集的平衡程度时,都会弹出错误消息,并且会话会被中断。

弹出错误信息:

加载笔记本时发生错误:未捕获错误:“plotly”的脚本错误http://requirejs.org/docs/errors.html#scripterror

给我错误的代码

fig = px.histogram(
    train_df, 
    x=target_column, 
    color=target_column,
    color_discrete_sequence=px.colors.qualitative.G10,
)
fig.update_layout(
    title_text='Target distribution', # title of plot
    xaxis_title_text='Value', # xaxis label
    yaxis_title_text='Count', # yaxis label
    bargap=0.2, # gap between bars of adjacent location coordinates
    paper_bgcolor=primary_bgcolor,
    plot_bgcolor=primary_bgcolor,
)
fig.update_xaxes(
    title='Target class',
    categoryorder='category ascending',
)
fig.show()
Run Code Online (Sandbox Code Playgroud)

访问文档后,我了解到这是与浏览器相关的错误,但我不明白如何防止它。我正在使用chrome浏览器和kaggle内核。

data-visualization plotly kaggle

4
推荐指数
1
解决办法
1760
查看次数

GPU/TPU 上的 PyCaret 方法

CPU利用率

当我运行时,best_model = compare_models()CPU 内存负载巨大,而 GPU 却未得到利用。如何在 GPU 上运行setup()compare_models()?PyCaret 中有内置方法吗?

cpu gpu jupyter-notebook kaggle pycaret

4
推荐指数
1
解决办法
6230
查看次数

LightGBM 可用于 Mac M1 吗?

我的目标是学习笔记本。它的召回率高达 97%,而我却在 F1 分数“流失的客户”77.9% 中苦苦挣扎。问题是笔记本使用LightGBM。我无法安装 LightGBM。

\n

我尝试过的:

\n
    \n
  1. pip install lightgbm-> 它抛出错误python setup.py egg_info did not run successfully.
  2. \n
  3. 然后,我做了pip install wheel-> 现在它抛出错误python setup.py bdist_wheel did not run successfully.
  4. \n
  5. 然后,我做到了pip install Cmake,,pip install --upgrade pip setuptoolsbrew install libomp >错误仍然存​​在。
  6. \n
\n

完整错误

\n
  \xc3\x97 python setup.py bdist_wheel did not run successfully.\n  \xe2\x94\x82 exit code: 1\n  \xe2\x95\xb0\xe2\x94\x80> [80 lines of output]\n      INFO:root:running bdist_wheel\n      /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install …
Run Code Online (Sandbox Code Playgroud)

python pip kaggle lightgbm apple-m1

4
推荐指数
1
解决办法
8119
查看次数

AttributeError:模块“IPython.utils.traitlets”没有属性“Unicode”

我正在 Kaggle 服务器上运行 .ipynb 笔记本。

在第一个代码单元中,导入模块时,特别是来自 google.patches 的 cv2_imshow,如下所示,

from google.colab.patches import cv2_imshow

我收到此错误:

/opt/conda/lib/python3.7/site-packages/IPython/utils/traitlets.py:5: UserWarning: IPython.utils.traitlets has moved to a top-level traitlets package.
  warn("IPython.utils.traitlets has moved to a top-level traitlets package.")
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
/tmp/ipykernel_27/1840971195.py in <module>
     18 
     19 # Display images using OpenCV
---> 20 from google.colab.patches import cv2_imshow                                                      # Importing cv2_imshow from google.patches to display images
     21 
     22 # Ignore warnings

/opt/conda/lib/python3.7/site-packages/google/colab/__init__.py in <module>
     24 from google.colab import _tensorflow_magics
     25 from google.colab import …
Run Code Online (Sandbox Code Playgroud)

module attributeerror kaggle google-colaboratory python-traitlets

4
推荐指数
2
解决办法
3038
查看次数

pandas srt.lower()不处理dataframe列

我正在使用Kaggle提供的Titanic数据集.我在数据框中有它,我想将"性别"列的大小写更改为小写.我正在使用以下代码

import pandas as pd

df = pd.read_csv('titanic.csv')
print dfFull['sex'].unique()
df.sex.str.lower()

#check if it worked
print df['sex'].unique()
Run Code Online (Sandbox Code Playgroud)

并尝试

df['sex'].str.lower()

但是当我跑步时,df['sex'].unique()我得到三个独特的价值观[male, female, Female].

为什么我的代码不会降低字符串的大小写并将其保存回数据帧,以便[male, female].unique方法中获取?

python lowercase pandas kaggle

3
推荐指数
1
解决办法
2849
查看次数

train.default(x,y,weights = w,...)出错:无法确定最终调整参数

我是机器学习的新手,正在尝试Kaggle森林覆盖预测比赛,但我很早就被挂了.运行下面的代码时出现以下错误.

Error in train.default(x, y, weights = w, ...) : 
final tuning parameters could not be determined
In addition: There were 50 or more warnings (use warnings() to see the first 50)
# Load the libraries
library(ggplot2); library(caret); library(AppliedPredictiveModeling)
library(pROC)
library(Amelia)

set.seed(1234)

# Load the forest cover dataset from the csv file
rawdata <- read.csv("train.csv",stringsAsFactors = F)
#this data won't be used in model evaluation. It will only be used for the submission.
test <- read.csv("test.csv",stringsAsFactors …
Run Code Online (Sandbox Code Playgroud)

r random-forest r-caret kaggle

3
推荐指数
1
解决办法
9099
查看次数

使用lambda条件和pandas str.contains来整理字符串

试图学习一些东西,我正在搞乱Kaggle上的全球鲨鱼攻击数据库,我正试图找到使用lambda函数和字符串来填充字符串的最佳方法str.contains.

基本上任何字符串都包含一个短语,skin diving例如'skin diving for abalone',在data['Activity']列中我想用活动替换活动skin diving.(皮肤潜水有92种变种因此尝试使用lambda功能)

我可以使用返回一个布尔系列

data['Activity].str.contains('skin diving')
Run Code Online (Sandbox Code Playgroud)

但是如果这个条件成立,我不确定如何更改值

我的lambda函数= data.apply(lambda x: 'free diving' if x.str.contains('free diving))但我得到一个语法错误,我不熟悉lambda函数和pandas来做对,任何帮助将不胜感激.

python lambda pandas kaggle

3
推荐指数
2
解决办法
9369
查看次数