Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将这些数据转换为逻辑回归?_Python_Scikit Learn_Logistic Regression - Fatal编程技术网

Python 如何将这些数据转换为逻辑回归?

Python 如何将这些数据转换为逻辑回归?,python,scikit-learn,logistic-regression,Python,Scikit Learn,Logistic Regression,我有“y”和“X”数据: y=[1,0,0,0,0,0,0,0,0…]就我而言没问题 及 X[0]可以取值:“reg'/'pref'/'cur'/'val” X[1]:末尾带有mounth+b(=开始)编号的字符串 X[2]:末尾带有mounth+e(=end)编号的字符串 X[3]:“买入”或“卖出” 但我做不到 logreg = LogisticRegression() logreg.fit(X,y) 因为我对X的结构有问题(它是带字符串的列表) 我想修复它并执行以下操作: logreg

我有“y”和“X”数据:

y=[1,0,0,0,0,0,0,0,0…]
就我而言没问题

X[0]
可以取值:“reg'/'pref'/'cur'/'val”

X[1]
:末尾带有mounth+b(=开始)编号的字符串

X[2]
:末尾带有mounth+e(=end)编号的字符串

X[3]
:“买入”或“卖出”

但我做不到

logreg = LogisticRegression()
logreg.fit(X,y)
因为我对X的结构有问题(它是带字符串的列表)

我想修复它并执行以下操作:

logreg = preprocessing.LabelEncoder()
i=0
while i<len(X):
    logreg.fit(X[i])
    b[i]=logreg.transform(X[i])
    i=i+1

所有元素都是相同的。如何正确转换.fit(X,y)的数据?

问题在于,您将X中的行和列弄错了

import numpy as np
from sklearn import preprocessing
X = [['reg', '03b', '03e', 'buy'],
    ['reg', '03b', '04e', 'sell'],
    ['pref', '02b', '03e', 'sell'],
    ['cur', '03b', '03e', 'buy'],
    ['val', '03b', '03e', 'buy'],
    ['reg', '03b', '03e', 'buy']]
X = np.array(X)
b = np.zeros(X.shape)
logreg = preprocessing.LabelEncoder()
i = 0
while i < X.shape[1]:
    logreg.fit(X[:,i])
    b[:,i] = logreg.transform(X[:,i])
    i += 1
b
array([[2., 1., 0., 0.],
       [2., 1., 1., 1.],
       [1., 0., 0., 1.],
       [0., 1., 0., 0.],
       [3., 1., 0., 0.],
       [2., 1., 0., 0.]])
将numpy导入为np
从sk学习导入预处理
X=[['reg','03b','03e','buy'],
['reg'、'03b'、'04e'、'sell'],
['pref'、'02b'、'03e'、'sell'],
['cur','03b','03e','buy'],
['val','03b','03e','buy'],
['reg'、'03b'、'03e'、'购买']]
X=np.数组(X)
b=np.零(X.形)
logreg=preprocessing.LabelEncoder()
i=0
而我
您能提供您得到的错误吗?我添加了更多信息。我在转换的X中有所有相同的元素,但它不正确,因为['cur''03b''03e''buy']=['reg''05b''06e''sell']=[3 0 1 2]@user330959如果您觉得答案有用,请将其作为已接受的答案检查,以节省其他有类似问题的人的时间。
[3 0 1 2]
[3 0 1 2]
[3 0 1 2]
[3 0 1 2]
[3 0 1 2]
[3 0 1 2]
...
[3 0 1 2]
import numpy as np
from sklearn import preprocessing
X = [['reg', '03b', '03e', 'buy'],
    ['reg', '03b', '04e', 'sell'],
    ['pref', '02b', '03e', 'sell'],
    ['cur', '03b', '03e', 'buy'],
    ['val', '03b', '03e', 'buy'],
    ['reg', '03b', '03e', 'buy']]
X = np.array(X)
b = np.zeros(X.shape)
logreg = preprocessing.LabelEncoder()
i = 0
while i < X.shape[1]:
    logreg.fit(X[:,i])
    b[:,i] = logreg.transform(X[:,i])
    i += 1
b
array([[2., 1., 0., 0.],
       [2., 1., 1., 1.],
       [1., 0., 0., 1.],
       [0., 1., 0., 0.],
       [3., 1., 0., 0.],
       [2., 1., 0., 0.]])