我有一个数据框,我有这些列名称
我想要做的是在特定条件满足时(我使用掩码定义)将'city'的值指定为'dubai'.
这就是我正在做的事情:
matches[((matches['team1']=='mi') & (matches['team2']=='rcb') & (matches['date']=='2014-04-19')),'city']='Dubai'
Run Code Online (Sandbox Code Playgroud)
当所有上述条件满足时,我想将'city'(现在为null)中的值更改为'Dubai'
出现的问题:
'系列'对象是可变的,因此它们不能被散列
我怎样才能做到这一点?
我有一个大的csv文件,不想将它完全加载到我的内存中,我需要从这个csv文件中只获取列名.如何清楚地加载它?
我正在尝试用 spyder 中的熊猫构建一个简单的回归线。执行以下代码后,我收到此错误:
Found input variables with inconsistent numbers of samples: [1, 99]
Run Code Online (Sandbox Code Playgroud)
编码:
import numpy as np
import pandas as pd
dataset = pd.read_csv('Phil.csv')
x = dataset.iloc[:, 0].values
y = dataset.iloc[:, 2].values
from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
regressor.fit(x, y)
Run Code Online (Sandbox Code Playgroud)
我想我知道问题出在哪里,但我不太确定如何处理语法。在变量资源管理器中,x(和 y)的大小是 (99L,),据我所知,它不能是向量,必须是大小 (99,1)。y 也一样。
看到一堆相关的话题,但没有一个有帮助。
我正在研究回归算法,在这种情况下k-NearestNeighbors预测产品的某个价格。
所以我有一个训练集,它只有一个具有 4 个可能值的分类特征。我已经使用一对 k 分类编码方案处理了它,这意味着现在我的 Pandas DataFrame 中还有 3 个列,其中 0/1 取决于存在的值。
DataFrame 中的其他特征主要是距离,如纬度 - 位置和价格的经度,都是数字。
我应该标准化(具有零均值和单位方差的高斯分布)并在分类编码之前或之后归一化吗?
我认为在编码后进行归一化可能是有益的,这样在测量邻居之间的距离时,每个特征对估计器来说都与其他特征一样重要,但我不太确定。
machine-learning linear-regression scikit-learn sklearn-pandas one-hot-encoding
我试图实现KNN进行手写字符识别,结果发现执行代码要花费很多时间。当将参数leaf_size添加为值400时,我观察到代码执行所需的时间大大减少了。
原始代码:
knn = KNeighborsClassifier(n_neighbors=3)
Run Code Online (Sandbox Code Playgroud)
新代码:
knn = KNeighborsClassifier(n_neighbors=3,leaf_size=400)
Run Code Online (Sandbox Code Playgroud)
我读了很少的有关KDtree / Balltree的leaf_size参数的文档和文章,但是找不到有关如何安全调整此参数而又没有任何准确性和信息丢失的足够好的参考。
如果有人可以就上述问题分享一些见解,那将是非常友善的。
我提到的相关文章:
1.)http://scikit-learn.org/stable/modules/genic/sklearn.neighbors.KDTree.html
2.)https://jakevdp.github.io/blog/2013/04 / 29 / benchmarking-nearest-neighbor-searches-in-python /
3.)http://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KNeighborsClassifier.html
我正在尝试使用 category_encoders.OrdinalEncoder 将类别映射到熊猫数据框中的整数。但是我在没有任何其他有用提示的情况下收到以下错误。
TypeError: 'NoneType' object is not iterable
Run Code Online (Sandbox Code Playgroud)
代码在没有尝试映射的情况下运行良好,但我想要映射。
代码:
import category_encoders as ce
ordinal_cols = [
"ExterQual",
]
ordinal_cols_mapping = [{
"ExterQual": {
'Ex': 5,
'Gd': 4,
'TA': 3,
'Fa': 2,
'Po': 1,
'NA': NaN
}},
]
encoder = ce.OrdinalEncoder( mapping = ordinal_cols_mapping, return_df = True, cols = ordinal_cols,)
df_train = encoder.fit_transform(train_data)
print(df_train)
Run Code Online (Sandbox Code Playgroud)
我做错了什么?
映射:字典列表 用于编码的类到标签的映射,可选。
http://contrib.scikit-learn.org/categorical-encoding/ordinal.html
全栈跟踪:
---------------------------------------------------------------------------
TypeError
Traceback (most recent call last)
<ipython-input-56-4944c8d41d07> in <module>()
150 # use the Ordinal Encoder to map the ordinal …Run Code Online (Sandbox Code Playgroud) encoding machine-learning ordinal scikit-learn sklearn-pandas
我想在函数中使用调整后的 Rsquarecross_val_score。我尝试使用make_scorer功能但它不起作用。
from sklearn.cross_validation import train_test_split
X_tr, X_test, y_tr, y_test = train_test_split(X, Y, test_size=0.2, random_state=0)
regression = LinearRegression(normalize=True)
from sklearn.metrics.scorer import make_scorer
from sklearn.metrics import r2_score
def adjusted_rsquare(y_true,y_pred):
adjusted_r_squared = 1 - (1-r2_score(y_true, y_pred))*(len(y_pred)-1)/(len(y_pred)-X_test.shape[1]-1)
return adjusted_r_squared
my_scorer = make_scorer(adjusted_rsquare, greater_is_better=True)
score = np.mean(cross_val_score(regression, X_tr, y_tr, scoring=my_scorer,cv=crossvalidation, n_jobs=1))
Run Code Online (Sandbox Code Playgroud)
它抛出一个错误:
IndexError: positional indexers are out-of-bounds
Run Code Online (Sandbox Code Playgroud)
有什么方法可以使用我的自定义功能,即;adjusted_rsquare和cross_val_score?
python machine-learning python-3.x scikit-learn sklearn-pandas
[在]:
from sklearn_extra.cluster import KMedoids
Run Code Online (Sandbox Code Playgroud)
[出去]:
ModuleNotFoundError: No module named 'sklearn_extra'
Run Code Online (Sandbox Code Playgroud)
然后,我尝试通过安装 sklearn_extra
[在]:
ModuleNotFoundError: No module named 'sklearn_extra'
Run Code Online (Sandbox Code Playgroud)
[出去]:
python -m pip install sklearn_extra
Run Code Online (Sandbox Code Playgroud)
然后,我去了网站的安装部分(https://scikit-learn-extra.readthedocs.io/en/latest/install.html)并按照它说的做了:
Installation
Dependencies
scikit-learn-extra requires,
Python (>=3.5)
scikit-learn (>=0.21), and its dependencies
Cython (>0.28)
User installation
Latest development version can be installed with,
pip install https://github.com/scikit-learn-contrib/scikit-learn-extra/archive/master.zip
Run Code Online (Sandbox Code Playgroud)
[在]:
ERROR: Could not find a version that satisfies the requirement sklearn_extra (from versions: none)
ERROR: No matching distribution found for sklearn_extra
Run Code Online (Sandbox Code Playgroud)
[出去]:
ERROR: Command errored out …Run Code Online (Sandbox Code Playgroud) 当尝试使用 pip 在 Windows 10 上安装 Python 的 sklearn 包时,我得到一个 EnvironmentError ,告诉我没有这样的文件或特定文件的目录:
错误:由于环境错误,无法安装包:[Errno 2] 没有这样的文件或目录:'C:\Users\Rik\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\ site-packages\sklearn\datasets\tests\data\openml\292\api-v1-json-data-list-data_name-australian-limit-2-data_version-1-status-deactivated.json.gz'
我多次尝试重新安装以下软件包:
我还尝试下载 sklearn 的 github 主文件夹并将其粘贴到安装程序期望文件所在的目录中,即使这样,在使用 pip 安装时它也会告诉我文件丢失。
此外,我尝试通过 github 存储库下载并运行来安装它
python setup.py install
Run Code Online (Sandbox Code Playgroud)
但这会导致奇怪的 Microsoft Visual Studio 错误,因为显然它正在尝试运行测试程序或其他东西,但不确定。
有什么建议可以解决这个问题吗?
这是癌症检测的小项目,它已经有了数据集和colab代码,但是当我执行时出现错误
model.fit(x_train, y_train, epochs=1000)
Run Code Online (Sandbox Code Playgroud)
错误是:
ValueError: Input 0 of layer "sequential" is incompatible with the layer: expected shape=(None, 455, 30), found shape=(None, 30)
Run Code Online (Sandbox Code Playgroud)
我看评论发现其他人也有这个问题
sklearn-pandas ×10
scikit-learn ×6
python ×4
pandas ×3
python-3.x ×2
dataframe ×1
encoding ×1
installation ×1
kdtree ×1
knn ×1
ordinal ×1
package ×1
spyder ×1
tensorflow ×1