LogisticRegression对象没有属性
问题描述:
我是Django和scikit-learn的noob,尝试使用这些技术创建一个简单的REST服务器来执行分类。到目前为止,我只是试图获得某种结果来测试控制器是否工作,但该程序似乎没有检测到我的LogisticRegression对象的任何属性。LogisticRegression对象没有属性
我的代码:
Request Method: \t POST
Request URL: \t http://localhost:8000/classify/logistic_regression
Django Version: \t 1.8.4
Exception Type: \t AttributeError
Exception Value: \t
'LogisticRegression' object has no attribute 'fit'
Exception Location: \t /Users/mart/myclassifier/classifierapi/views.py in post, line 31
Python Executable: \t /Users/mart/myclassifier/myclassifiervenv/bin/python
Python Version: \t 2.7.10
Python Path: \t
['/Users/mart/myclassifier',
'/Users/mart/myclassifier/myclassifiervenv/lib/python27.zip',
'/Users/mart/myclassifier/myclassifiervenv/lib/python2.7',
'/Users/mart/myclassifier/myclassifiervenv/lib/python2.7/plat-darwin',
'/Users/mart/myclassifier/myclassifiervenv/lib/python2.7/plat-mac',
'/Users/mart/myclassifier/myclassifiervenv/lib/python2.7/plat-mac/lib-scriptpackages',
'/Users/mart/myclassifier/myclassifiervenv/lib/python2.7/lib-tk',
'/Users/mart/myclassifier/myclassifiervenv/lib/python2.7/lib-old',
'/Users/mart/myclassifier/myclassifiervenv/lib/python2.7/lib-dynload',
'/usr/local/Cellar/python/2.7.10/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
'/usr/local/Cellar/python/2.7.10/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
'/usr/local/Cellar/python/2.7.10/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
'/usr/local/Cellar/python/2.7.10/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
'/usr/local/Cellar/python/2.7.10/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
'/Users/mart/myclassifier/myclassifiervenv/lib/python2.7/site-packages']
Server time: \t Wed, 14 Oct 2015 02:54:32 +0000
from rest_framework.views import APIView
from .mixins import JSONResponseMixin
from django.http import HttpResponse
import numpy as np
from sklearn import svm
from sklearn.linear_model import LogisticRegression
import json
import pickle
class LogisticRegression(APIView):
def get(self, request):
return HttpResponse("Stub")
def post(self, request):
logreg = LogisticRegression()
array = '{"data":' + request.body + '}'
#print array
jobj= json.loads(array)
jarray = jobj['data']
matrix = np.asarray([[j['GravityX'], j['GravityY'], j['GravityZ'], j['true']] for j in jarray])
X = matrix[:, :3]
y = matrix[:, 3]
logreg.fit(X, y)
return HttpResponse("test")
而结果(使用邮差与请求主体中的伪数据JSON创建)
我尝试了其他属性,并得到相应的no属性错误结果。有任何想法吗?
答
更改
from sklearn.linear_model import LogisticRegression
到
import sklearn.linear_model as lm
和使用
logreg = lm.LogisticRegression()
固定它。