私は機械学習とスケルトンでは新しいです。 私は以下の質問をしています:sklearn - Python3で私自身のデータセットを使うにはどうすればいいですか
私は線形回帰をしようとしていますが、私は自分のデータを.txt
ファイルから使いたいと思います。 私は、3列のテーブルを持つデータをいくつか持っています。
その後、私はこの次のコードを変更する方法を知っていただきたいと思い、それは、http://scikit-learn.org/stable/auto_examples/linear_model/plot_ols.html
その後私は例のコードの前にビットを変更し、私はいくつかのデータを発明の例で正しいということですそれを行う方法?このように、X
とY
のように使用します。そして、私はまた方程式: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()
ありがとうございます!
EDIT 1
私は、このWebページで受け付け助けを借りて、そう、私は自分自身のデータのフィットを生産するために、いくつかのコードを作ってみましたが、私は正しいフィット感を得ることができないんだけど誰かが私をもう少し助けてくれる時間があるか、私が何か間違っているかどうか教えてください。
私は写真を使っているコードは、私はここに私のデータと私は訓練し、TEST
から取得するように見えるものの絵を入れている
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()
MINUITを使用したときに私のフィット感がうまくいけば、なぜそれが得られるのか分かりません。だから、誰かが私を助けるためのヒントを持っている場合。
明らかに、プログラムが "y"のデータをTRAINまたはTESTサンプルに使用していないのはなぜですか?
私のデータはここtakedすることができます。私にとってhttps://www.dropbox.com/sh/nbbsc0fqznkwxvt/AAD-u6lM4orJOGrgIyz0o8B9a?dl=0
だけ重要なのは、COL2が無視されるべきで、col1とcol3というです。それから、私はこのデータに適合させ、自分のフィット感を引き出したいと思います。私はそれがこのデータに合った線であることを知っています。
ありがとうございました!
これは広すぎるとだけ自分の試みなしでの他のコードを示す使用されるべきです。必要なデータシェイプを理解するためにドキュメントを読んでください。これを確認するには '' diabetes_X.shape'''とcoを出力してください。 numpyまたはpandas docsを読んで、numpy配列/データフレームにデータを読み込む方法について学んでください。 (それは与えられていないあなたのtxtファイルに依存し、そのファイルについてのあなたの説明は非公式です) – sascha
@サスカ私はそれをインターネット上で探しています。私は線形回帰で自分のデータを使用する方法を理解するための説明を見つけることができませんでした。すべての例では、自分の人ではないデータセットを使用しています。私はここに私のデータセットを提供することはできません。それは公開情報ではありません。私はちょうどいくつかの測定について3列のtxtファイルを持っています。私自身のデータセットをアップロードする方法についていくつかの説明があります。あなたの答えは全く役に立たない。しかし、とにかくありがとう! – Gabriela
**必要なものはすべてドキュメントに記載されています!必要な形状のためのsklearnの。次に、正しい形状の配列を作成するだけです。あなたはどうやってそれをするのかは関係ありません。 numpyとpandasの両方が読者を提供します。有益な情報を提供していないと、この質問が閉じられるのを待つ準備ができています。 (テキストベースの3列のデータセットには無数の異なるエンコーディングがあります!) – sascha