我是ML的新手,正在参加一个讨价还价的比赛,以便学习一下.当我向数据集添加某些功能时,准确性会降低.
为什么增加成本的功能不会加权为零(忽略)?是因为非线性特征会导致局部最小解?
谢谢.
我正在使用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) 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) 我知道使用精度和召回率的 f1 分数。但是,平均 f1 分数中的“平均”是什么?我们何时使用它以及如何计算“平均值”?
编辑以明确解释我的问题:我知道 f1 分数是精度和召回率的调和平均值。而在计算 f1 score 时,需要多个分类结果来计算精度和召回率。
例如,如果我们有一个由 1000 个实例组成的数据集,我们可以得到 1000 个分类结果。然后我们把它放到列联表中,这样我们就可以计算出 f1 分数。
现在这就是我对“平均”f1 分数感到困惑的一点。我们从列联表计算 f1 分数,但什么是“均值”?只有我可以计算的是 f1 分数,那么什么是“均值”以及如何计算“均值”f1 分数?
处理网址列表的最佳方法是什么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.
伙计们,我一直在尝试从已经下载的 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: 无效的连续字节
我正在使用 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 个以上的子目录错误
到目前为止,我已经使用 Keras Tensorflow 对图像处理、NLP、时间序列预测进行建模。通常在具有多个条目的标签的情况下,因此多个类别的任务始终只是预测样本属于哪个类别。例如,可能的类别列表是 [汽车、人类、飞机、花卉、建筑]。所以最终的预测是样本属于哪个类别——给出每个类别的概率。通常在一个非常有信心的预测方面,一个类别的概率非常高,而其他类别的概率非常低。
现在我遇到了这个 Kaggle 挑战:有毒评论分类挑战,特别是这个实现。我认为这是一个多标签分类问题,因为一个样本可以属于不同的类。事实上,当我检查最终预测时:
我可以看到第一个样本预测对于有毒和淫秽的可能性非常高。到目前为止,当我应用标准模型来预测一个类别时,根据我的知识,我会预测样本属于该类别中的哪个类别的概率。因此,无论是 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进行数据分析,并使用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) 我有一个问题,当尝试在 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) 我有一个下载文件的 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) kaggle ×11
python ×6
matplotlib ×2
python-2.7 ×2
seaborn ×2
aws-lambda ×1
dataset ×1
keras ×1
list ×1
nlp ×1
pandas ×1
performance ×1
pydrive ×1
scikit-learn ×1
tensorflow ×1
urllib2 ×1