标签: kaggle

为什么在线性回归中添加特征会降低准确性?

我是ML的新手,正在参加一个讨价还价的比赛,以便学习一下.当我向数据集添加某些功能时,准确性会降低.

为什么增加成本的功能不会加权为零(忽略)?是因为非线性特征会导致局部最小解?

谢谢.

machine-learning linear-regression kaggle

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

评估scikit-learn中的估计器性能

我正在使用scikit-learn 0.13.1参加Kaggle的比赛.我正在使用决策树分类器,为了评估我的估算器,我遵循通过train_test_split分割训练数据的技术,或使用cross_val_score进行交叉验证.这两种技术都表明估算器的准确率约为90%.但是,当我在实际测试数据上使用估算器时,获得的准确度降低了约30%.假设训练数据是测试数据的良好表示.

我还能做些什么来评估估算器的准确性?

clf = tree.DecisionTreeClassifier( )
...
X_train, X_test, y_train, y_test = train_test_split(train, target, test_size=0.3, random_state=42)
...
clf.fit(X_train, y_train)
print "Accuracy: %0.2f " % clf.score(X_test, y_test)
...    
scores = cv.cross_val_score(clf, train, target, cv=15)
print "Accuracy: %0.2f (+/- %0.2f)" % (scores.mean(), scores.std() / 2)
Run Code Online (Sandbox Code Playgroud)

python-2.7 scikit-learn kaggle

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

错误:/不支持的操作数类型:“ str”和“ long”

Kaggle Titanic使用python 2.7

import pandas as pd
from pandas import Series,DataFrame

titanic_df = pd.read_csv("train.csv")

import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline

**sns.factorplot('Pclass',data=titanic_df,hue='Sex')**
Run Code Online (Sandbox Code Playgroud)

在下面得到错误

TypeError                                 Traceback (most recent call last)
<ipython-input-7-a5240a4b6a9f> in <module>()
      1 # Let's first check gender
----> 2 sns.factorplot('Sex',data=titanic_df)

C:\Users\bigminduser\Anaconda2\lib\site-packages\seaborn-0.7.0-py2.7.egg\seaborn\categorical.pyc in factorplot(x, y, hue, data, row, col, col_wrap, estimator, ci, n_boot, units, order, hue_order, row_order, col_order, kind, size, aspect, orient, color, palette, legend, legend_out, sharex, sharey, margin_titles, facet_kws, **kwargs)
   3365 
   3366 …
Run Code Online (Sandbox Code Playgroud)

matplotlib python-2.7 seaborn kaggle

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

机器学习中的“平均”f1 分数是什么?

我知道使用精度和召回率的 f1 分数。但是,平均 f1 分数中的“平均”是什么?我们何时使用它以及如何计算“平均值”?

编辑以明确解释我的问题:我知道 f1 分数是精度和召回率的调和平均值。而在计算 f1 score 时,需要多个分类结果来计算精度和召回率。

例如,如果我们有一个由 1000 个实例组成的数据集,我们可以得到 1000 个分类结果。然后我们把它放到列联表中,这样我们就可以计算出 f1 分数。

现在这就是我对“平均”f1 分数感到困惑的一点。我们从列联表计算 f1 分数,但什么是“均值”?只有我可以计算的是 f1 分数,那么什么是“均值”以及如何计算“均值”f1 分数?

performance classification machine-learning kaggle

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

kaggle kernels:urllib.request.urlopen不适用于任何网址

处理网址列表的最佳方法是什么kaggle kernels

我试过先测试一下google.com.

First Method:使用urllib.request

import urllib.request resp =  urllib.request.urlopen('http://www.google.com')
Run Code Online (Sandbox Code Playgroud)

这导致gai错误和urlopen错误[Errno -2]名称或服务未知

Second Method:使用请求

import requests resp = requests.get('http://www.google.com')
Run Code Online (Sandbox Code Playgroud)

这导致错误gaierror:[Errno -3]名称解析暂时失败并且无法建立新连接:[Errno -3]名称解析暂时失败.

import urllib.request
req = urllib.request.Request('http://www.google.com')
print (req)

try:
    response = urllib.request.urlopen(req)
    print (response)
except urllib.error.URLError as e:
    print (e.reason)
    print("something wrong")
Run Code Online (Sandbox Code Playgroud)

输出:

<urllib.request.Request object at 0x7fed1d00c518>
[Errno -2] Name or service not known
something wrong
Run Code Online (Sandbox Code Playgroud)

我尝试解决堆栈溢出答案建议的DNS解析.

修复此错误的方法是什么?为什么urlopen或请求不在kaggle内核中工作?
我已经看到许多内核具有相同的错误内核1 内核2 内核3.

python urllib2 kaggle

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

colab中的Python Pandas:UnicodeDecodeError:'utf-8'编解码器无法解码位置0中的字节0xd3:无效的延续byteUnicodeDecodeError:

伙计们,我一直在尝试从已经下载的 Kaggle 加载一些数据集。

hist_trans = pd.read_csv('historical_transactions.csv')

new_trans = pd.read_csv('new_merchant_transactions.csv')


train = pd.read_csv('train.csv', parse_dates=['first_active_month'])

test = pd.read_csv('test.csv', parse_dates=['first_active_month'])
Run Code Online (Sandbox Code Playgroud)

我遇到了这个错误 UnicodeDecodeError: 'utf-8' 编解码器无法解码位置 0 中的字节 0xd3: 无效的连续字节

python pandas kaggle google-colaboratory

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

将文件从 kaggle 上传到谷歌驱动器

我正在使用 kaggle 训练模型,一旦训练完成,我想将训练好的模型上传到谷歌驱动器,因为我无法找到在本地下载模型的方法。在执行 pip install pydrive 我尝试进行身份验证后,我研究了使用https://pythonhosted.org/PyDrive/

    import os
    from pydrive.auth import GoogleAuth
    from pydrive.drive import GoogleDrive
    from oauth2client.client import GoogleCredentials
Run Code Online (Sandbox Code Playgroud)

然后

gauth = GoogleAuth()
gauth.credentials = GoogleCredentials.get_application_default()
drive = GoogleDrive(gauth)
Run Code Online (Sandbox Code Playgroud)

我收到此错误 ApplicationDefaultCredentialsError: The Application Default Credentials is not available。如果在 Google Compute Engine 中运行,它们就可用。否则,必须定义环境变量 GOOGLE_APPLICATION_CREDENTIALS 指向定义凭据的文件。有关更多信息,请参阅https://developers.google.com/accounts/docs/application-default-credentials

有没有另一种方法可以做到这一点?

此外,我没有在 kaggle 中提交我的文件,因为我手动停止了培训,因此提交将永远持续下去,并且在我尝试在输出区域提交和停止提交后,我收到了 6 个以上的子目录错误

python google-drive-api pydrive kaggle

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

多标签分类实现

到目前为止,我已经使用 Keras Tensorflow 对图像处理、NLP、时间序列预测进行建模。通常在具有多个条目的标签的情况下,因此多个类别的任务始终只是预测样本属于哪个类别。例如,可能的类别列表是 [汽车、人类、飞机、花卉、建筑]。所以最终的预测是样本属于哪个类别——给出每个类别的概率。通常在一个非常有信心的预测方面,一个类别的概率非常高,而其他类别的概率非常低。

现在我遇到了这个 Kaggle 挑战:有毒评论分类挑战,特别是这个实现。我认为这是一个多标签分类问题,因为一个样本可以属于不同的类。事实上,当我检查最终预测时:

ex1

我可以看到第一个样本预测对于有毒和淫秽的可能性非常高。到目前为止,当我应用标准模型来预测一个类别时,根据我的知识,我会预测样本属于该类别中的哪个类别的概率。因此,无论是 1 类还是 2 类或 .... 所以我会 - 在有信心预测的情况下 - 有毒类别的可能性很高而其他类别的可能性较低 - 或者在不自信的预测的情况下 - 0.4x 有毒,0.4x对于淫秽和其余的小概率。

现在我对如何完成实施感到惊讶。我不明白以下内容:如何完成多标签分类(与“通常”模型相反)?

检查代码时,我看到以下模型:

inp = Input(shape=(maxlen,))
x = Embedding(max_features, embed_size, weights=[embedding_matrix])(inp)
x = Bidirectional(LSTM(50, return_sequences=True, dropout=0.1, recurrent_dropout=0.1))(x)
x = GlobalMaxPool1D()(x)
x = Dense(50, activation="relu")(x)
x = Dropout(0.1)(x)
x = Dense(6, activation="sigmoid")(x)
model = Model(inputs=inp, outputs=x)
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
Run Code Online (Sandbox Code Playgroud)

我知道这x = Dense(6, activation="sigmoid")是必须预测 6 个班级的结果。到目前为止,我的知识也是如此。但是,为什么会产生多标签分类的概率?多标签分类与仅从不同选择中预测一个标签之间的实现差异在哪里?

这是使用二元交叉熵而不是(稀疏)分类交叉熵以及 6 个类的简单区别吗?所以这告诉我们每个类都有一个二元问题,它分别处理这 6 个类,因此为每个类给出样本属于这个类的概率,因此它可以有很高的概率属于不同的类?

python nlp keras tensorflow kaggle

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

在散点图中为虹膜数据集使用不同的颜色

我正在学习使用Python进行数据分析,并使用matplotlib和seaborn库,并在Kaggle中制作了一个Notebook。我试图制作一个散点图,以显示萼片叶子和花瓣叶子的宽度和长度之间的比率。

sns.FacetGrid(iris, hue="Species", size=10) 

total_rows = iris.count
number_of_iris = len(iris)

sepalLengths = iris["SepalLengthCm"]
sepalWidths = iris["SepalWidthCm"]

petalLengths = iris["PetalLengthCm"]
petalWidths = iris["PetalWidthCm"]

plt.scatter(range(number_of_iris),(sepalLengths/sepalWidths))
plt.xlabel("ID")
plt.ylabel("Ratio")
plt.show()
Run Code Online (Sandbox Code Playgroud)

输出是 在此处输入图片说明

这段代码正确无误,但我试图以三种不同的颜色显示该图,以区分这3种不同的物种。我将代码更改为:

total_rows = iris.count
number_of_iris = len(iris)

sepalLengths = iris["SepalLengthCm"]
sepalWidths = iris["SepalWidthCm"]

petalLengths = iris["PetalLengthCm"]
petalWidths = iris["PetalWidthCm"]

sns.FacetGrid(iris, hue="Species", size=10) \
   .map(range(number_of_iris),(sepalLengths/sepalWidths)) \
   .add_legend()
Run Code Online (Sandbox Code Playgroud)

但收到错误:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-48-97e6cd0ab095> in <module>()
     10 petalWidths = iris["PetalWidthCm"]
     11 
---> 12 sns.FacetGrid(iris, hue="Species", size=10)    .map(range(number_of_iris),(sepalLengths/sepalWidths))    .add_legend()
Run Code Online (Sandbox Code Playgroud)

如何将每个物种绘制成不同的颜色?

数据的一小部分是:

47,5.1,3.8, 1.34, …
Run Code Online (Sandbox Code Playgroud)

python matplotlib seaborn kaggle

0
推荐指数
1
解决办法
5513
查看次数

colab 数据集中的 Kaggle API `!kaggle datasets list` 错误

我有一个问题,当尝试在 google colab 中列出 kaggles 数据集时,我不明白这个错误。

笔记本配置:Python 3.x,无 hdw acc。

#to upload my kaggle token
from google.colab import files
files.upload()

#setting up the token
!pip install --upgrade kaggle
!mkdir -p ~/.kaggle
!cp kaggle.json ~/.kaggle/
!chmod 600 ~/.kaggle/kaggle.json

#and taking a look at datasets
!kaggle datasets list

Traceback (most recent call last):
      File "/usr/local/bin/kaggle", line 8, in <module>
        sys.exit(main())
      File "/usr/local/lib/python3.6/dist-packages/kaggle/cli.py", line 51, in main
        out = args.func(**command_args)
      File "/usr/local/lib/python3.6/dist-packages/kaggle/api/kaggle_api_extended.py", line 940, in dataset_list_cli
        max_size, min_size)
      File "/usr/local/lib/python3.6/dist-packages/kaggle/api/kaggle_api_extended.py", line 905, in …
Run Code Online (Sandbox Code Playgroud)

list dataset kaggle

0
推荐指数
1
解决办法
2458
查看次数

无法将文件下载到 AWS Lambda

我有一个下载文件的 AWS Lambda 函数。我已经读到我可以写入的唯一目录是/tmp目录,但是我仍然收到此错误。

[ERROR] OSError: [Errno 30] Read-only file system: '/home/sbx_user1051'
Traceback (most recent call last):
  File "/var/lang/lib/python3.8/imp.py", line 234, in load_module
    return load_source(name, filename, file)
  File "/var/lang/lib/python3.8/imp.py", line 171, in load_source
    module = _load(spec)
  File "<frozen importlib._bootstrap>", line 702, in _load
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 783, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/var/task/lambda_function.py", line 9, in <module>
    from kaggle.api.kaggle_api_extended import KaggleApi
  File "/var/task/kaggle/__init__.py", line 19, …
Run Code Online (Sandbox Code Playgroud)

python amazon-web-services aws-lambda kaggle

0
推荐指数
1
解决办法
125
查看次数