{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Financial Sentiment Analysis\n", "\n", "[Dataset source](https://www.kaggle.com/datasets/sbhatti/financial-sentiment-analysis)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[33mWARNING: You are using pip version 20.1.1; however, version 22.2.2 is available.\n", "You should consider upgrading via the '/Users/andras/great-ai-interview-task/.env/bin/python -m pip install --upgrade pip' command.\u001b[0m\n", "Note: you may need to restart the kernel to use updated packages.\n" ] } ], "source": [ "!rm -f tracing_database.json\n", "%pip install --upgrade great-ai > /dev/null" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
| \n", " | Sentence | \n", "Sentiment | \n", "
|---|---|---|
| 0 | \n", "The GeoSolutions technology will leverage Bene... | \n", "positive | \n", "
| 1 | \n", "$ESI on lows, down $1.50 to $2.50 BK a real po... | \n", "negative | \n", "
| 2 | \n", "For the last quarter of 2010 , Componenta 's n... | \n", "positive | \n", "
| 3 | \n", "According to the Finnish-Russian Chamber of Co... | \n", "neutral | \n", "
| 4 | \n", "The Swedish buyout firm has sold its remaining... | \n", "neutral | \n", "
| 5 | \n", "$SPY wouldn't be surprised to see a green close | \n", "positive | \n", "
| 6 | \n", "Shell's $70 Billion BG Deal Meets Shareholder ... | \n", "negative | \n", "
| 7 | \n", "SSH COMMUNICATIONS SECURITY CORP STOCK EXCHANG... | \n", "negative | \n", "
| 8 | \n", "Kone 's net sales rose by some 14 % year-on-ye... | \n", "positive | \n", "
| 9 | \n", "The Stockmann department store will have a tot... | \n", "neutral | \n", "
| 10 | \n", "Circulation revenue has increased by 5 % in Fi... | \n", "positive | \n", "
| 11 | \n", "$SAP Q1 disappoints as #software licenses down... | \n", "negative | \n", "
| 12 | \n", "The subdivision made sales revenues last year ... | \n", "positive | \n", "
| 13 | \n", "Viking Line has canceled some services . | \n", "neutral | \n", "
| 14 | \n", "Ahlstrom Corporation STOCK EXCHANGE ANNOUNCEME... | \n", "neutral | \n", "
| 15 | \n", "$FB gone green on day | \n", "positive | \n", "
| 16 | \n", "$MSFT SQL Server revenue grew double-digit wit... | \n", "positive | \n", "
| 17 | \n", "According to L+ñnnen Tehtaat 's CEO Matti Karp... | \n", "neutral | \n", "
| 18 | \n", "The company 's share is quoted on NASDAQ OMX H... | \n", "neutral | \n", "
| 19 | \n", "Elcoteq SE is listed on the Nasdaq OMX Helsink... | \n", "neutral | \n", "
| 20 | \n", "Two of these contracts are for turntable anode... | \n", "neutral | \n", "
| 21 | \n", "Aviva, Friends Life top forecasts ahead of 5.6... | \n", "positive | \n", "
| 22 | \n", "In stead of being based on a soft drink , as i... | \n", "neutral | \n", "
| 23 | \n", "The company plans to increase the unit 's spec... | \n", "neutral | \n", "
| 24 | \n", "The company closed last year with a turnover o... | \n", "neutral | \n", "
| 25 | \n", "Shire CEO steps up drive to get Baxalta board ... | \n", "positive | \n", "
| 26 | \n", "Costco: A Premier Retail Dividend Play https:/... | \n", "positive | \n", "
| 27 | \n", "The five-storey , eco-efficient building will ... | \n", "neutral | \n", "
| 28 | \n", "The first installment of the Cinema Series con... | \n", "neutral | \n", "
| 29 | \n", "All are welcome . | \n", "neutral | \n", "
| \n", " | mean_fit_time | \n", "std_fit_time | \n", "mean_score_time | \n", "std_score_time | \n", "param_sgdclassifier__alpha | \n", "param_sgdclassifier__l1_ratio | \n", "params | \n", "split0_test_score | \n", "split1_test_score | \n", "split2_test_score | \n", "split3_test_score | \n", "mean_test_score | \n", "std_test_score | \n", "rank_test_score | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 141 | \n", "0.557538 | \n", "0.036277 | \n", "0.079557 | \n", "0.001859 | \n", "0.000139 | \n", "0.74698 | \n", "{'sgdclassifier__alpha': 0.0001386590973076251... | \n", "0.602778 | \n", "0.583447 | \n", "0.609218 | \n", "0.617713 | \n", "0.603289 | \n", "0.012621 | \n", "1 | \n", "
| 62 | \n", "0.517736 | \n", "0.017173 | \n", "0.075006 | \n", "0.008921 | \n", "0.000123 | \n", "0.633796 | \n", "{'sgdclassifier__alpha': 0.0001230949372392475... | \n", "0.603052 | \n", "0.592701 | \n", "0.595310 | \n", "0.615232 | \n", "0.601574 | \n", "0.008756 | \n", "2 | \n", "
| 44 | \n", "0.586568 | \n", "0.034125 | \n", "0.075711 | \n", "0.015189 | \n", "0.000101 | \n", "0.744511 | \n", "{'sgdclassifier__alpha': 0.0001008328469921404... | \n", "0.605709 | \n", "0.586259 | \n", "0.592400 | \n", "0.614393 | \n", "0.599690 | \n", "0.011022 | \n", "3 | \n", "
| 15 | \n", "0.503485 | \n", "0.052601 | \n", "0.076652 | \n", "0.005708 | \n", "0.000101 | \n", "0.717281 | \n", "{'sgdclassifier__alpha': 0.0001012954906445695... | \n", "0.596920 | \n", "0.590612 | \n", "0.589020 | \n", "0.608695 | \n", "0.596312 | \n", "0.007736 | \n", "4 | \n", "
| 120 | \n", "0.626889 | \n", "0.037078 | \n", "0.087496 | \n", "0.013705 | \n", "0.000104 | \n", "0.521099 | \n", "{'sgdclassifier__alpha': 0.0001043130639528788... | \n", "0.592821 | \n", "0.585763 | \n", "0.582623 | \n", "0.613523 | \n", "0.593683 | \n", "0.012036 | \n", "5 | \n", "
| 77 | \n", "0.657004 | \n", "0.020389 | \n", "0.086646 | \n", "0.021849 | \n", "0.000072 | \n", "0.869767 | \n", "{'sgdclassifier__alpha': 7.2395771533531e-05, ... | \n", "0.585078 | \n", "0.587727 | \n", "0.582360 | \n", "0.600486 | \n", "0.588913 | \n", "0.006946 | \n", "6 | \n", "
| 124 | \n", "0.458076 | \n", "0.003328 | \n", "0.081067 | \n", "0.003202 | \n", "0.000286 | \n", "0.729062 | \n", "{'sgdclassifier__alpha': 0.0002860219318437106... | \n", "0.599120 | \n", "0.565035 | \n", "0.583109 | \n", "0.604000 | \n", "0.587816 | \n", "0.015255 | \n", "7 | \n", "
| 4 | \n", "0.423889 | \n", "0.014550 | \n", "0.070364 | \n", "0.010887 | \n", "0.00034 | \n", "0.793499 | \n", "{'sgdclassifier__alpha': 0.0003401382442436040... | \n", "0.574158 | \n", "0.551240 | \n", "0.580991 | \n", "0.593687 | \n", "0.575019 | \n", "0.015414 | \n", "8 | \n", "
| 113 | \n", "0.428109 | \n", "0.023082 | \n", "0.083129 | \n", "0.010922 | \n", "0.00044 | \n", "0.682686 | \n", "{'sgdclassifier__alpha': 0.0004397417391475943... | \n", "0.560192 | \n", "0.534955 | \n", "0.567035 | \n", "0.556430 | \n", "0.554653 | \n", "0.011991 | \n", "9 | \n", "
| 51 | \n", "0.376192 | \n", "0.008471 | \n", "0.073243 | \n", "0.005655 | \n", "0.000497 | \n", "0.624651 | \n", "{'sgdclassifier__alpha': 0.0004970440243574691... | \n", "0.556448 | \n", "0.525659 | \n", "0.557745 | \n", "0.535856 | \n", "0.543927 | \n", "0.013662 | \n", "10 | \n", "
| 65 | \n", "0.403297 | \n", "0.019218 | \n", "0.081735 | \n", "0.008557 | \n", "0.000654 | \n", "0.790485 | \n", "{'sgdclassifier__alpha': 0.0006536354435155366... | \n", "0.494568 | \n", "0.494890 | \n", "0.521074 | \n", "0.498299 | \n", "0.502208 | \n", "0.010990 | \n", "11 | \n", "
| 43 | \n", "0.376818 | \n", "0.015721 | \n", "0.082944 | \n", "0.011949 | \n", "0.000687 | \n", "0.72785 | \n", "{'sgdclassifier__alpha': 0.0006872056831731454... | \n", "0.486892 | \n", "0.480204 | \n", "0.518121 | \n", "0.490073 | \n", "0.493823 | \n", "0.014474 | \n", "12 | \n", "
| 136 | \n", "0.430972 | \n", "0.022091 | \n", "0.081294 | \n", "0.013143 | \n", "0.000752 | \n", "0.677539 | \n", "{'sgdclassifier__alpha': 0.0007522879894549428... | \n", "0.465951 | \n", "0.465331 | \n", "0.504155 | \n", "0.483493 | \n", "0.479732 | \n", "0.015874 | \n", "13 | \n", "
| 9 | \n", "0.372205 | \n", "0.012770 | \n", "0.073653 | \n", "0.008134 | \n", "0.000817 | \n", "0.83729 | \n", "{'sgdclassifier__alpha': 0.0008166269999644726... | \n", "0.458828 | \n", "0.454415 | \n", "0.487819 | \n", "0.471793 | \n", "0.468214 | \n", "0.012997 | \n", "14 | \n", "
| 13 | \n", "0.365807 | \n", "0.025005 | \n", "0.069653 | \n", "0.006056 | \n", "0.000875 | \n", "0.858839 | \n", "{'sgdclassifier__alpha': 0.0008750004969715541... | \n", "0.454365 | \n", "0.440285 | \n", "0.477297 | \n", "0.459960 | \n", "0.457977 | \n", "0.013260 | \n", "15 | \n", "
| 82 | \n", "0.377183 | \n", "0.020059 | \n", "0.080263 | \n", "0.004296 | \n", "0.000866 | \n", "0.681585 | \n", "{'sgdclassifier__alpha': 0.0008664113622514768... | \n", "0.451383 | \n", "0.437788 | \n", "0.470605 | \n", "0.458012 | \n", "0.454447 | \n", "0.011839 | \n", "16 | \n", "
| 99 | \n", "0.402863 | \n", "0.014800 | \n", "0.080705 | \n", "0.008275 | \n", "0.000934 | \n", "0.885396 | \n", "{'sgdclassifier__alpha': 0.0009337381961170587... | \n", "0.444663 | \n", "0.433931 | \n", "0.469451 | \n", "0.456795 | \n", "0.451210 | \n", "0.013279 | \n", "17 | \n", "
| 109 | \n", "0.390509 | \n", "0.021212 | \n", "0.075047 | \n", "0.010354 | \n", "0.000909 | \n", "0.618578 | \n", "{'sgdclassifier__alpha': 0.0009094221175006189... | \n", "0.441668 | \n", "0.426130 | \n", "0.465321 | \n", "0.448866 | \n", "0.445496 | \n", "0.014090 | \n", "18 | \n", "
| 91 | \n", "0.398750 | \n", "0.011765 | \n", "0.083176 | \n", "0.008070 | \n", "0.000965 | \n", "0.735892 | \n", "{'sgdclassifier__alpha': 0.0009645020235766322... | \n", "0.431957 | \n", "0.419680 | \n", "0.456291 | \n", "0.442121 | \n", "0.437512 | \n", "0.013442 | \n", "19 | \n", "
| 19 | \n", "0.340692 | \n", "0.017618 | \n", "0.075392 | \n", "0.015913 | \n", "0.00109 | \n", "0.572366 | \n", "{'sgdclassifier__alpha': 0.0010901894985476288... | \n", "0.418186 | \n", "0.405171 | \n", "0.432716 | \n", "0.422689 | \n", "0.419690 | \n", "0.009896 | \n", "20 | \n", "
Pipeline(steps=[('tfidfvectorizer',\n",
" TfidfVectorizer(max_df=0.3, min_df=5, ngram_range=(1, 3),\n",
" sublinear_tf=True)),\n",
" ('sgdclassifier',\n",
" SGDClassifier(alpha=0.0001386590973076251,\n",
" l1_ratio=0.7469804305005836, max_iter=100000,\n",
" penalty='elasticnet', tol=1e-05))])In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. Pipeline(steps=[('tfidfvectorizer',\n",
" TfidfVectorizer(max_df=0.3, min_df=5, ngram_range=(1, 3),\n",
" sublinear_tf=True)),\n",
" ('sgdclassifier',\n",
" SGDClassifier(alpha=0.0001386590973076251,\n",
" l1_ratio=0.7469804305005836, max_iter=100000,\n",
" penalty='elasticnet', tol=1e-05))])TfidfVectorizer(max_df=0.3, min_df=5, ngram_range=(1, 3), sublinear_tf=True)
SGDClassifier(alpha=0.0001386590973076251, l1_ratio=0.7469804305005836,\n",
" max_iter=100000, penalty='elasticnet', tol=1e-05)