小编Edw*_*Lin的帖子

转换目标变量时,'DataFrame'对象没有属性'ravel'?

我正在使用子集数据集进行逻辑回归.在拆分数据集并拟合模型后,我收到以下错误消息:

/Users/Eddie/anaconda/lib/python3.4/site-packages/sklearn/utils/validation.py:526: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel(). y = column_or_1d(y, warn=True)

所以我target_newrdn = target_newrdn.ravel()用来修改我的目标变量,但它给了我这个:

AttributeError: 'DataFrame' object has no attribute 'ravel'

我想知道问题是什么,我该如何解决?有人可以帮忙吗?

我的代码:

    from sklearn.datasets import fetch_covtype
    import numpy as np
    import pandas as pd

    from sklearn.utils import shuffle
    from sklearn.model_selection import train_test_split

    cov = fetch_covtype()
    cov_data = pd.DataFrame(cov.data)
    cov_target = pd.DataFrame(cov.target)

    data_newrdn = cov_data.head(n=10000)
    target_newrdn = cov_target.head(n=10000) …
Run Code Online (Sandbox Code Playgroud)

python numpy logistic-regression sklearn-pandas

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

网格搜索后如何在pivot_table上绘制热图

我使用 ElasticNet 进行了网格搜索,但无法绘制热图以查看 alpha 和 l1 比率之间的关系。我能够到达pivot_table,但我不知道如何使用热图对其进行可视化。有人可以帮忙吗?

我的代码:

from sklearn.datasets import fetch_california_housing
cal=fetch_california_housing()

X = cal.data
y = cal.target 
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)

import matplotlib.pyplot as plt
%matplotlib inline

param_grid = {'alpha': np.logspace(-3, -1, 10), 'l1_ratio':[0.01, .1, .9, 
.98, 1]}
print(param_grid)
grid = GridSearchCV(ElasticNet(normalize=True), param_grid, cv=10)
grid.fit(X_train, y_train)
print("Best cross-validation score: {:.2f}".format(grid.best_score_))
print("Best parameters: ", grid.best_params_)

import pandas as pd
pvt = pd.pivot_table(pd.DataFrame(grid.cv_results_),
    values='mean_test_score', index='param_alpha', columns='param_l1_ratio')

pvt
Run Code Online (Sandbox Code Playgroud)

我想实现这样的目标: alpha 和 l1 比率的热图

linear-regression python-3.x pandas scikit-learn grid-search

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

filter() 和 str_detect() 时找不到列对象

我有以下数据集:

df <- data.frame(a = c("T", "F", "T"), b = c("USA", "SIG", "FRA"))
Run Code Online (Sandbox Code Playgroud)

我想过滤掉a列值为的子集F。我试过:

library(dplyr)
library(stringr)
df %>% 
    filter(str_detect(a, "F"))
Run Code Online (Sandbox Code Playgroud)

但我得到了这个Error in stri_detect_regex(string, pattern, opts_regex = opts(pattern)) : object 'a' not found

任何人都可以帮忙并给出一些解释吗?

r stringr dplyr

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