如何使用逻辑回归来预测输出值?

时间:2020-08-06 09:57:34

标签: python scikit-learn regression logistic-regression

我成功地模拟了我的分类函数,以利用熊猫和sklearn库的ANN预测输出二进制的单个值。现在我想模拟我的模型以预测不是二进制的另一个特征,因为输入列为(0,1,4,6,7,8,11,12,13,14)而输出列为(15)我的数据集。输入数据的典型示例是[4096,0.07324,1.7,20,5.2,64,0.142,0.5,35,30,584.232],因为有些值是浮点型的。如何使用逻辑回归通过前十个数字预测584.232? 谢谢大家。

dataset = pd.read_csv("DataSet.csv")
X = dataset.iloc[:, [0,1,4,6,7,8,11,12,13,14]].values
y = dataset.iloc[:, 15].values

为避免类型错误,我使用以下方式将输入值转换为float:

dataset['ColumnsName'] = dataset['ColumnsName'].astype(float)
from sklearn.preprocessing import LabelEncoder, OneHotEncoder
from sklearn.compose import ColumnTransformer
labelEncoder_X_delay_1 = LabelEncoder()
X[:, 1] = labelEncoder_X_1.fit_transform(X[:, 1])
labelEncoder_X_delay_2 = LabelEncoder()
X[:, 2] = labelEncoder_X_2.fit_transform(X[:, 2])
# normalizing the input
X = X.T
X = X / np.amax(X, axis=1)
X = X.T
# splitting the dataset into the training set and test set
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = 
train_test_split(X, y, test_size = 0.2, random_state = 0)
# feature scaling
from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
X_train = sc.fit_transform(X_train)
X_test = sc.transform(X_test)
# fitting logestic regression to the training set
from sklearn.linear_model import LogisticRegression
classifier = LogisticRegression(random_state = 0)
classifier.fit(X_train, y_train)

但是直到现在编译代码后,它都会出现错误:

from sklearn.linear_model import LogisticRegression
classifier = LogisticRegression(random_state = 0)
classifier.fit(X_train, y_train)
Traceback (most recent call last):

  File "<ipython-input-5-f18c8875152f>", line 3, in <module>
    classifier.fit(X_train, y_train)

  File "C:\Users\ali\anaconda3\lib\site-packages\sklearn\linear_model\_logistic.py", line 1528, in fit
    check_classification_targets(y)

  File "C:\Users\ali\anaconda3\lib\site-packages\sklearn\utils\multiclass.py", line 169, in check_classification_targets
    raise ValueError("Unknown label type: %r" % y_type)

ValueError: Unknown label type: 'continuous'

我已经将预定义的列从字符串转换为浮点数!

1 个答案:

答案 0 :(得分:0)

[clket_edit_account]