- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
首先我查看了所有相关问题。给出了非常相似的问题。
所以我遵循了链接中的建议,但没有一个对我有用。
Data Conversion Error while applying a function to each row in pandas Python
Getting deprecation warning in Sklearn over 1d array, despite not having a 1D array
我也尝试按照错误消息进行操作,但也没有成功。
代码如下所示:
# Importing the libraries
import numpy as np
import pandas as pd
# Importing the dataset
dataset = pd.read_csv('Position_Salaries.csv')
X = dataset.iloc[:, 1:2].values
y = dataset.iloc[:, 2].values
# avoid DataConversionError
X = X.astype(float)
y = y.astype(float)
## Attempt to avoid DeprecationWarning for sklearn.preprocessing
#X = X.reshape(-1,1) # attempt 1
#X = np.array(X).reshape((len(X), 1)) # attempt 2
#X = np.array([X]) # attempt 3
# Feature Scaling
from sklearn.preprocessing import StandardScaler
sc_X = StandardScaler()
sc_y = StandardScaler()
X = sc_X.fit_transform(X)
y = sc_y.fit_transform(y)
# Fitting SVR to the dataset
from sklearn.svm import SVR
regressor = SVR(kernel = 'rbf')
regressor.fit(X, y)
# Predicting a new result
y_pred = regressor.predict(sc_X.transform(np.array([6.5])))
y_pred = sc_y.inverse_transform(y_pred)
数据如下所示:
Position,Level,Salary
Business Analyst,1,45000
Junior Consultant,2,50000
Senior Consultant,3,60000
Manager,4,80000
Country Manager,5,110000
Region Manager,6,150000
Partner,7,200000
Senior Partner,8,300000
C-level,9,500000
CEO,10,1000000
完整的错误日志如下:
/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/preprocessing/data.py:586: DeprecationWarning: Passing 1d arrays as data is deprecated in 0.17 and will raise ValueError in 0.19. Reshape your data either using X.reshape(-1, 1) if your data has a single feature or X.reshape(1, -1) if it contains a single sample.
warnings.warn(DEPRECATION_MSG_1D, DeprecationWarning)
/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/preprocessing/data.py:649: DeprecationWarning: Passing 1d arrays as data is deprecated in 0.17 and will raise ValueError in 0.19. Reshape your data either using X.reshape(-1, 1) if your data has a single feature or X.reshape(1, -1) if it contains a single sample.
warnings.warn(DEPRECATION_MSG_1D, DeprecationWarning)
/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/preprocessing/data.py:649: DeprecationWarning: Passing 1d arrays as data is deprecated in 0.17 and will raise ValueError in 0.19. Reshape your data either using X.reshape(-1, 1) if your data has a single feature or X.reshape(1, -1) if it contains a single sample.
warnings.warn(DEPRECATION_MSG_1D, DeprecationWarning)
/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/utils/validation.py:395: DeprecationWarning: Passing 1d arrays as data is deprecated in 0.17 and will raise ValueError in 0.19. Reshape your data either using X.reshape(-1, 1) if your data has a single feature or X.reshape(1, -1) if it contains a single sample.
DeprecationWarning)
我仅使用第二列和第三列,因此不需要对第一列进行热编码。唯一的问题是 DeprecationWarning。
我尝试了所有给出的建议,但没有一个起作用。
因此,我们将非常感谢您的帮助。
最佳答案
这是一个奇怪的事情。我用来消除弃用警告的代码如下,对如何适应 StandardScaler() 和调用 transform() 进行了轻微修改。解决方案包括根据警告消息煞费苦心地 reshape 和拆散阵列。不确定这是否是最好的方法,但它删除了警告。
# Importing the libraries
import numpy as np
import pandas as pd
from io import StringIO
from sklearn.preprocessing import StandardScaler
# Setting up data string to be read in as a .csv
data = StringIO("""Position,Level,Salary
Business Analyst,1,45000
Junior Consultant,2,50000
Senior Consultant,3,60000
Manager,4,80000
Country Manager,5,110000
Region Manager,6,150000
Partner,7,200000
Senior Partner,8,300000
C-level,9,500000
CEO,10,1000000""")
dataset = pd.read_csv(data)
# Importing the dataset
#dataset = pd.read_csv('Position_Salaries.csv')
# Deprecation warnings call for reshaping of single feature arrays with reshape(-1,1)
X = dataset.iloc[:, 1:2].values.reshape(-1,1)
y = dataset.iloc[:, 2].values.reshape(-1,1)
# avoid DataConversionError
X = X.astype(float)
y = y.astype(float)
#sc_X = StandardScaler()
#sc_y = StandardScaler()
X_scaler = StandardScaler().fit(X)
y_scaler = StandardScaler().fit(y)
X_scaled = X_scaler.transform(X)
y_scaled = y_scaler.transform(y)
# Fitting SVR to the dataset
from sklearn.svm import SVR
regressor = SVR(kernel = 'rbf')
# One of the warnings called for ravel()
regressor.fit(X_scaled, y_scaled.ravel())
# Predicting a new result
# The warnings called for single samples to reshaped with reshape(1,-1)
X_new = np.array([6.5]).reshape(1,-1)
X_new_scaled = X_scaler.transform(X_new)
y_pred = regressor.predict(X_new_scaled)
y_pred = y_scaler.inverse_transform(y_pred)
关于python - sklearn : sklearn. 数组的预处理 DeprecationWarning,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43927037/
%matplotlib 笔记本 import numpy as np import matplotlib.pyplot as plt import pandas as pd from sklea
我们正在将我们的应用程序从 Django 1.6 更新到 1.7。 我们看到很多这样的消息:RemovedInDjango18Warning 有没有办法过滤它们?它们在导入过程中被释放。 我们尝试了
我已经升级到 Django 1.4,现在当我运行我的开发服务器时,我收到以下警告: /home/flc/venvs/myprj/lib/python2.6/site-packages/django/v
我的一些程序运行没有问题,但我仍然收到以下错误代码。它对程序本身没有影响,但我仍然想解决它。 C:\Program Files\JetBrains\PyCharm Community Edition
我最近升级到 numpy 1.9dev。(为了改进 OpenBlas 支持)。 我有一些代码可以执行 x-y其中 x 和 y 是来自概率分布的样本。如果分布是伯努利分布,则它们是 bool 值。如果分
首先我查看了所有相关问题。给出了非常相似的问题。 所以我遵循了链接中的建议,但没有一个对我有用。 Data Conversion Error while applying a function to
我正在使用 python docs 提供的 grouper 配方的修改形式: from itertools import chain, islice def grouper(iterable, n):
我相信这个问题已经被提出了很多次,但我有一个特定的用例,我无法使用网络上描述的许多方法解决问题。 在我的一个项目中,我正在使用 joblib 库,它显示 DeprecationWarning 因为它在
我经常从我无法控制的库中得到很多弃用,我不想用它们污染测试执行。 如何在不冒从我自己的代码中禁用弃用的风险的情况下避免这种情况? 例子: ===============================
我已经搜索过了,但无法完全找到答案。我想要一个来自 sympy 的具有特定维度的 Matrix 的简单子(monad)类。当我在 python 2.7 中运行此代码时: from sympy impo
已经应用了 require('events') 但仍然不断显示警告,我在这里做错了什么?为什么 process.EventEmitter 即使未使用也会一直显示? Node v6.7.0 它可以工作,
我最近在我的一台机器上更新了 Python 的 Numpy 包,显然我一直依赖 a deprecated feature of numpy现在有一段时间了: >>> np.__version__ '1
我在将模型的预测与训练集的标签进行比较时遇到了问题。我使用的数组具有以下形状: Training set (200000, 28, 28) (200000,) Validation set (1000
使用文档运行 rasa_core 示例 › python3 -m rasa_core.run -d models/dialogue -u models/nlu/default/current 并在对话
尝试更新 MongoDB 文档获取弃用警告为 (node:71307) [DEP0079] DeprecationWarning: Custom inspection function on Obje
当我运行 pytest 时,我收到了来自 3rd 方库的一些弃用警告。我想知道我自己的代码中的任何弃用警告,但不是在与另一个 3rd 方库捆绑在一起的库的供应商副本中。 This answer帮助我中
我是当我尝试运行 nodemon app.js socioboard-api/user 时,出现以下错误 [nodemon] 1.19.3 [nodemon] to restart at any ti
我想使用以下方法获取帖子文档的数量: db.collection('posts').count() 但是,我收到了警告: DeprecationWarning: collection.count is
我有一段代码如下(使用 python 2.7.12 运行): self.config = ConfigParser() self.config.read(self.config_file) 其中 se
DeprecationWarning、PendingDeprecationWarning 和 FutureWarning 之间有什么区别?我在Python 3 documentation中看到目标“受
我是一名优秀的程序员,十分优秀!