2017-11-17 2 views
-1

저는 기계 학습 및 sklearn에 익숙합니다. 그럼 다음과 같은 질문이 있습니다.sklearn - Python3에서 내 데이터 세트를 사용하는 방법

선형 회귀를 시도하고 있지만 일부 .txt 파일에서 내 데이터를 사용하고 싶습니다. 3 개의 열이있는 표가있는 데이터가 있습니다.

그 후, 나는이 다음 코드를 변경하는 방법을 알고 싶습니다, 즉, http://scikit-learn.org/stable/auto_examples/linear_model/plot_ols.html

다음

나는 예제의 코드 전에 조금 변경하고 난 일부 데이터를 발명에서 예입니다 올바른 것입니다 그것을하는 방법? 이와 비슷한 방법으로 XY을 사용하십시오. 그리고 나서 방정식을 어떻게 알 수 있습니까 : x_train = x [:2], [:2]은 제 절차에 영향을 미칩니다. 나는이 부분을 정말로 얻지 못했다.

from sklearn import linear_model 
import matplotlib.pyplot as plt 
from sklearn.metrics import mean_squared_error, r2_score 

#X has to be numpy array not list. 

x=([0],[1],[2],[3],[4],[5],[6],[7],[8],[9],[10]) 
y=[5,3,8,3,4,5,5,7,8,9,10] 

x_train = x [:2] 
x_test = x [2:] 

y_train = y[:2] 
y_test = y[2:] 

regr = linear_model.LinearRegression() 
regr.fit (x_train,y_train) 

y_pred = regr.predict(x_test) 

#coefficient 
print('Coefficients: \n', regr.coef_) 

#the mean square error 
print("Mean squared error: %.2f" % mean_squared_error(y_test, y_pred)) 
print('Variance score: %.2f' % r2_score(y_test, y_pred)) 

plt.scatter(x_test, y_test, color='black') 
plt.plot(x_test, y_pred, color='blue', linewidth=3) 
plt.axis([0, 20, 0, 20]) 
plt.show() 

감사합니다. 그래서, 나는이 웹 페이지에서받은 도움으로 편집 한

, 나는 내 자신의 데이터의 적합을 생산하기 위해, 몇 가지 코드를 만들려고하지만 정확한 적합을 얻을 수 아니에요 누군가 나에게 조금 더 도와 줄 시간이 있거나 내가 잘못한 것을 말해 준다면.

나는 사진으로 사용하고있는 코드는 내가 여기 내 데이터와 제가 훈련 TEST First part of the code

에서 얻을 모습의 사진을 가져온 거에요

import pandas as pd 
import numpy as np 
from sklearn.model_selection import KFold 
from sklearn.model_selection import cross_val_score 
from sklearn import linear_model 
from sklearn.metrics import mean_squared_error, r2_score 
import matplotlib.pyplot as plt 

data = pd.read_csv('data.txt') 
#x = data[['col1','col2']] 
x = data[['col1']] 
y = data['col3'] 

#convert to array to fit the model 
x=np.asarray(x) 
y=np.asarray(y) 

# define the KFolds 
kf = KFold(n_splits=2) 

#define the model 
regr = linear_model.LinearRegression() 

# use cross validation and return the r2 score for each Fold 
#if you want to return other scores than r2, just change the scoring in cross_val_score 
scores = cross_val_score(regr, x, y, cv= kf, scoring= 'r2') 

print(scores) 

for train_index, test_index in kf.split(x): 
    print("TRAIN:", train_index, "TEST:", test_index) 
    X_train, X_test = x[train_index], x[test_index] 
    y_train, y_test = y[train_index], y[test_index] 


plt.scatter (X_test, y_test) 
plt.show() 

받고 있어요 그 때 나는 몇 가지에 맞는 절차를했지만 그것은 맞습니다 있는지 확실하지 않습니다 :

regr.fit (X_train, y_train) 
y_pred = regr.predict(X_test) 
print(y_pred) 
plt.scatter(X_test, y_test, color='black') 
plt.plot(X_test, y_pred, color='blue', linewidth=3) 
plt.show() 

내가 완전히 이상한 적합을 얻을. Fit of my function

내가 MINUIT을 사용했을 때 내 적합성이 제대로 작동하는지 이해할 수 없다. 그래서, 누군가가 나를 도울 수있는 힌트가 있다면.

분명히 프로그램에서 "y"의 데이터를 사용하여 TRAIN 또는 TEST 샘플을 사용하지 않는 이유는 무엇입니까?

내 데이터는 여기 taked 수 있습니다 나를 위해 https://www.dropbox.com/sh/nbbsc0fqznkwxvt/AAD-u6lM4orJOGrgIyz0o8B9a?dl=0

유일한 중요한 것은 COL2는 무시해야 COL1 및 COL3입니다. 그런 다음이 데이터에 적합하게 만들고 내 적합성의 가치를 추출합니다. 나는이 데이터에 맞는 라인이라는 것을 알고있다.

감사합니다.

+0

이 너무 광범위하고 단지 자신의 시도없이의 다른 코드를 보여주는 것입니다을 사용해야합니다. 필요한 데이터 모양을 이해하려면 문서를 읽으십시오. ''diabetes_X.shape'''와 공동으로 인쇄하여 이것을 확인하십시오. 그런 다음 numpy 또는 pandas docs를 읽어 데이터를 numpy 배열/데이터 프레임으로 읽는 방법을 익히십시오. (제공되지 않은 txt 파일에 따라 달라 지므로 그 파일에 대한 설명은 비공식적입니다.) – sascha

+0

@sascha 인터넷에서 그 부분을보고 있습니다. 선형 회귀 분석에서 내 데이터를 사용하는 방법을 이해할 수있는 설명을 찾을 수 없었습니다. 모든 예제는 자신의 사람이 아닌 일부 데이터 집합을 사용하고 있습니다. 여기에 내 데이터 세트를 제공 할 수 없습니다. 그것은 공개적인 정보가 아닙니다. 난 그냥 몇 가지 측정에 대해 3 열 txt 파일이 있습니다. 내 자신의 데이터 세트를 업로드하는 방법에 대한 설명을 찾을 수있는 링크를 제공 할 수 있습니다. 당신의 대답은 전혀 도움이되지 않습니다. 그러나 어쨌든 당신을 감사하십시오! – Gabriela

+0

** 필요한 모든 것 **은 문서에서 다룹니다. 필요한 모양을위한 sklearn. 그런 다음 올바른 모양으로 배열을 만들면됩니다. 당신이하는 일은 중요하지 않습니다. numpy와 pandas는 모두 독자에게 제공됩니다. 도움이되는 정보를 제공하지 않으면이 질문을 볼 준비가되어 있어야합니다 (주어진 답변에 접근법이 언급되어 있습니다)! (텍스트 기반의 3 열 데이터 세트의 무한한 많은 다른 인코딩이 있습니다!) – sascha

답변

관련 문제