python中的逻辑回归

时间:2016-05-23 13:10:18

标签: python machine-learning logistic-regression

我目前正在为python进行机器学习中的Logistic回归。这是我写的代码。

import pandas as pd
from sklearn import linear_model
import numpy as np
from sklearn.utils import column_or_1d

logistic = linear_model.LogisticRegression()

data = pd.read_excel('/home/mick/PycharmProjects/project1/excel/Ron95_Price_Class.xlsx')

X = data[['Date']]
y = data[['Ron95_RM']]

y = np.ravel(y)

logistic.fit(X, y)

price = logistic.predict(42491)
print "The price for Ron95 in next month will be RM", np.array_str(price,1)

这是代码

的输出
The price for Ron95 in next month will be RM [ u'B']

没有错误,但我的问题是输出中的RM之后的字符应该是' B'或其他角色。我不知道是不是因为我错误地执行了代码,或者只是numpy数组的格式问题。

因为我今天基本上只是从Python开始,抱歉,如果我犯了一个愚蠢的错误。

3 个答案:

答案 0 :(得分:0)

当您从Ron95_Price_Class.xlsx发布一些数据时,我认为会更容易 现在我看到,你不是从火车数据中删除目标变量(y)。你可以通过

来做到这一点
   $pixelrow1 ["000000","000000","000000"];
   $pixelrow2 ["000000","FFFFFF","000000"];
   $pixelrow3 ["FF0000","00FF00","0000FF"];
   function convert_to_image($row1,$row2,$row3,$path_to_save) {
   // Some function
   }
   convert_to_image($pixelrow1,$pixelrow2,$pixelrow3,"c:/image.png");

答案 1 :(得分:0)

如果我没有弄错,'u'只是表示字符串是unicode字符串。我不确定你是如何运行你的代码的,但是当我在ipython笔记本或windows命令提示符下测试时,我得到以下输出:

The price for Ron95 in next month will be RM [ 'B']

这可能是因为我在python 3.5中运行它,而看起来你仍在使用python< 3.0。

这不是你的答案是错的,你只是获取有关数据格式的信息。有关此主题的其他问题,请参阅herehere。 python how-to on unicode也可能有所帮助。

答案 2 :(得分:0)

scikit-learn文档http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html#sklearn.linear_model.LogisticRegression.predict中提到的Predict方法提到了预测方法的返回是array,shape = [n_samples]。所以对你而言,形状是1x1阵列。要获得所需的输出,您可以尝试“price [0]”。

相关问题