【发布时间】:2021-05-17 05:15:37
【问题描述】:
我在 Google Colaboratory 学习 MPL 回归器并运行了源代码:
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
data = np.array(table)
scaler.fit(data)
y_index = data.shape[1]-1
sd_x = (scaler.var_[:y_index])**0.5
sd_y = (scaler.var_[y_index])**0.5
mean_x = scaler.mean_[:y_index]
mean_y = scaler.mean_[y_index]
x = (data[:, :y_index]).astype(np.float32)
y = (data[:, y_index]).astype(np.float32)
train_x, test_x, train_y, test_y = train_test_split(x, y, test_size=0.25)
print('Separate training and testing sets!')
它给出了错误ValueError: could not convert string to float: 'Photo Editor & Candy Camera & Grid & ScrapBook'。
所以我检查了问题RandomForestClassfier.fit(): ValueError: could not convert string to float。我也试过sklearn-LinearRegression: could not convert string to float: '--'。
我从fit(data) 更改为fit_transform(data),但仍然出现同样的错误。然后我从StandardScaler改成了LabelEncoder,从scaler = StandardScaler()改成了scaler = LabelEncoder()。但是出现了不同的错误: ValueError: bad input shape (10841, 13)就行了scaler.fit_transform(data)。
您可以在此处查看来自Kaggle's CSV 的 CSV。 CSV 包含不带引号的字符串和数字(包含双引号的价格除外)。
【问题讨论】:
标签: python pandas numpy csv google-colaboratory