126 lines
23 KiB
Plaintext
126 lines
23 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 11,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"(506, 104)\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXYAAAD8CAYAAABjAo9vAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzt3Xl8jVf+wPHPySJBEEtobE2HjmkT\nkcRWy6h9aac7SkK1NdVRRZlpqama0ZbS/iyp6nQZKgixlKJSqmjpSBGxFiWohpQIicQSWc7vjyzN\ncrPe/d7v+/W6L8m953mebx7J9577POd8j9JaI4QQwnG4WDsAIYQQpiWJXQghHIwkdiGEcDCS2IUQ\nwsFIYhdCCAcjiV0IIRyMJHYhhHAwktiFEMLBSGIXQggH42aNgzZo0ED7+flZ49BCCGG3YmNjr2it\nfcprZ5XE7ufnx/79+61xaCGEsFtKqV8q0k4uxQghhIORxC6EEA5GErsQQjgYSexCCOFgJLELIYSD\nkcQuhBAORhK7KCExMZH+vR7kt99+s3YoQogqkMQuSpg94y327vmB2TPesnYoQogqkMQuikhMTGTJ\nks/5drgnS5Ysll67EHZIErsoYvaMtxgR6EqwryvPtHaVXrsQdkgSuyiQ31t/rWPu9691RHrtQtgh\nSeyiQH5v3bdW7q+Fby0X6bULYYcksQugZG89n/TahbA/ktgFULK3nk967ULYH0nsotTeej7ptQth\nXySxi1J76/mk1y4chbNMvrPKQhvCtuz7cQ8/7Etn3g9lt+ty53+WCUgIMyk8+W5O+IfWDsdslNba\n4gdt166dlhWUhBCWlJiYiH+rFnw71IXeK3M4dvIMd911l7XDqhSlVKzWul157eRSTBmc5WNbZcl5\nEfbImSbfSWIvg7PXTCktgRs6L5LshS1ztsl3kthLITVTSk/ghs6Ls78JCtvmbJPvJLGXwpk+thlS\nVgIvfl7kTVDYMmecfCeJ3QBn+9hmSFkJvPh5+dcbrzv1m6Cwbc44+c4ko2KUUueANCAbyCrvrq2t\nj4qZMPYliFvK3N6//yJM2JaDCnnGoYdI5csfPXDshdw/hsS0HAI+y2bgwMHUOLm2yHkZtTmLFUfu\n8PNLnkXa2uOIA+F4iv8ul3jdzn5frTEqpofWOqgiB7VlzvixrThD1yOfaqWIjFxecnZqdibDA5TT\n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\n",
|
|
"text/plain": [
|
|
"<matplotlib.figure.Figure at 0x11bf1e5f8>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"training set score: 0.771865\n",
|
|
"test set score: 0.725968\n",
|
|
"training set score: 0.771686\n",
|
|
"test set score: 0.722415\n",
|
|
"training set score: 0.771863\n",
|
|
"test set score: 0.725626\n",
|
|
"--------------------\n",
|
|
"training set score: 0.771865\n",
|
|
"test set score: 0.725916\n",
|
|
"number of features used: 2\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"#!pip install mglearn\n",
|
|
"import mglearn\n",
|
|
"import sklearn\n",
|
|
"import pandas as pd\n",
|
|
"import matplotlib.pyplot as plt\n",
|
|
"import numpy as np\n",
|
|
"import IPython\n",
|
|
"\n",
|
|
"from sklearn.datasets import load_boston\n",
|
|
"boston = load_boston()\n",
|
|
"X, y = mglearn.datasets.load_extended_boston()\n",
|
|
"print(X.shape)\n",
|
|
"mglearn.plots.plot_knn_classification(n_neighbors=3)\n",
|
|
"plt.show()\n",
|
|
"\n",
|
|
"from sklearn.model_selection import train_test_split\n",
|
|
"X, y=mglearn.datasets.make_forge()\n",
|
|
"\n",
|
|
"X_train, X_test, y_train, y_test=train_test_split(X, y, random_state=0)\n",
|
|
"\n",
|
|
"from sklearn.neighbors import KNeighborsClassifier\n",
|
|
"clf=KNeighborsClassifier(n_neighbors=3)\n",
|
|
"clf.fit(X_train, y_train)\n",
|
|
"KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski')\n",
|
|
"clf.predict(X_test)\n",
|
|
"clf.score(X_test, y_test)\n",
|
|
"\n",
|
|
"from sklearn.linear_model import LinearRegression\n",
|
|
"lr=LinearRegression().fit(X_train, y_train)\n",
|
|
"\n",
|
|
"print(\"training set score: %f\" % lr.score(X_train, y_train))\n",
|
|
"print(\"test set score: %f\" % lr.score(X_test, y_test))\n",
|
|
"\n",
|
|
"from sklearn.linear_model import Ridge\n",
|
|
"ridge = Ridge().fit(X_train, y_train)\n",
|
|
"print(\"training set score: %f\" % ridge.score(X_train, y_train))\n",
|
|
"print(\"test set score: %f\" % ridge.score(X_test, y_test))\n",
|
|
"\n",
|
|
"ridge01 = Ridge(alpha=0.1).fit(X_train, y_train)\n",
|
|
"print(\"training set score: %f\" % ridge01.score(X_train, y_train))\n",
|
|
"print(\"test set score: %f\" % ridge01.score(X_test, y_test))\n",
|
|
"\n",
|
|
"print (\"--------------------\")\n",
|
|
"\n",
|
|
"from sklearn.linear_model import Lasso\n",
|
|
"lasso00001 = Lasso(alpha=0.0001).fit(X_train, y_train)\n",
|
|
"print(\"training set score: %f\" % lasso00001.score(X_train, y_train))\n",
|
|
"print(\"test set score: %f\" % lasso00001.score(X_test, y_test))\n",
|
|
"print(\"number of features used: %d\" % np.sum(lasso00001.coef_ != 0))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"collapsed": true
|
|
},
|
|
"outputs": [],
|
|
"source": []
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.6.3"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 2
|
|
}
|