Wie gibt ich eine Matrix ein und empfangen Sie Wert (oder Array von Werten) mit maschinellem Lernen in Python?Python

Python-Programme
Anonymous
 Wie gibt ich eine Matrix ein und empfangen Sie Wert (oder Array von Werten) mit maschinellem Lernen in Python?

Post by Anonymous »

Ich habe eine Reihe von binären 8x15 -Matrixen und ich möchte bestimmen, welcher Index (Zeile und Spalte) der Matrix das Muster durchbricht.

Code: Select all

1 1 1 1 0
1 1 1 1 0
1 1 0 1 0
1 1 1 0 0
1 1 1 0 0
< /code>
Diese Matrix sollte [3, 3] zurückgeben, da diese Position das Muster des Füllens der Matrixspalte mit 1. < /p>
Das folgende Beispiel sollte zurückgeben [3, 1]: < /p>
1 1 1 1 0
1 1 1 1 0
0 1 1 0 0
1 1 1 0 0
1 1 1 0 0
< /code>
Das folgende Beispiel zeigt dieses Problem jedoch nicht, daher sollte es [-1, -1] oder etwas (Vorschläge?) zurückgeben: < /p>
1 1 1 1 0
1 1 1 1 0
1 1 1 1 0
1 1 1 1 0
1 1 1 0 0
< /code>
Wie soll ich dieses Problem mit maschinellem Lernen angehen?                      State                                  Result
0   [[0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1]...   [-1, -1]
1   [[1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1]...   [-1, -1]
2   [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]...   [-1, -1]
3   [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]...   [-1, -1]
4   [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]...   [-1, -1]
< /code>
dTypes: < /p>
State     object
Result    object
dtype: object
< /code>
Ein Eintrag des obigen Datenrahmens hätte die erste Spalte mit einem Wert wie: < /p>
[[1, 1, 1, 1, 1, 0, 0, 0],
[1, 1, 1, 1, 1, 0, 0, 0],
[1, 1, 1, 1, 1, 0, 0, 0],
[1, 1, 1, 1, 0, 0, 0, 0],
[1, 1, 1, 1, 0, 0, 0, 0],
[1, 1, 0, 1, 0, 0, 0, 0],
[1, 1, 1, 1, 0, 0, 0, 0],
[1, 1, 1, 1, 0, 0, 0, 0]]
< /code>
und seine zweite Spalte hätte den Wert [6, 3].X = states_data.drop(columns=['Result'])
y = states_data[['Result']]
< /code>
Danach habe ich versucht, DecisionTreeClassifier mit Sklearn zu verwenden, um das Problem zu lösen: < /p>
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2)
X_train = X_train.reset_index(drop=True)
X_test = X_test.reset_index(drop=True)
y_train = y_train.reset_index(drop=True)
y_test = y_test.reset_index(drop=True)

model = DecisionTreeClassifier()
model.fit(X_train, y_train)
predictions = model.predict(X_test)
predictions = pd.DataFrame(predictions, columns = ['Result'])

score = accuracy_score(y_test['Result'], predictions['Result'])
print(score)
< /code>
In dieser Zeile jedoch: < /p>
model.fit(X_train, y_train)
< /code>
Ich erhalte diesen Fehler: < /p>
TypeError: float() argument must be a string or a number, not 'list'
< /code>
Kann mir jemand helfen? Was mache ich falsch?State    object
dtype: object
< /code>
y_train.dtypes retektiert: < /p>
Result    object
dtype: object
< /code>
Beide x_train.shape und y_train.shape return: < /p>
(543, 1)

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post