Разделить по столбцам (объекту)

http://css-tricks.com/understanding-border-image/

См. сведения об ошибках браузера. Кроме того, я не вижу нигде, где говорится, что вы можете использовать полные свойства на изображении справа на границе?

0
задан josepmaria 27 March 2019 в 19:12
поделиться

2 ответа

from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression

df = pd.DataFrame({
        'Country': ['AB', 'CD', 'EF', 'FG']*20,
        'ColumnA' : [1]*20*4,'ColumnB' : [10]*20*4, 'Label': [1,0,1,0]*20
    })

df['Country_Code'] = df['Country'].astype('category').cat.codes

X = df.loc[:, df.columns.drop(['Label','Country'])]
y = df['Label']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0, stratify=df.Country_Code)
lm = LinearRegression()
lm.fit(X_train,y_train)
lm_predictions = lm.predict(X_test)
  • Преобразовать строковые значения в country в числа и сохранить их как новый столбец
  • При создании x отбрасывание данных поезда label (y), а также строка country столбцов

Метод 2

Если ваши тестовые данные, по которым вы будете делать прогнозы, появятся позже, вам понадобится механизм для преобразования их country в [ 118], прежде чем делать прогнозы. В таких случаях рекомендуется использовать метод LabelEncoder, для которого можно использовать метод fit для кодирования строк в метках, а затем использовать transform для кодирования страны тестовых данных.

from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn import preprocessing

df = pd.DataFrame({
        'Country': ['AB', 'CD', 'EF', 'FG']*20,
        'ColumnA' : [1]*20*4,'ColumnB' : [10]*20*4, 'Label': [1,0,1,0]*20
    })

# Train-Validation 
le = preprocessing.LabelEncoder()
df['Country_Code'] = le.fit_transform(df['Country'])
X = df.loc[:, df.columns.drop(['Label','Country'])]
y = df['Label']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0, stratify=df.Country_Code)
lm = LinearRegression()
lm.fit(X_train,y_train)

# Test
test_df = pd.DataFrame({'Country': ['AB'], 'ColumnA' : [1],'ColumnB' : [10] })
test_df['Country_Code'] = le.transform(test_df['Country'])
print (lm.predict(test_df.loc[:, test_df.columns.drop(['Country'])]))
0
ответ дан mujjiga 27 March 2019 в 19:12
поделиться

При воспроизведении вашего кода я обнаружил, что ошибка возникает из-за попытки подгонки модели линейной регрессии к набору функций, включающему строки. Этот ответ дает вам несколько вариантов того, что делать. Я бы предложил использовать X_train, X_test = pd.get_dummies(X_train.Country), pd.get_dummies(X_test.Country) для быстрого кодирования ваших стран после выполнения train_test_split () для сохранения баланса классов, который вы ищете.

0
ответ дан tjeffkessler 27 March 2019 в 19:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: